Skip to main content

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 frontend
    • collabora.YOUR.DOMAIN β†’ Collabora Online Server
    • wopiserver.YOUR.DOMAIN β†’ WOPI server for document editing
    • traefik.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:

Certificate Details

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

Certificate Details Certificate Details

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.

Certificate Details

8. Log into OpenCloud​

Open a browser and visit:

https://cloud.YOUR.DOMAIN

Login with:

Username: admin

Password: (your password)

Admin general

Troubleshooting​

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