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.

On macOS

Install Docker Desktop

Follow these instructions to install Docker Desktop.

Run docker compose

  1. 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.2.2/openops-dc-0.2.2.zip && \
    unzip openops-dc-0.2.2.zip && cp -n .env.defaults .env
    
  2. 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. The login credentials are configured in the .env file, the default username is “admin@openops.com” and the default password is “please-change-this-password-1”.

On Ubuntu Server 24.04

Install docker

During the Ubuntu server installation, select docker to be added to the installation. Otherwise, follow the instructions here.

Run docker compose

  1. 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.2.2/openops-dc-0.2.2.zip
    # refresh package lists
    sudo apt update
    # install unzip
    sudo apt install unzip
    # decompress release file
    unzip openops-dc-0.2.2.zip
    # copy the defaults to env without overwriting existing files
    cp --update=none .env.defaults .env
    
  2. Identify your own IP address

    # find IP address
    ip -o -4 addr show | awk '{print $2, $4}'
    

    Identify your IP address. The output should look something like this

    lo 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
    

    In this case, the IP address is 192.168.1.50

  3. Update the local OPS_PUBLIC_URL Important: change the .env before launching the application

    # edit .env file. You can use any other console text editor such as vim.
    nano .env
    

    Use Ctrl+W or the cursor buttons to navigate to the entry OPS_PUBLIC_URL Replace http://localhost with your domain or IP address, in this case http://192.168.1.50 Ctrl+x, Y, and Enter to save the modified file.

  4. 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
    

Updating OpenOps to a newer version

See Updating OpenOps.

Cloud Templates

On localhost, cloud templates may not be able to load when using the Safari browser.

Configuring Slack Approvals

If you would like to run a workflow that uses Slack approvals, please follow the steps:

  1. Download and create a free account in ngrok
  2. Start ngrok
ngrok http http://localhost
  1. Copy the Forwarding address
  2. Go to the OpenOps installation directory
  3. Inside the directory, make a copy of the .env.defaults file and save it as .env
  4. Open the file and set OPS_PUBLIC_URL to the Forwarding address you copied in step 3
OPS_PUBLIC_URL=https://2f91-62-77-75-198.ngrok-free.app
  1. Restart the containers
sudo docker compose down && docker compose up -d

Using Azure CLI in workflows: running with local credentials

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.

Support

Feel free to join our Slack community if you have any questions or need help with the installation.