Files
docker-compose/nextcloud/docker-compose.yml
2023-09-18 09:56:26 +02:00

72 lines
2.2 KiB
YAML

version: '3'
volumes:
nextcloud:
db:
networks:
nextcloud_network:
external: false
services:
db:
image: yobasystems/alpine-mariadb:latest
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed
volumes:
- /share/docker_data/mariadb:/var/lib/mysql
secrets:
- db_password
- db_root_password
environment:
- MYSQL_ROOT_PASSWORD=/run/secrets/db_root_password
- MYSQL_PASSWORD=/run/secrets/db_password
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
networks:
- nextcloud_network
labels:
com.centurylinklabs.watchtower.enable: true
restart: always
app:
image: nextcloud:latest
ports:
- 8134:80
links:
- db
volumes:
- /share/docker_data/nextcloud/app:/var/www/html
- /share/docker_data/nextcloud/app-hooks/pre-installation:/docker-entrypoint-hooks.d/pre-installation
- /share/docker_data/nextcloud/app-hooks/post-installation:/docker-entrypoint-hooks.d/post-installation
- /share/docker_data/nextcloud/app-hooks/pre-upgrade:/docker-entrypoint-hooks.d/pre-upgrade
- /share/docker_data/nextcloud/app-hooks/post-upgrade:/docker-entrypoint-hooks.d/post-upgrade
- /share/docker_data/nextcloud/app-hooks/before-starting:/docker-entrypoint-hooks.d/before-starting
secrets:
- db_password
- db_root_password
environment:
- MYSQL_PASSWORD=/run/secrets/db_password
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_HOST=db
- REDIS_HOST=redis
networks:
- nextcloud_network
depends_on:
- db
restart: always
labels:
com.centurylinklabs.watchtower.enable: true
com.centurylinklabs.watchtower.lifecycle.post-update: "apt update;apt install -y smbclient;chown -R www-data:www-data /var/www/html"
redis:
image: redis:alpine
container_name: redis
volumes:
- /share/docker_data/redis:/data
networks:
- nextcloud_network
restart: always
secrets:
db_password:
file: "nextcloud/.env/db_password"
db_root_password:
file: "nextcloud/.env/db_root_password"