115 lines
2.9 KiB
Django/Jinja
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:
|