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, and from the internet when Let's Encrypt issues the certificate. The connections OSIE itself opens are listed in Network flows and ports.
  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​