This guide is for testing and evaluation purposes only and is not intended for production deployments. Please reach out to us at support@openops.com if you’d like to learn how to set up OpenOps in a production environment.
Initial deployment
Create a new EC2 instance
- On the EC2 home page, click Launch Instance:
- Choose a name for your instance and configure the following settings:
- Application and OS Images (Amazon Machine Image)
- Choose Ubuntu as the instance image, as it simplifies Docker installation. Ubuntu Server 24.04 LTS was the latest available version when this guide was written.
- Keep 64-bit (x86) as the instance architecture.
- Instance Type. The t3.large instance type provides decent performance. You can choose a different type according to your needs, but it’s not recommended to select a size smaller than t3.medium.
- Key Pair. Creating a new SSH key pair is recommended but not mandatory.
- Network Settings. Allow SSH traffic from your own IP address:
- Configure Storage. Choose 50GB to ensure you have enough space for Docker images and databases.
- Application and OS Images (Amazon Machine Image)
- Launch the instance and navigate to it once it’s created by clicking on the instance ID.
- Configure the network settings and open the necessary ports. Under Security, click on the security group.
Click Edit inbound rules, then Add rule, and add two rules:- In the first rule, for Type, choose HTTP, and under Source, select My IP.
- In the second rule, for Type, choose SSH. Click the text box next to Source, and select the prefix list that contains the words “ec2-instance-connect”. The full name should be similar to
com.amazonaws.us-east-1.ec2-instance-connect
, depending on your region. This allows you to connect to the instance via AWS CloudShell. The final rules should look like this:
- Click Save rules to finish the configuration.
Connect to the instance with CloudShell
- Navigate to your EC2 instance and click Connect to open an in-browser CloudShell session.
- Click Connect and wait for CloudShell to initialize.
Install OpenOps
Run the following command in your terminal to install, update, configure and run OpenOps:http://20.20.20.20
).
External databases
To use external PostgreSQL or Redis databases, modify the relevant variables in the.env
file. You can disable the corresponding containers by adding a profile in the docker-compose.yml
file:

Enabling TLS
For production usage, it’s recommended to enable TLS (HTTPS). In addition to the security aspect, this also ensures that workflow templates load properly in all browsers. The easiest way to enable TLS is to use an OpenOps script that requests and sets up a TLS certificate from Let’s Encrypt. Before running the script, make sure you have a domain name that points to your ‘s external IP address. If you’re configuring DNS right before running the script, you may need to wait for the DNS change to propagate.- Run the following command in your terminal:
- When prompted, enter a domain name that points to the external IP address of your .
- When prompted, enter an email address to receive certificate-related notifications from Let’s Encrypt.