Overview
This AMI runs the Temporal server, its Web UI and PostgreSQL 17 on Ubuntu 24.04 LTS, as a single-node Temporal cluster. The official images temporalio/server (1.32.2), temporalio/admin-tools (1.32.2) and temporalio/ui (2.58.0) are pinned, with PostgreSQL 17.11, and baked into the AMI, so first start does not depend on a registry. Temporal is an independent open-source project and Perimattic is not affiliated with Temporal Technologies; product names are trademarks of their respective owners.
Why Temporal?
Temporal runs durable workflows: your code (written with the Temporal SDKs for Go, Java, Python, TypeScript, .NET and others) keeps its state across crashes and deploys, with retries, timers, signals, schedules and a Web UI to inspect every execution.
What Perimattic adds
Temporal has no authentication of its own, neither on its gRPC API nor in its Web UI, so this image does not publish either one openly. The Web UI is served by Apache over HTTPS behind HTTP Basic authentication (user admin and a random 24-character password generated on your server, stored only as an Apache hash). The gRPC frontend (port 7233) listens on the loopback interface only and is never proxied: your workers and clients reach it through an SSH tunnel (ssh -N -L 7233:127.0.0.1:7233 ubuntu@your-server), so only people who can SSH to the server can use it. Setup checks that the gRPC port answers on loopback and not on the server's own network address, and the tests check that the UI refuses requests without the password.
Set up for you: setup creates Temporal's two databases and schemas (the server image does not), starts the server and UI, and creates the default namespace with 72 hours of retention. The server runs with 4 history shards and one task-queue partition per queue (conservative for one node); dynamic configuration is in /opt/app/dynamicconfig/docker.yaml. The Temporal CLI is available on the server: sudo docker compose exec temporal-admin-tools temporal operator cluster health. The server's version check and the UI's news fetch are off.
HTTPS: Apache is configured as a reverse proxy and a free Let's Encrypt certificate is requested for your domain with certbot. PostgreSQL is reachable only inside the Docker network.
Patched base: Ubuntu 24.04 LTS built through an automated EC2 Image Builder pipeline, with security updates applied at build time.
What you should know
This is a single-node install. The number of history shards is fixed when the cluster is created (4 here) and cannot be changed later, so it suits development, small and moderate workloads, not a large production cluster. Anyone who can reach port 7233 can start, signal and terminate workflows: if you open it to a network you must add mutual TLS or an authorizer yourself first. Anyone with the Web UI password can use the UI's start, signal, terminate and reset actions.
Temporal is light at idle: about 135 MB of memory for the server, 30 MB for the Web UI, 110 to 150 MB for PostgreSQL and 80 to 110 MB for the idle CLI container in our tests, and the full stack passed all tests on a t3.small (2 GB), which is the recommended starting size; busy clusters need more.
Licence
The Temporal server, its CLI tools and the Temporal Web UI are released under the MIT licence; this AMI runs the unmodified upstream images, whose source is at github.com/temporalio/temporal and github.com/temporalio/ui. PostgreSQL is released under the PostgreSQL License.
Getting Started Launch the AMI and open ports 22, 80 and 443 in the security group (not 7233) SSH in and answer the setup prompts (domain and admin email) Open https://your-domain and sign in as admin with the password printed at the end of setup Open an SSH tunnel to port 7233 and point your workers at 127.0.0.1:7233, namespace default
A domain name with an A record pointing at the instance is required, because the site is served over HTTPS.
This AMI is built and supported by Perimattic.
Book a free setup consultation at https://cal.com/gaurav-pareek-perimattic/marketplace-setup-consultations or email us at aws-support@perimattic.com .
Support Managed and supported by Perimattic, a cloud infrastructure company with 13+ years of experience serving global clients. We offer free setup assistance, custom integrations, infrastructure consulting, and 24/7 support.
Highlights
- Temporal 1.32.2 with Web UI 2.58.0 (MIT) and PostgreSQL 17.11, pinned and pre-installed: durable workflows on a single node, schemas and the default namespace created for you.
- Safe by default: the Web UI is behind HTTPS and a generated password; the unauthenticated gRPC port 7233 listens on loopback only and is reached through an SSH tunnel; nothing is open to the internet except 22, 80 and 443.
- Built on patched Ubuntu 24.04 LTS and supported by Perimattic: free setup assistance at aws-support@perimattic.com.
Details
Introducing multi-product solutions
You can now purchase comprehensive solutions tailored to use cases and industries.
Features and programs
Financing for AWS Marketplace purchases
Pricing
- ...
Dimension | Cost/hour |
|---|---|
t3.small Recommended | $0.03 |
t3.micro | $0.03 |
c3.2xlarge | $0.03 |
c3.4xlarge | $0.03 |
c3.8xlarge | $0.03 |
c3.large | $0.03 |
c3.xlarge | $0.03 |
c4.2xlarge | $0.03 |
c4.4xlarge | $0.03 |
c4.8xlarge | $0.03 |
Vendor refund policy
For any questions or concerns, please contact: Perimattic.com Email: aws-support@perimattic.com
How can we make this page better?
Legal
Vendor terms and conditions
Content disclaimer
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
Initial release.
- Application: Temporal 1.32.2 (container image pinned, baked into the AMI).
- Base: Ubuntu 24.04 LTS, fully patched at build time, built by an automated EC2 Image Builder pipeline.
- TLS: Apache reverse proxy with a Let's Encrypt certificate requested by certbot at first login.
- Credentials are generated on the instance at first login; none are present in the image.
- A random 24-character Web UI password is generated at first login and stored as an Apache password hash; the Web UI is served only through Apache behind HTTP Basic authentication; the gRPC frontend (7233) is published on 127.0.0.1 only and is not proxied (checked at setup and in the tests).
- Application: Temporal server and admin-tools 1.32.2 and Temporal UI 2.58.0 (MIT, unmodified official images) with PostgreSQL 17.11 (all pinned). Single node, 4 history shards, default namespace with 72 hours of retention; the server version check and the UI news fetch are off.
- Temporal itself has no authentication: access to the gRPC API is through an SSH tunnel to 127.0.0.1:7233.
- Database: reachable only inside the Docker network.
Additional details
Usage instructions
-
Launch an Instance
From AWS Marketplace, click Continue to Subscribe and then Continue to Configuration to launch the AMI.
-
Choose the Recommended Instance Type
t3.small (2 GB of memory) is the recommended starting size: the full stack passed all tests on it (server about 135 MB, Web UI about 30 MB, PostgreSQL 110 to 150 MB). Choose t3.medium or larger for busy clusters. Do not open port 7233 in the security group.
-
Configure Security Group
Allow inbound traffic on the following ports:
- 22 (SSH) - terminal access for setup
- 80 (HTTP) - needed to validate your domain for the TLS certificate
- 443 (HTTPS) - access to Temporal
-
Point a domain at the instance
Create a DNS A record (for example temporal.example.com) pointing to the instance's public IP before you log in.
-
Connect to the Instance
ssh -i <your-key.pem> ubuntu@<public-ip>
-
First-Login Setup
The first SSH login runs a guided setup:
- Prompts for your domain and admin email and checks the DNS A record
- Generates a random 24-character Web UI password and a database password on your server
- Starts PostgreSQL, creates Temporal's two databases and schemas, starts the server and the Web UI, and creates the default namespace (72 hours of retention)
- Stores the Web UI password as an Apache hash and checks that the gRPC port answers on loopback and not on the server's network address
- Configures Apache as an HTTPS reverse proxy with password protection and requests a Let's Encrypt certificate
- Prints the URL and the credentials; they are also stored in /opt/app/access.txt (root only)
If a step fails, fix the problem shown and log in again: the setup resumes where it stopped.
-
Access Temporal
Open https://<your-domain> and sign in as admin with the generated password (view it again with: sudo cat /opt/app/access.txt). For workers and clients, open a tunnel: ssh -N -L 7233:127.0.0.1:7233 ubuntu@<server>.
-
Credentials
Generated on your server, never shared between customers. View them again with:
sudo cat /opt/app/access.txt
-
Manage the Services
cd /opt/app sudo docker compose ps sudo docker compose restart
Workflow histories are in the PostgreSQL database in /opt/app/postgres: back up all of /opt/app or snapshot the volume before upgrades. Temporal has no authentication of its own: the Web UI is behind Basic authentication and the gRPC port 7233 listens on 127.0.0.1 only; keep it that way and use an SSH tunnel, or add mutual TLS or an authorizer first. This is a single-node install with 4 history shards (fixed at creation).
Thank you for subscribing.
Need Support or Customization? Perimattic's team can help with setup issues, custom features and integrations:
Email us: aws-support@perimattic.com WhatsApp: +91-92142 66896 Learn more: <www.perimattic.com >
We offer free setup assistance, custom development and integrations, and infrastructure consulting.
Resources
Support
Vendor support
Support by Perimattic
Perimattic provides 24/7 support for all AWS Marketplace products. Our team has 13+ years of cloud infrastructure expertise serving global clients.
Contact Channels: Email: aws-support@perimattic.com WhatsApp: +91-92142 66896 Website: <www.perimattic.com >
What We Help With: Initial setup and configuration assistance (free) Troubleshooting connectivity, performance, and backup issues Custom development and integrations Infrastructure consulting and architecture review Migration planning from other solutions Automation solutions and scaling guidance
Instance Sizing Guidance: t2.medium or t3.medium: Development environments, small applications m5.large: Production workloads with moderate traffic m5.xlarge: High-traffic production deployments and larger datasets
For workload-specific sizing recommendations, contact our team for a free consultation.
Refunds and Issues: If you experience any issues or need to request a refund, contact us at aws-support@perimattic.com and we will respond promptly.
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
