Files
ansible2/roles/vps/templates/docker-compose.nextcloud.yaml.j2
Martin Eichner 8d5852a4fa init
2023-06-27 17:36:56 +02:00

115 lines
2.9 KiB
Django/Jinja

version: '3'
services:
db:
image: mariadb
container_name: nextcloud-mariadb
networks:
- internal
command: --innodb-read-only-compressed=OFF
volumes:
- ./db:/var/lib/mysql
- /etc/localtime:/etc/localtime:ro
env_file:
- db.env
restart: unless-stopped
labels:
- "traefik.enable=false"
redis:
image: redis
container_name: redis
volumes:
- redis:/data
networks:
- internal
restart: unless-stopped
app:
image: nextcloud:latest
container_name: nextcloud
restart: always
volumes:
- ./nextcloud:/var/www/html # Pulls from /var/lib/docker/volumes/nextcloud_nextcloud/_data/
- ./nextcloud/config:/var/www/html/config # Pulls from local dir
- ./stuff:/mnt/hdd # Pulls from root
- ./nextcloud/apps:/var/www/html/custom_apps
- ./nextcloud/data:/var/www/html/data
- /opt/docker/podgrab/data:/mnt/podcasts
# - ./apache:/etc/apache2/sites-enabled
environment:
- VIRTUAL_HOST=cloud.eichner.cc
- DEFAULT_LANGUAGE="de"
- DEFAULT_LOCALE="de_DE"
env_file:
- db.env
depends_on:
- db
- redis
networks:
- traefik
- internal
labels:
- "traefik.backend=nextcloud"
- "traefik.docker.network=traefik"
- "traefik.enable=true"
- "traefik.frontend.rule=Host:cloud.eichner.cc"
- "traefik.port=80"
- traefik.frontend.headers.forceSTSHeader=true
- traefik.frontend.headers.SSLRedirect=true
- traefik.frontend.headers.STSPreload=true
- traefik.frontend.headers.STSSeconds=15552000
cron:
image: nextcloud
volumes:
- /opt/docker/nextcloud/nextcloud/nextcloud/:/var/www/html
user: www-data
restart: unless-stopped
networks:
- internal
entrypoint: |
bash -c 'bash -s <<EOF
trap "break;exit" SIGHUP SIGINT SIGTERM
while [ ! -f /var/www/html/config/config.php ]; do
sleep 1
done
while true; do
php -f /var/www/html/cron.php
sleep 15m
done
EOF'
documentserver:
image: onlyoffice/documentserver:7.1
restart: always
container_name: documentserver
networks:
- traefik
environment:
- "TZ=UTC"
labels:
- "traefik.enable=true"
- "traefik.port=80"
- "traefik.backend=office"
- "traefik.docker.network=traefik"
- "traefik.frontend.rule=Host:office.eichner.cc"
- "traefik.frontend.passHostHeader=true"
- "traefik.frontend.headers.forceSTSHeader=true"
- "traefik.frontend.headers.STSSeconds=31536000"
- "traefik.frontend.headers.STSIncludeSubdomains=true"
- "traefik.frontend.redirect.entryPoint=https"
- "traefik.frontend.redirect.permanent=true"
networks:
internal:
traefik:
external: true
volumes:
db:
nextcloud:
database-dump:
redis:
# apache: