OpenCloud with Docker Compose
Install a internet facing OpenCloud with SSL certification with Docker Compose.
This installation documentation is for Ubuntu and Debian systems. The software can also be installed on other Linux distributions, but the commands and package managers may differ.
Prerequisitesβ
-
Four domains pointing to your server:
cloud.YOUR.DOMAIN
β OpenCloud frontendcollabora.YOUR.DOMAIN
β Collabora Online Serverwopiserver.YOUR.DOMAIN
β WOPI server for document editingtraefik.YOUR.DOMAIN
β Traefik dashboard
Alternatively, you can use a wildcard domain (
*.YOUR.DOMAIN
) -
A hosted server (e.g., Hetzner, AWS, or your own VPS) with Linux and SSH access
1. Connect to Your Serverβ
Log into your server via SSH:
ssh root@YOUR.SERVER.IP
2. Install Dockerβ
Update your system and install Docker.
First, perform an update and upgrade:
apt update && apt upgrade -y
Install Docker following the official Docker guide
Once Docker is installed, enable and start the service:
systemctl enable docker && systemctl start docker
3. Clone the OpenCloud Repositoryβ
Download the necessary configuration files:
git clone https://github.com/opencloud-eu/opencloud.git
4. Configure the .env File for Staging Certificatesβ
Before requesting real SSL certificates, test the setup with Let's Encryptβs staging environment.
Navigate to the OpenCloud configuration folder:
cd opencloud/deployments/examples/opencloud_full
Edit the .env
file with the editor of your choice:
In our example we use nano
nano .env
Modify these settings:
β Disable insecure modeβ
# INSECURE=true
β Set your domain namesβ
TRAEFIK_DOMAIN=traefik.YOUR.DOMAIN
OC_DOMAIN=cloud.YOUR.DOMAIN
COLLABORA_DOMAIN=collabora.YOUR.DOMAIN
WOPISERVER_DOMAIN=wopiserver.YOUR.DOMAIN
β Set your admin passwordβ
ADMIN_PASSWORD=YourSecurePassword
β Set your email for SSL certificationβ
TRAEFIK_ACME_MAIL=your@email.com
β Use Let's Encrypt staging certificates (for testing)β
TRAEFIK_ACME_CASERVER=https://acme-staging-v02.api.letsencrypt.org/directory
Save and exit.
5. Start OpenCloudβ
Launch OpenCloud using Docker Compose:
docker compose up -d
This will start all required services in the background.
6. Verify SSL Certificationβ
In your web browser, visit:
https://cloud.YOUR.DOMAIN
You should see a security warning because the staging certificate is not fully trusted. Same should appear with the other domains you are using.
Example with Chrome browser:

β Check the certificate details to confirm itβs from Let's Encrypt Staging.


7. Apply a Real SSL Certificateβ
Once the staging certificate works, switch to a production certificate.
Steps:β
1οΈβ£ Stop Docker Composeβ
docker compose down
2οΈβ£ Remove old staging certificatesβ
docker volume rm opencloud_full_certs
(If you changed volume names, adjust accordingly.)
3οΈβ£ Disable staging mode in .env
β
nano .env
Comment the staging server:
# TRAEFIK_ACME_CASERVER=https://acme-staging-v02.api.letsencrypt.org/directory
4οΈβ£ Restart OpenCloud with a real SSL certificateβ
docker compose up -d
β
Now, visiting https://cloud.YOUR.DOMAIN
should show a secure connection with a valid SSL certificate.

8. Log into OpenCloudβ
Open a browser and visit:
https://cloud.YOUR.DOMAIN
Login with:
Username: admin
Password: (your password)

Troubleshootingβ
If you encounter any issues, check the Common Issues & Help Guide