Self-Host Your Files With ownCloud (Docker, Ubuntu 24.04)

Homelab

ownCloud gives you your own Dropbox: files, sync to desktop and phone, and sharing links, on a server you control. This quick guide runs ownCloud Server with Docker Compose on Ubuntu 24.04 or 22.04.

Full guide: ownCloud File Storage

Related guide: Full ownCloud guide: storage, backups and hardening

1. Install Docker

Docker's convenience script installs Docker Engine and the Compose plugin.

curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker $USER   # log out and back in

2. Get the official Compose file

ownCloud publishes a docker-compose.yml with the server, MariaDB and Redis.

mkdir owncloud-docker && cd owncloud-docker
wget https://raw.githubusercontent.com/owncloud/docs-server/master/modules/admin_manual/examples/installation/docker/docker-compose.yml

3. Set your settings in .env

Pick a strong admin password and set your domain. OWNCLOUD_IMAGE is the ownCloud version tag; check Docker Hub (owncloud/server) for the newest one.

cat > .env <<'EOF'
OWNCLOUD_IMAGE=11.0
MARIADB_IMAGE=mariadb:10.11
REDIS_IMAGE=redis:7
OWNCLOUD_DOMAIN=files.example.com
OWNCLOUD_TRUSTED_DOMAINS=files.example.com
OWNCLOUD_OVERWRITE_CLI_URL=https://files.example.com
ADMIN_USERNAME=admin
ADMIN_PASSWORD=change-this-long-password
HTTP_PORT=8080
EOF

4. Start it

Downloads the images and starts the containers in the background.

docker compose up -d
docker compose ps

5. Verify

Open http://your_server:8080 and sign in as admin. Then put it behind HTTPS (a reverse proxy like Nginx Proxy Manager or Caddy) before using it over the internet.

curl -I http://localhost:8080

6. Troubleshooting

Container keeps restarting: read its log. Trusted domain error in the browser: add the address you use to OWNCLOUD_TRUSTED_DOMAINS and run docker compose up -d again.

docker compose logs -f owncloud

FAQ

Is ownCloud free?

The ownCloud community server is free and open source; paid editions add enterprise features and support.

Can I use the desktop and phone apps?

Yes. Install the ownCloud desktop or mobile app and connect it to your server address.

Further reading: ownCloud Docker installation docs