Files
portainer/nextcloud/docker-compose.yml
valentin a7ad278a02 nexcloud
2023-03-22 17:46:32 +01:00

81 lines
2.0 KiB
YAML

x-volumes-default: &volumes
volumes:
- nextcloud:/var/www/html
- nextcloud_data:/var/www/html/data
- nextcloud_config:/var/www/html/config
- nextcloud_custom_apps:/var/www/html/custom_apps
version: '3'
services:
redis:
image: redis:alpine
restart: always
app:
image: nextcloud:${NEXTCLOUD_VERSION}
restart: always
<<: *volumes
environment:
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_HOST=db
- NEXTCLOUD_ADMIN_PASSWORD=${NEXTCLOUD_ADMIN_PASSWORD}
- NEXTCLOUD_ADMIN_USER=${NEXTCLOUD_ADMIN_USER}
- NEXTCLOUD_TRUSTED_DOMAINS=${APP_HOST}
- TRUSTED_PROXIES=172.16.0.0/16
- OVERWRITECLIURL=https://${APP_HOST}
- OVERWRITEHOST=${APP_HOST}
- OVERWRITEPROTOCOL=https
- NEXTCLOUD_UPDATE=1
- REDIS_HOST=redis
- REDIS_HOST_PORT=6379
- SMTP_HOST
- MAIL_FROM_ADDRESS
- MAIL_DOMAIN
- SMTP_PORT
- SMTP_SECURE
- SMTP_NAME
- SMTP_LOGIN
- SMTP_PASSWORD
- SMTP_AUTHTYPE
depends_on:
- redis
labels:
- traefik.enable=true
- traefik.docker.network=traefik_web
- traefik.http.routers.${ROUTER_NAME}-router.entrypoints=${ENTRYPOINT}
- traefik.http.routers.${ROUTER_NAME}-router.rule=Host(`${APP_HOST}`)
- traefik.http.routers.${ROUTER_NAME}-router.tls=true
networks:
- default
- traefik_web
db:
image: mariadb:${MARIADB_VERSION}
restart: always
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
volumes:
- nextcloud_db:/var/lib/mysql
networks:
- default
environment:
- MYSQL_ROOT_PASSWORD
- MYSQL_PASSWORD
- MYSQL_DATABASE
- MYSQL_USER
cron:
image: nextcloud:${NEXTCLOUD_VERSION:-latest}
restart: always
<<: *volumes
entrypoint: /cron.sh
depends_on:
- redis
volumes:
nextcloud_db:
nextcloud:
nextcloud_data:
nextcloud_config:
nextcloud_custom_apps: