Install ownCloud Infinite Scale with Docker Compose

For a server installation, start with ownCloud’s official ocis_full Docker Compose example for the stable 8.2 documentation line. It includes the Infinite Scale service, a reverse proxy, and optional office collaboration services; configure your domains, SMTP sender, and data paths in its .env file before running docker compose up -d. This setup is designed for a single instance and needs public DNS and reachable ports for trusted Let’s Encrypt certificates. For an internal evaluation without a domain, follow the self-signed certificate limitation described below.

Before you install

This procedure follows ownCloud’s Infinite Scale 8.2 production Compose guide, checked October 9, 2026. The guide targets Ubuntu LTS 24.04 or 22.04 with Docker Engine and Docker Compose already installed. It recommends at least 4–6 GB of memory. Its default enabled services need about 2.4 GB of disk space, before accounting for user files, logs, backups, and future growth.

Choose this full example when you can maintain DNS, firewall rules, and a Linux host. It includes more than the core file platform; for domain-free evaluation, ownCloud says the setup uses self-signed certificates.

  • Host: Ubuntu 24.04 LTS or 22.04 LTS with SSH and sudo access.
  • Network: a domain whose required DNS records resolve to the server’s WAN address; allow inbound TCP ports 22, 80, and 443 in the firewall and any upstream router.
  • Software: Docker Engine and the Compose plugin. On Linux, Docker documents installation through its package repository; after installing, confirm Compose responds with docker compose version.
  • Mail: a value for SMTP_SENDER is required for this example to start. Complete the other SMTP settings if you want notification email to be delivered.

1. Install Docker Compose and prepare the host

If Docker Engine is already present, install the Compose plugin using the method for your Linux distribution in Docker’s official Compose installation instructions. For Ubuntu or Debian systems where Docker’s repository is configured, the documented package command is:

sudo apt-get update
sudo apt-get install docker-compose-plugin
docker compose version

Docker recommends the plugin and the docker compose command form for current installations. Install Docker Engine from its official Ubuntu instructions if needed.

Before downloading configuration, point the domain or subdomains you plan to use at the host’s public IP. ownCloud’s sample requires OCIS_DOMAIN; it may also use COLLABORA_DOMAIN and ONLYOFFICE_DOMAIN when those office services are configured. DNS names must match the values in .env. Check that your router forwards ports 80 and 443 to this host, and that a local firewall allows them.

2. Get the official Compose example

Use the ocis_full directory from the stable-8.2 branch of the official ownCloud deployment examples. Download the ZIP on a computer with a browser, transfer it to the headless server with scp, and extract it under /opt/compose/ocis/ocis_full as described in the ownCloud guide.

Save the current .env before extracting an updated copy: ownCloud warns the file can be overwritten. Run Compose commands from the project directory.

3. Configure domains, certificates, email, and data paths

Open /opt/compose/ocis/ocis_full/.env in a text editor. Preserve the sample’s variable names and syntax, and edit only the values that apply to your installation:

  • Set OCIS_DOMAIN to the hostname users will enter. Set the Collabora or OnlyOffice hostnames only if those services are enabled in the example.
  • For an internet-facing server, comment out INSECURE as directed by the sample. Do not leave its insecure setting enabled for public use.
  • Set TRAEFIK_ACME_MAIL to an email address you control. For initial certificate testing, set TRAEFIK_ACME_CASERVER to Let’s Encrypt’s staging server. Staging certificates are not trusted for normal use; they help test DNS and reachability before requesting production certificates.
  • Set SMTP_SENDER, even if you do not configure a working mail relay yet. The official guide says the deployment will not start without it. Add the SMTP host, port, credentials, authentication, and security settings when available; without the other mail settings, the instance can start but cannot send notifications.
  • Review OCIS_DOCKER_IMAGE and the image tags in the example. Do not casually switch release channels while following a stable-release installation.
  • For a production server, consider assigning OCIS_DATA_DIR and OCIS_CONFIG_DIR to planned host paths on storage with sufficient capacity and backup coverage. The defaults use Docker-managed volumes, which are convenient, but ownCloud notes that their location, snapshots, backup, restore, reset, and migration depend on the Docker host’s storage.

Restrict access to the server and its configuration file. A self-signed certificate is suitable only for internal evaluation, not a trusted public deployment.

From the project directory, validate the merged configuration before starting containers:

cd /opt/compose/ocis/ocis_full
docker compose config

Fix reported variable or YAML errors before continuing. This command renders the Compose configuration for inspection; it does not prove that DNS, certificates, storage permissions, or SMTP connectivity work.

4. Start the services and finish certificate setup

Start the stack in the background:

docker compose up -d

The first run pulls images and starts the services, so it can take longer than later restarts. Check service state with:

docker compose ps -a

Then inspect logs if a service exits or the web address does not load:

docker compose logs --follow

Start with Traefik’s logs. Certificate errors commonly point to mismatched DNS and .env values, blocked ports 80/443, or an invalid ACME email. Fix the cause before retrying. Do not use docker compose down -v as a reset: it removes all project volumes, including data.

When staging certificate checks succeed, follow ownCloud’s certificate procedure: stop the deployment, remove only the example’s certificate volume (ocis_full_certs), clear the staging CA setting, and start again to request trusted production certificates. Confirm the exact volume name with docker volume ls before removing it. Do not remove the data or config volumes.

Verify access and protect the deployment

Open the URL set in OCIS_DOMAIN. A successful result means the browser reaches the login page over HTTPS without a certificate warning, and docker compose ps -a shows the required services running. Sign in using the initial credentials documented by ownCloud (admin/admin, unless you set a different initial password), then change the administrator password promptly.

If the site is unavailable, check DNS, port forwarding, Traefik’s ACME logs, then the Infinite Scale service logs. If login works but email notifications do not, check SMTP settings.

Before storing important files, confirm your backup covers both configuration and data. Docker-managed volumes are convenient for evaluation; explicit host paths are easier to place on a separate disk and include in host backups. You are ready when HTTPS is valid, services remain running after restart, admin login works, and backups cover the chosen storage.

Leave a Comment

Clear an ownCloud Integrity Warning After an Upgrade

Use the invalid-file report to identify mismatched core files or app signatures, restore the correct release files, and verify the integrity check safely.

Install ownCloud Infinite Scale with Docker Compose

Deploy ownCloud Infinite Scale from its official Compose example, configure domains and persistent storage, then verify TLS, containers, and first login.

Configure S3 Blob Storage for ownCloud Infinite Scale

Configure S3 Blob Storage for ownCloud Infinite Scale

Set up the S3NG driver, bucket permissions, persistent metadata storage, and upload sizing so ownCloud Infinite Scale can store file contents reliably.

When ownCloud Uploads Stall at 99%, Check These Limits

When ownCloud Uploads Stall at 99%, Check These Limits

Find why an ownCloud Server upload stops near completion by checking file status, quota, temporary disk space, PHP limits, and proxy timeouts.

Clear the ownCloud Apache .htaccess Warning Safely

Clear the ownCloud Apache .htaccess Warning Safely

Set AllowOverride All only for ownCloud’s web root, validate the active Apache vhost, and reload safely to restore .htaccess rules.

Set Up ownCloud Enterprise Auditing and Verify the Logs

Enable ownCloud’s Enterprise Auditing app, route admin_audit events to a protected log file, and confirm that real user actions are being recorded.

Connect ownCloud Infinite Scale to Keycloak with OIDC

Connect ownCloud Infinite Scale to Keycloak with OIDC

Align Keycloak’s realm issuer, web client, and user claims to let ownCloud Infinite Scale sign users in reliably across the web and mobile clients.

Move ownCloud Files to a New Owner Without Losing Shares

Transfer owned files and outgoing shares with ownCloud’s occ command, understand what stays behind, and verify access before deleting the old account.

Speed Up ownCloud 10 Queries by Managing Indexes Safely

Learn when ownCloud 10 database indexes need attention, how to apply supported schema updates safely, and when query tuning or a database change is the better fix.

Mount an SMB/CIFS Share in ownCloud Without a Linux Mount

Connect a Windows or Samba network share to ownCloud through External Storage, verify credentials, and troubleshoot inaccessible folders safely.