Listing Thumbnail

    Apache TomEE - Hardened Jakarta EE Full Profile Application Server

     Info
    Sold by: Lynxroute 
    Deployed on AWS
    Free Trial
    This product has charges associated with it for hardening, security configuration, and support. Apache TomEE is Apache Tomcat with the full Jakarta EE 10 stack layered on top - Enterprise Beans, CDI, Persistence, RESTful and SOAP Web Services, Messaging and Faces - running as a single JVM process with no external database. This Lynxroute build is hardened and ready out of the box: the HTTP connector is bound to loopback behind an nginx TLS perimeter on 443, the Manager and Host-Manager apps are blocked at the perimeter and protected by a password generated at first boot, only the required listeners are enabled, the JVM heap is sized from your instance RAM, UFW firewall pre-configured, and a CIS Level 1 hardened Ubuntu 24.04 LTS base. Apache-2.0 license - fully auditable, no vendor lock-in.

    Overview

    This is a repackaged software product wherein additional charges apply for hardening, security configuration, and support.

    WHAT IS APACHE TOMEE

    Apache TomEE is the Apache Software Foundation's Jakarta EE application server: Apache Tomcat at its core, with the enterprise APIs assembled on top that Tomcat alone does not provide. It implements the Jakarta EE 10 specifications - Enterprise Beans for transactional business logic, Contexts and Dependency Injection for wiring, Persistence for object-relational mapping, RESTful and SOAP Web Services, Messaging, Faces for server-side UI, and Bean Validation. Applications deploy as ordinary WAR or EAR archives. This image ships the official Plume distribution (the full profile, built on EclipseLink for Persistence and Mojarra for Faces), verified against the upstream SHA-512 checksum and running on OpenJDK 17 as a non-root service. One JVM process, no external database, cache tier or container runtime. Apache-2.0 license, no vendor lock-in.

    WHAT THIS AMI ADDS

    Security hardening:

    • HTTP connector bound to 127.0.0.1:8080 (loopback only); nginx terminates TLS on port 443 and reverse-proxies to it - port 8080 is never exposed
    • Manager and Host-Manager webapps are never reachable from the internet: nginx returns 403 at the perimeter, and TomEE additionally restricts them to localhost connections
    • Manager admin password generated uniquely at first launch, written to /root/tomee-credentials.txt (mode 600) - nothing is baked into the image
    • Only the required listeners are enabled - the AJP connector and the secondary HTTPS connector remain disabled
    • The bundled message broker binds no TCP listener until an application configures one
    • Runs as a non-root tomee system user with UMask 0027
    • JVM heap (-Xms/-Xmx) sized from the instance RAM at first launch
    • UFW firewall pre-configured (only ports 22, 80 and 443 open; 80 serves the HTTPS redirect and certificate renewal)
    • certbot pre-installed - one command swaps the self-signed certificate for a CA-signed one
    • CVE scan - every image is scanned for vulnerabilities before release

    OS hardening (CIS Level 1):

    • CIS Ubuntu 24.04 LTS Level 1 benchmark applied via ansible-lockdown
    • auditd, fail2ban, AppArmor, SSH key-only, kernel hardening, IMDSv2 enforced

    Compliance artifacts:

    • SBOM - CycloneDX 1.6 at /etc/lynxroute/sbom.json
    • CIS Conformance Report at /etc/lynxroute/cis-report.html
    • CIS Tailored Profile at /usr/share/doc/lynxroute/CIS_TAILORED_PROFILE.md
    • Jakarta EE verification application at /usr/share/lynxroute/tomee-sample.war - shipped but not deployed, so you can confirm the enterprise stack works on your own instance in one command

    Highlights

    • TomEE security baked in: the HTTP connector is bound to loopback behind an nginx TLS perimeter on 443, the Manager and Host-Manager apps are blocked at the perimeter and protected by a password generated at first launch, only the required listeners are enabled, and the server runs as a non-root user with the JVM heap sized from your instance RAM.
    • CIS Level 1 hardened Ubuntu 24.04 LTS: auditd, fail2ban, AppArmor, SSH key-only, IMDSv2 enforced. CVE-scanned before every release. SBOM (CycloneDX) and CIS Conformance Report included.
    • Full Jakarta EE 10 profile on OpenJDK 17: Enterprise Beans, CDI, Persistence, REST, SOAP, Messaging and Faces in one JVM process. Drop a WAR or EAR into /opt/tomee/webapps to deploy. Apache-2.0 license - fully auditable, no vendor lock-in.

    Details

    Delivery method

    Delivery option
    64-bit (x86) Amazon Machine Image (AMI)

    Latest version

    Operating system
    Ubuntu 24.04

    Deployed on AWS
    New

    Introducing multi-product solutions

    You can now purchase comprehensive solutions tailored to use cases and industries.

    Multi-product solutions

    Features and programs

    Financing for AWS Marketplace purchases

    AWS Marketplace now accepts line of credit payments through the PNC Vendor Finance program. This program is available to select AWS customers in the US, excluding NV, NC, ND, TN, & VT.
    Financing for AWS Marketplace purchases

    Pricing

    Free trial

    Try this product free for 5 days according to the free trial terms set by the vendor. Usage-based pricing is in effect for usage beyond the free trial terms. Your free trial gets automatically converted to a paid subscription when the trial ends, but may be canceled any time before that.

    Apache TomEE - Hardened Jakarta EE Full Profile Application Server

     Info
    Pricing is based on actual usage, with charges varying according to how much you consume. Subscriptions have no end date and may be canceled any time.
    Additional AWS infrastructure costs may apply. Use the AWS Pricing Calculator  to estimate your infrastructure costs.

    Usage costs (4)

     Info
    Dimension
    Cost/hour
    t3.medium
    Recommended
    $0.05
    t3.large
    $0.05
    t3.small
    $0.03
    m6i.large
    $0.05

    Vendor refund policy

    We do not offer refunds for this product. AWS infrastructure charges (EC2, EBS, data transfer) are billed separately by AWS and are not refundable by us.

    How can we make this page better?

    Tell us how we can improve this page, or report an issue with this product.
    Tell us how we can improve this page, or report an issue with this product.

    Legal

    Vendor terms and conditions

    Upon subscribing to this product, you must acknowledge and agree to the terms and conditions outlined in the vendor's End User License Agreement (EULA) .

    Content disclaimer

    Vendors are responsible for their product descriptions and other product content. AWS does not warrant that vendors' product descriptions or other product content are accurate, complete, reliable, current, or error-free.

    Usage information

     Info

    Delivery details

    64-bit (x86) Amazon Machine Image (AMI)

    Amazon Machine Image (AMI)

    An AMI is a virtual image that provides the information required to launch an instance. Amazon EC2 (Elastic Compute Cloud) instances are virtual servers on which you can run your applications and workloads, offering varying combinations of CPU, memory, storage, and networking resources. You can launch as many instances from as many different AMIs as you need.

    Version release notes

    Apache TomEE 10.2.0 - Initial release (August 2026)

    • Apache TomEE 10.2.0 Plume on Ubuntu 24.04 LTS (OpenJDK 17, full Jakarta EE 10 profile)
    • CIS Level 1 hardening applied (ansible-lockdown/UBUNTU24-CIS)
    • CVE-scanned before every release
    • HTTP connector bound to 127.0.0.1:8080; nginx terminates TLS on port 443
    • Manager / Host-Manager never exposed on the public perimeter; admin password generated at first launch
    • Only the required listeners enabled; the bundled message broker opens no TCP port by default
    • Runs as a non-root tomee user (UMask 0027); JVM heap sized from the instance RAM at first launch
    • Jakarta EE verification application included at /usr/share/lynxroute/tomee-sample.war (not deployed)
    • certbot pre-installed for CA-signed TLS certificates
    • UFW firewall pre-configured (ports 22, 80, 443 only)
    • fail2ban, auditd, AppArmor pre-configured
    • SBOM (CycloneDX 1.6) at /etc/lynxroute/sbom.json
    • CIS Conformance Report (OpenSCAP) at /etc/lynxroute/cis-report.html
    • IMDSv2 enforced

    Additional details

    Usage instructions

    1. Launch instance (t3.medium recommended; t3.small minimum)
    2. Open Security Group - allow TCP 443 from your IP (and TCP 80 if you plan to request a CA-signed certificate)
    3. SSH: ssh -i key.pem ubuntu@<PUBLIC_IP>
    4. Read credentials: sudo cat /root/tomee-credentials.txt
    5. Open https://<PUBLIC_IP>/ in your browser - accept the self-signed certificate warning. The default TomEE landing page is served over TLS.
    6. Confirm the Jakarta EE stack with the bundled sample application: sudo install -o tomee -g tomee -m 0640 /usr/share/lynxroute/tomee-sample.war /opt/tomee/webapps/sample.war curl -k https://<PUBLIC_IP>/sample/api/hello It answers {"status":"ok","ejb":"jakarta-ee-ok"} - a REST resource backed by a CDI-injected stateless session bean, so a reply confirms the REST, CDI and Enterprise Beans containers are all working. Remove it when done: sudo rm -rf /opt/tomee/webapps/sample.war /opt/tomee/webapps/sample
    7. Deploy your own application: copy a .war or .ear into /opt/tomee/webapps/ (for example myapp.war auto-deploys), then browse https://<PUBLIC_IP>/myapp/
    8. Manage the server via the Manager app (bound to localhost, never exposed on 443) over an SSH tunnel: ssh -i key.pem -L 8080:127.0.0.1:8080 ubuntu@<PUBLIC_IP> open http://127.0.0.1:8080/manager/html  (user admin, password from the credentials file)

    The HTTP connector is bound to 127.0.0.1:8080; nginx terminates TLS on port 443 and reverse-proxies to it. The Manager admin password is generated at first launch and saved to /root/tomee-credentials.txt. The JVM heap is sized automatically from the instance RAM.

    To check the TomEE version the server itself reports: sudo /usr/local/sbin/tomee-version.sh (The bundled /opt/tomee/bin/version.sh leads with the embedded Apache Tomcat version, which is a different number.)

    Replace the self-signed TLS certificate with a CA-signed certificate for production use: sudo certbot --nginx -d yourdomain.com Certificate issuance and renewal need inbound TCP 80 reachable, so allow it in the Security Group first.

    Resources

    Vendor resources

    Support

    Vendor support

    Visit us online: https://lynxroute.com 

    For TomEE documentation:

    AWS infrastructure support

    AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.

    Similar products

    Customer reviews

    Ratings and reviews

     Info
    0 ratings
    5 star
    4 star
    3 star
    2 star
    1 star
    0%
    0%
    0%
    0%
    0%
    0 reviews
    No customer reviews yet
    Be the first to review this product . We've partnered with PeerSpot to gather customer feedback. You can share your experience by writing or recording a review, or scheduling a call with a PeerSpot analyst.