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 VM instance
- In the Google Cloud Console, navigate to Compute Engine → VM instances.
- Click Create Instance.
- Enter a name for your virtual machine.
- Under Machine configuration, configure the following:
- Region and zone: Choose a region and zone close to your users (e.g.,
us-east1-b
). - Series: Choose any recommended series (e.g., E2) or another family you prefer.
- Machine type: Choose a machine size similar to e2-standard-2 or larger. Avoid very small machines, as OpenOps may need additional CPU/RAM for running Docker containers smoothly.
- Region and zone: Choose a region and zone close to your users (e.g.,
- Under OS and storage:
- Click Change.
- Select Ubuntu as the operating system (Ubuntu 24.04 LTS if available, or a close alternative).
- Increase the Size to at least 50GB to accommodate Docker images and databases.
- Click Select.
- Under Networking, check Allow HTTP traffic. This will automatically create a firewall rule to open port 80.
- Leave other settings as defaults (or adjust according to your preferences), then click Create to launch the VM.
Configure firewall for SSH and HTTP
Depending on your project settings, a default firewall rule might already allow SSH access. By checking Allow HTTP traffic while creating the instance, HTTP (port 80) is also open. If you need to adjust or review these rules:- In the VPC network menu, go to Firewall.
- Locate or create firewall rules for:
- SSH (TCP/22) from your IP or a limited source range.
- HTTP (TCP/80) for public access or your desired source range.
Connect to the instance
- Once your VM is running, go to the VM instances list.
- Click SSH next to your instance to open an in-browser terminal.
Install OpenOps
Run the following command in your terminal to install, update, configure and run OpenOps:http://<YOUR_EXTERNAL_IP>
).
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, for example:
db
profile in .env
or in Docker Compose, that container won’t start.
After making any changes to the .env
file, restart the OpenOps containers:
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.