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
- 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.
- 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.
- 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:
- Asks for a public domain (Let's Encrypt HTTPS) or an IP address (self-signed HTTPS)
- Validates DNS propagation for domain mode
- Installs Docker if not present
- Copies the deployment files to
/opt/osie - Generates secrets and the
.envfile - Starts all services via
docker compose
Non-interactive installation
| Option | Description |
|---|---|
--hostname DOMAIN | Public hostname — skips the interactive prompt and enables domain mode |
--skip-dns-check | Skip 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
- Visit the Administrator's manual for the set-up instructions.