+(91)70149-37521Subscribe Now

How to Install ownCloud Infinite Scale with Docker Compose

ownCloud provides self-hosted file storage, sharing, browser access, and sync clients. But there are now two different server products: ownCloud Classic and ownCloud Infinite Scale. Choosing the right one matters before you copy any installation commands. This updated guide explains how to install ownCloud Infinite Scale on Ubuntu 24.04 with Docker Compose, using ownCloud’s current […]

How to Install and Configure OwnCloud on CentOS

ownCloud provides self-hosted file storage, sharing, browser access, and sync clients. But there are now two different server products: ownCloud Classic and ownCloud Infinite Scale. Choosing the right one matters before you copy any installation commands.

This updated guide explains how to install ownCloud Infinite Scale on Ubuntu 24.04 with Docker Compose, using ownCloud’s current production example. The previous CentOS 8/PHP 7 guide is no longer a sensible new deployment because CentOS 8 is end-of-life and ownCloud Classic still has strict PHP 7.4 requirements.

ownCloud Classic vs Infinite Scale

ProductArchitectureChoose it when
ownCloud ClassicPHP, Apache, database, RedisYou already operate Classic or need a Classic app/integration
Infinite ScaleContainerized services with modern web UIYou are planning a new deployment and its features fit your needs

Do not treat Infinite Scale as an in-place PHP upgrade. Migrating Classic users and data is a separate project. Check feature, identity-provider, storage, app, and license requirements before choosing either product.

What This Deployment Includes

ownCloud’s full Docker Compose example is intended for a production-style home or small-business server. It includes Infinite Scale, its web interface, Traefik for routing and certificates, and optional web-office services. Larger or highly available environments need a different architecture.

Server Requirements

  • Ubuntu Server 24.04 LTS (the official example also supports 22.04)
  • At least 4–6 GB RAM for the default example
  • Enough storage for containers, user files, versions, logs, and backups
  • Docker Engine and the Docker Compose plugin from Docker’s current official repository
  • A domain and required subdomains pointing to the public server IP
  • TCP ports 22, 80, and 443 allowed as appropriate
  • A monitored email address for ACME certificate notices
  • SMTP details if you want user notifications

The container images need roughly a few gigabytes before user data. Real capacity planning must include expected users, file history, office components, antivirus, backups, and growth.

Plan Domains and DNS

The main service needs a hostname such as cloud.example.com. Optional Collabora or OnlyOffice services need their own hostnames, such as collabora.example.com and office.example.com. Point every enabled name to the server.

dig +short A cloud.example.com
dig +short AAAA cloud.example.com

Create an AAAA record only when IPv6 routes to this server. Certificate issuance may fail when an old IPv6 record points somewhere else.

Prepare Ubuntu 24.04

sudo apt update
sudo apt upgrade -y
sudo apt install -y unzip curl ca-certificates

Install Docker Engine and the Docker Compose plugin from Docker’s official Ubuntu repository. ownCloud warns that the Ubuntu-provided Docker packages may be outdated. Verify the result:

docker --version
docker compose version
sudo systemctl status docker --no-pager

Granting a user access to the Docker socket is effectively root-level access. Limit membership in the docker group and use sudo where your policy requires it.

Configure the Firewall

Keep SSH access working and allow HTTP/HTTPS. With UFW, a basic example is:

sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status

Also check the provider firewall. Container networking can interact with host firewall rules, so verify the final exposed ports instead of assuming UFW alone covers every path.

Download the Official Infinite Scale Example

Use the production version named in ownCloud’s current documentation. At this review, the guide references Infinite Scale 8.0 and the stable-8.0 example. Download the exact deployment archive from the official page rather than an old blog attachment, then transfer it to the server.

Create the deployment directory and extract the archive you downloaded:

sudo mkdir -p /opt/compose/ocis/ocis_full
sudo unzip -d /opt/compose/ocis/ocis_full /opt/owncloud-ocis-example.zip
cd /opt/compose/ocis/ocis_full
ls -la

Replace the archive name with the actual downloaded file. The directory should contain Compose YAML files, a .env file, and configuration folders. Preserve your edited .env before replacing deployment sources during an upgrade.

Edit the Infinite Scale .env File

cd /opt/compose/ocis/ocis_full
sudo cp -a .env .env.before-linuxpanda
sudo nano .env

Review every option, especially:

  • INSECURE: do not enable insecure mode on an internet-facing production server.
  • OCIS_DOCKER_IMAGE: use the production image, not a rolling development image.
  • OCIS_DOMAIN: set the real cloud hostname.
  • COLLABORA_DOMAIN/ONLYOFFICE_DOMAIN: set only for enabled office services.
  • TRAEFIK_ACME_MAIL: use a valid email address you control.
  • TRAEFIK_ACME_CASERVER: start with Let’s Encrypt staging while testing.
  • OCIS_CONFIG_DIR/OCIS_DATA_DIR: choose persistent, backed-up paths sized for the workload.
  • SMTP_*: configure secure mail delivery for notifications.

Generate strong unique secrets. Do not commit .env to Git or paste it into a support forum. Restrict its file permissions.

sudo chmod 600 .env
sudo docker compose config > /tmp/ocis-compose-rendered.yml

Review the rendered configuration for missing variables and unexpected published ports, but remember it may contain sensitive values. Delete the temporary output securely after review.

Use Persistent Data Paths

Docker-managed volumes are easy, but they may live on the operating-system partition. For production, ownCloud recommends considering explicit storage paths. Mount and verify the storage before containers start, then set OCIS_DATA_DIR and OCIS_CONFIG_DIR.

sudo mkdir -p /srv/ocis/data /srv/ocis/config
sudo chown -R 1000:1000 /srv/ocis/data /srv/ocis/config
df -h /srv/ocis/data

Confirm the current image’s ownership requirements in the official guide. Configure the service to start only after network or external storage mounts are ready.

Start with Let’s Encrypt Staging

Keep the staging ACME server configured during the first launch so DNS or firewall mistakes do not consume production rate limits:

cd /opt/compose/ocis/ocis_full
sudo docker compose up -d
sudo docker compose ps
sudo docker compose logs --tail=200

Check that every required container is running and the browser receives a staging certificate. Fix DNS, port 80/443, email, and configuration errors before switching to production certificates.

Switch to Production Certificates

After the staging deployment is clean, follow the current ownCloud procedure: stop the deployment, remove only the certificate volume identified by the guide, clear the staging ACME setting, and start again. Never use docker compose down -v; the -v flag can delete all volumes, including user data.

sudo docker compose down
sudo docker volume ls
# Remove only the documented certificate volume after confirming its exact name.
sudo docker compose up -d

Then inspect logs and open https://cloud.example.com. Traefik handles certificate renewal automatically, but monitor certificate expiry independently.

First Login and Password Security

The official example documents how to obtain or set the initial administrator password. Log in through the configured HTTPS URL and immediately replace any default or generated bootstrap credential with a strong unique password. Do not leave the known admin/admin pair active.

Back Up Infinite Scale Correctly

  • Back up the persistent data directory or volume using an application-consistent method.
  • Back up the configuration directory, Compose files, and protected .env.
  • Store copies off the server and outside the production administrator account.
  • Document image versions and external identity/storage dependencies.
  • Test restoration on an isolated server.

A snapshot of only the Compose YAML files does not contain users’ files. A copy of only the data directory may not contain the configuration required to interpret it. Follow the backup instructions for the exact Infinite Scale version and storage setup.

Updates and Maintenance

For patch updates within the supported production series, back up first and follow the documented Compose pull/restart process. Major or minor upgrades require their specific upgrade guide and may need new deployment sources or configuration changes.

sudo docker compose ps
sudo docker compose logs --since=1h
sudo docker system df

Monitor disk capacity, failed containers, login errors, certificate expiry, backup age, and application health. Do not remove images or volumes with broad cleanup commands until you have identified what is unused.

Frequently Asked Questions

Can I install old ownCloud Classic on Rocky Linux 9?

ownCloud Classic documentation lists RHEL 9 derivatives as Enterprise-only support and still requires PHP 7.4. Do not invent an unsupported community stack; confirm support with ownCloud or choose a documented deployment.

Is Infinite Scale a direct upgrade from ownCloud Classic?

No. It is a different architecture. Plan identity, metadata, files, sharing, apps, clients, and cutover as a migration.

Can I run docker compose down -v?

Not during normal maintenance. The volume flag can delete persistent data. ownCloud explicitly warns against it in the production example.

Conclusion

You have planned an ownCloud Infinite Scale deployment, prepared Ubuntu and DNS, configured the official Compose example, tested certificates in staging, and built backup and monitoring into the setup. Read the exact version’s documentation before every upgrade because container tags, variables, and deployment files change.

For server basics, review our Linux hardening checklist and SSH key guide.

If you also manage Nextcloud, see our Nextcloud 34.0.3 maintenance update guide for current supported branches, important fixes and a safe update checklist.


Reviewed and updated: August 2026. The deployment flow follows ownCloud’s official Infinite Scale production Compose guide and Infinite Scale admin documentation. The Classic comparison uses its current system requirements.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

Subscribe to Our Newsletter

Get free how-to tutorials and over 700+ courses. Seo tips, create a wordpress, or learn a new skill.