| title | Local Deployment |
|---|---|
| description | Deploy OpenOps on your local machine |
| icon | laptop-code |
import AutoInstall from '/snippets/auto-install.mdx' import HostValidation from '/snippets/host-validation.mdx'; import JoinCommunity from '/snippets/join-community.mdx' import RestartContainers from '/snippets/restart-containers.mdx'; import UpdateCredentials from '/snippets/env-update-credentials.mdx'; import UpdateLink from '/snippets/update-link.mdx';
This guide explains how to install the OpenOps docker-compose release on a local machine. Note that these settings are for testing purposes only and not for a production environment.
Before following the instructions, make sure that your machine meets the system requirements for OpenOps.
This script supports macOS, Ubuntu and Windows (via WSL2 Ubuntu).
If you can't use the autoinstall script, follow the manual installation steps for your operating system below.
### On macOS- Install Docker Desktop by following these instructions.
- Open a new terminal window and run the following command to create a folder and download the OpenOps release files:
mkdir -p openops && cd openops && \ curl -OL https://github.com/openops-cloud/openops/releases/download/0.6.19/openops-dc-0.6.19.zip && \ unzip openops-dc-0.6.19.zip && cp -n .env.defaults .env
- Pull the images and run
docker compose:If you face a rate limit while downloading, run the command again.COMPOSE_PARALLEL_LIMIT=4 docker compose pull docker compose up -d
You can now access the application by navigating to http://localhost.
### On Ubuntu ServerThis procedure has been tested on Ubuntu Server 24.04.
- During the Ubuntu Server installation, select Docker to be added to the installation. If you need to install Docker later, follow the instructions here.
- Log in to your server and run the following commands to create a folder and download the OpenOps release files:
# create and change directory mkdir -p openops && cd openops # download the release file curl -OL https://github.com/openops-cloud/openops/releases/download/0.6.19/openops-dc-0.6.19.zip # refresh package lists sudo apt update # install unzip sudo apt install unzip # decompress release file unzip openops-dc-0.6.19.zip # copy the defaults to env without overwriting existing files cp --update=none .env.defaults .env
- Identify your own IP address:
The output should look something like this:
# find IP address ip -o -4 addr show | awk '{print $2, $4}'
In this case, the IP address islo 127.0.0.1/8 # loopback network interface - not here enp1s0 192.168.1.50/24 # this looks more like it. We want this inet IP address without the subnet mask: 192.168.1.50 docker0 172.17.0.1/16 # docker network interface - not here
192.168.1.50. - In the
.envfile, find theOPS_PUBLIC_URLvariable and replace its value,http://localhost, with the IP address that you've previously identified. In our example, the IP address would behttp://192.168.1.50. - Pull the images and run
docker compose:If you face a rate limit while downloading, run the command again.# download the docker volumes and images COMPOSE_PARALLEL_LIMIT=4 sudo docker compose pull # launch the application sudo docker compose up -d
- Install Docker Desktop by following these instructions.
- Add a new folder for OpenOps in your PowerShell console:
New-Item -ItemType Directory -Force -Path openops Set-Location openops
- Download the OpenOps release files:
Invoke-WebRequest -Uri "https://github.com/openops-cloud/openops/releases/download/0.6.19/openops-dc-0.6.19.zip" Expand-Archive -Path "openops-dc-0.6.19.zip" -DestinationPath . if (-Not (Test-Path ".env")) { Copy-Item ".env.defaults" ".env" }
- Run
docker compose:If you face a rate limit while downloading, run the command again.$env:COMPOSE_PARALLEL_LIMIT = "4" docker compose pull docker compose up -d
On localhost, cloud templates may not be able to load when using the Safari browser.
If you would like to run a workflow that uses Slack approvals in a local installation, you should set the following variable in your .env file:
OPS_SLACK_ENABLE_INTERACTIONS=falseThis will open a new tab in your default browser when you approve or reject an action. You can safely close the tab after the action is completed.
After updating your .env file, restart the containers:
sudo docker compose down && docker compose up -dBy default, OpenOps allows SMTP connections on ports 25, 465, 587, and 2525. Administrators can customize which SMTP ports are available by setting the OPS_SMTP_ALLOWED_PORTS environment variable in the .env file.
To configure allowed SMTP ports, open the .env file in your installation folder and set the OPS_SMTP_ALLOWED_PORTS variable to a comma-separated list of port numbers:
OPS_SMTP_ALLOWED_PORTS=25,465,587,2525Port numbers must be valid TCP ports in the range 1-65535. At least one valid port must be configured. Invalid port numbers will be filtered out.
It is possible to share your local session with the platform for local applications.
To do this, you need to set two environment variables in the .env file under the installation folder:
OPS_ENABLE_HOST_SESSION=true: enables sharing of the host session with the platform container.HOST_AZURE_CONFIG_DIR="~/.azure": defines the path to the host machine's Azure configuration folder that will be shared with the platform container.
It is possible to share your local Google Cloud CLI session with the platform for local applications.
To do this, you need to set two environment variables in the .env file under the installation folder:
OPS_ENABLE_HOST_SESSION=true: enables sharing of the host session with the platform container.HOST_CLOUDSDK_CONFIG="~/.config/gcloud": defines the path to the host machine's Google Cloud configuration folder that will be shared with the platform container.