115 lines
3.8 KiB
YAML
115 lines
3.8 KiB
YAML
|
|
networks:
|
|
web:
|
|
external: true
|
|
internal:
|
|
external: false
|
|
|
|
volumes:
|
|
nextcloud:
|
|
cache:
|
|
|
|
services:
|
|
db:
|
|
image: mariadb:11.4 #### Version am 11.04.2025 hinzugefuegt
|
|
restart: always
|
|
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --innodb-read-only-compressed=OFF
|
|
volumes:
|
|
- /home/nextcloud/mysql:/var/lib/mysql
|
|
environment:
|
|
- MYSQL_ROOT_PASSWORD=ROOTPASS
|
|
- MYSQL_PASSWORD=SQLPASS
|
|
- MYSQL_DATABASE=nextclouddb
|
|
- MYSQL_USER=nextcloud
|
|
- MARIADB_AUTO_UPGRADE=1
|
|
networks:
|
|
- internal
|
|
|
|
cache:
|
|
image: redis
|
|
restart: always
|
|
command: redis-server --requirepass REDISPASS
|
|
volumes:
|
|
- cache:/data
|
|
networks:
|
|
- internal
|
|
|
|
cloud:
|
|
#image: nextcloud:latest
|
|
build: .
|
|
restart: always
|
|
links:
|
|
- db
|
|
volumes:
|
|
- /etc/localtime:/etc/localtime:ro
|
|
- /storage/nextcloud:/var/www/html/data:z
|
|
- /var/docker/nextcloud/000-default.conf:/etc/apache2/sites-available/000-default.conf
|
|
- /var/docker/nextcloud/default-ssl.conf:/etc/apache2/sites-available/default-ssl.conf
|
|
- nextcloud:/var/www/html:z
|
|
- /var/docker/nextcloud/php/custom.ini:/usr/local/etc/php/conf.d/custom.ini
|
|
environment:
|
|
- MYSQL_PASSWORD=SQLPASS
|
|
- MYSQL_DATABASE=nextclouddb
|
|
- MYSQL_USER=nextcloud
|
|
- MYSQL_HOST=db
|
|
- OVERWRITEHOST=cloud.domain.de
|
|
- OVERWRITEPROTOCOL=https
|
|
- TRUSTED_PROXIES=172.19.0.0/16
|
|
- APACHE_DISABLE_REWRITE_IP=1
|
|
- REDIS_HOST=cache
|
|
- REDIS_HOST_PASSWORD=REDISPASS
|
|
- NC_default_phone_region=DE
|
|
- PHP_MEMORY_LIMIT=4G
|
|
- PHP_UPLOAD_LIMIT=4G
|
|
labels:
|
|
- traefik.http.routers.cloud.rule=Host(`cloud.domain.de`)
|
|
- traefik.http.routers.cloud.tls=true
|
|
- traefik.http.routers.cloud.tls.certresolver=lets-encrypt
|
|
- traefik.port=80
|
|
- traefik.http.middlewares.cloudsts.headers.referrerPolicy=no-referrer
|
|
- traefik.http.middlewares.cloudsts.headers.SSLRedirect=true
|
|
- traefik.http.middlewares.cloudsts.headers.stsSeconds=15552000
|
|
- traefik.http.middlewares.cloudsts.headers.browserXSSFilter=true
|
|
- traefik.http.middlewares.cloudsts.headers.contentTypeNosniff=true
|
|
- traefik.http.middlewares.cloudsts.headers.forceSTSHeader=true
|
|
- traefik.http.middlewares.cloudsts.headers.STSIncludeSubdomains=true
|
|
- traefik.http.middlewares.cloudsts.headers.STSPreload=true
|
|
- traefik.http.middlewares.cloudsts.headers.customFrameOptionsValue=SAMEORIGIN
|
|
- traefik.http.middlewares.cloudsts.headers.hostsProxyHeaders=X-Forwarded-For
|
|
- traefik.http.middlewares.cloudredir.redirectregex.permanent=true
|
|
- traefik.http.middlewares.cloudredir.redirectregex.regex=https://(.*)/.well-known/(card|cal)dav
|
|
- traefik.http.middlewares.cloudredir.redirectregex.replacement=https://$$1/remote.php/dav/
|
|
- traefik.http.routers.cloud.middlewares=cloudsts,cloudredir
|
|
networks:
|
|
- internal
|
|
- web
|
|
|
|
cron:
|
|
image: nextcloud:latest
|
|
restart: always
|
|
entrypoint: /cron.sh
|
|
depends_on:
|
|
- db
|
|
- cache
|
|
volumes:
|
|
- nextcloud:/var/www/html:z
|
|
- /storage/nextcloud:/var/www/html/data:z
|
|
- /var/docker/nextcloud/php/zzz-custom-cli.ini:/usr/local/etc/php/conf.d/zzz-custom-cli.ini
|
|
networks:
|
|
- internal
|
|
|
|
# webcron:
|
|
# build:
|
|
# dockerfile: Dockerfile
|
|
# context: ./webcron
|
|
# restart: always
|
|
# links:
|
|
# - cloud
|
|
# environment:
|
|
# - "URL=http://cloud/cron.php"
|
|
# - "CRON=*/5 * * * *"
|
|
# labels:
|
|
# - com.centurylinklabs.watchtower.enable=false
|
|
# networks:
|
|
# - internal
|