This repository has been archived on 2022-11-03. You can view files and clone it, but cannot push or open issues or pull requests.
docker_systems/nextcloud/docker-compose.yml

70 lines
1.7 KiB
YAML

version: '2'
services:
traefik:
image: "traefik:v2.2"
ports:
- "443:443"
volumes:
- "./traefik.yaml:/etc/traefik/traefik.yaml:ro"
- "./letsencrypt:/letsencrypt"
- "/var/run/docker.sock:/var/run/docker.sock:ro"
restart: unless-stopped
db:
image: mariadb
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: unless-stopped
volumes:
- ./db:/var/lib/mysql
environment:
- MYSQL_RANDOM_ROOT_PASSWORD=yes
- MYSQL_PASSWORD
- MYSQL_DATABASE
- MYSQL_USER
redis:
image: redis:alpine
restart: unless-stopped
app:
build: ./nextcloud
environment:
- MYSQL_PASSWORD
- MYSQL_DATABASE
- MYSQL_USER
- MYSQL_HOST=db
- NEXTCLOUD_ADMIN_USER
- NEXTCLOUD_ADMIN_PASSWORD
- "NEXTCLOUD_TRUSTED_DOMAINS=${APP_DOMAIN} ${NEXTCLOUD_TRUSTED_DOMAINS}"
- REDIS_HOST=redis
- SMTP_HOST
- SMTP_SECURE
- SMTP_PORT
- SMTP_NAME
- SMTP_PASSWORD
- MAIL_FORM_ADDRESS
depends_on:
- db
- redis
volumes:
- ./data:/var/www/html
- ./custom-php.ini:/usr/local/etc/php/conf.d/zzz-custom.ini
labels:
- "traefik.enable=true"
- "traefik.http.routers.nextcloud.rule=Host(`${APP_DOMAIN}`)"
- "traefik.http.routers.nextcloud.entrypoints=websecure"
- "traefik.http.routers.nextcloud.tls.certresolver=myresolver"
- "traefik.http.routers.nextcloud.middlewares=default-headers@file"
restart: unless-stopped
cron:
image: nextcloud:apache
restart: unless-stopped
volumes:
- ./data:/var/www/html
entrypoint: /cron.sh
depends_on:
- db
- redis