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