mkdir nextcloud-docker
cd nextcloud-docker
Example using Nextcloud and MariaDB:
version: '3'
services:
db:
image: mariadb
restart: always
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
volumes:
- db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=secret
- MYSQL_PASSWORD=secret
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
app:
image: nextcloud
restart: always
ports:
- 8080:80
links:
- db
volumes:
- nextcloud:/var/www/html
environment:
- MYSQL_PASSWORD=secret
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_HOST=db
volumes:
db:
nextcloud:
docker-compose up -d
Visit http://YOUR_SERVER_IP:8080 and follow the setup wizard.
Use a reverse proxy like Nginx Proxy Manager, Traefik, or Caddy.
Stop:
docker-compose down
View logs:
docker-compose logs -f
Update:
docker-compose pull
docker-compose up -d
Ensure volumes (db and nextcloud) are backed up regularly.
Enjoy your private cloud