Skip to main content

Install on Docker Compose

For a single-machine installation, OSIE ships an interactive installer that sets up the full stack — API, client portal, admin portal, MongoDB, RabbitMQ — behind a Caddy reverse proxy with automatic HTTPS. This is the quickest way to run OSIE on your own infrastructure; for clustered, highly available deployments use the Kubernetes installation instead.

Prerequisites

  1. A Linux virtual machine running Debian/Ubuntu or RHEL/AlmaLinux/Rocky/CentOS, with root access. The installer installs Docker itself if it is not present.
  2. Ports 80 and 443 reachable from the clients that will use OSIE.
  3. For a public installation: a DNS record (e.g. osie.mycompany.com) pointing at the machine. Without a domain, the installer falls back to a self-signed certificate issued by an internal CA.

Run the installer

wget https://raw.githubusercontent.com/osie/deployment/main/docker-compose/install.sh
sudo bash install.sh

The installer guides you through the setup. It:

  1. Asks for a public domain (Let's Encrypt HTTPS) or an IP address (self-signed HTTPS)
  2. Validates DNS propagation for domain mode
  3. Installs Docker if not present
  4. Copies the deployment files to /opt/osie
  5. Generates secrets and the .env file
  6. Starts all services via docker compose

Non-interactive installation

OptionDescription
--hostname DOMAINPublic hostname — skips the interactive prompt and enables domain mode
--skip-dns-checkSkip the DNS verification
sudo bash install.sh --hostname osie.mycompany.com

File layout

Everything lives under /opt/osie:

/opt/osie/
docker-compose.yml # Caddy + base services
docker-compose.base.yml # MongoDB, RabbitMQ, API, client portal, admin portal
.env # Generated secrets and configuration
caddy/Caddyfile # Reverse proxy configuration
config/application.yml # OSIE API configuration

Post installation

Save the encryption key

OSIE encrypts sensitive information stored in the database — passwords, access keys — with a symmetric key. The installer generates it as OSIE_ENCRYPTION_KEY in /opt/osie/.env. Save it somewhere external as well: without it, encrypted data in a restored database cannot be decrypted.

Log in to the OSIE admin panel

The admin panel is accessible at https://osie.mycompany.com/osie_admin.

On first access, you will be guided through an onboarding process where you can create your administrator account and set a password.

Operating the stack

cd /opt/osie

# Follow the logs of all services
docker compose logs -f

# Service status
docker compose ps

# Stop / start
docker compose down
docker compose up -d

Upgrading or reconfiguring

Re-running the installer is safe: it pulls the current deployment files, preserves the generated secrets, and force-recreates the containers.

sudo bash install.sh --hostname osie.mycompany.com --skip-dns-check

Next steps