85 lines
2.0 KiB
YAML
85 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}`)
|
|
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:
|
|
|
|
|
|
# Specific for traefik
|
|
networks:
|
|
traefik_web:
|
|
external: true |