2023-02-15 21:45:31 +00:00
|
|
|
services:
|
2023-02-18 23:12:15 +00:00
|
|
|
|
|
|
|
nextcloud-db:
|
2024-05-16 17:01:07 +00:00
|
|
|
image: mariadb:lts
|
2023-02-18 23:12:15 +00:00
|
|
|
container_name: nextcloud-db
|
|
|
|
hostname: nextcloud-db
|
|
|
|
command: --transaction-isolation=READ-COMMITTED --innodb_read_only_compressed=OFF
|
|
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
2023-02-25 13:09:52 +00:00
|
|
|
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/nextcloud/database:/var/lib/mysql
|
2023-02-18 23:12:15 +00:00
|
|
|
environment:
|
2024-05-16 16:34:30 +00:00
|
|
|
- MYSQL_DATABASE=${MYSQL_DATABASE:-nextcloud}
|
|
|
|
- MYSQL_USER=${MYSQL_USER:-nextcloud}
|
|
|
|
- MYSQL_PASSWORD=${MYSQL_PASSWORD:-nextcloud}
|
|
|
|
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-nextcloud-root-pw}
|
2023-02-18 23:12:15 +00:00
|
|
|
- MYSQL_INITDB_SKIP_TZINFO=1
|
|
|
|
- MARIADB_AUTO_UPGRADE=1
|
2024-05-16 16:34:30 +00:00
|
|
|
- PUID=${MYSQL_PUID:-1000}
|
|
|
|
- PGID=${MYSQL_PGID:-1000}
|
|
|
|
- TZ=${MSQL_TZ:-Europe/Berlin}
|
2024-05-14 22:24:38 +00:00
|
|
|
#networks:
|
|
|
|
# - proxy
|
|
|
|
|
2023-02-18 23:12:15 +00:00
|
|
|
nextcloud-redis:
|
|
|
|
image: redis:alpine
|
|
|
|
container_name: nextcloud-redis
|
|
|
|
hostname: nextcloud-redis
|
|
|
|
restart: unless-stopped
|
2024-05-16 16:34:30 +00:00
|
|
|
command:
|
|
|
|
- /bin/sh
|
|
|
|
- -c
|
|
|
|
- redis-server --requirepass "$${REDIS_PASSWORD:-nextcloud}"
|
2024-05-14 22:24:38 +00:00
|
|
|
#networks:
|
|
|
|
# - proxy
|
|
|
|
|
2023-02-18 23:12:15 +00:00
|
|
|
nextcloud-app:
|
2024-05-16 17:01:07 +00:00
|
|
|
image: nextcloud:29-fpm-alpine
|
2023-02-18 23:12:15 +00:00
|
|
|
container_name: nextcloud-app
|
|
|
|
hostname: nextcloud-app
|
|
|
|
restart: unless-stopped
|
2024-05-16 16:34:30 +00:00
|
|
|
expose:
|
|
|
|
- 80/tcp
|
2023-02-15 21:45:31 +00:00
|
|
|
ports:
|
|
|
|
- 8080:80
|
2023-02-18 23:12:15 +00:00
|
|
|
depends_on:
|
|
|
|
- nextcloud-db
|
|
|
|
- nextcloud-redis
|
|
|
|
environment:
|
2024-05-16 16:34:30 +00:00
|
|
|
- TRUSTED_PROXIES=${NC_TRUSTED_PROXIES:-127.0.0.1/32}
|
|
|
|
- PUID=${NC_PUID:-1000}
|
|
|
|
- PGID=${NC_PGID:-1000}
|
|
|
|
- OVERWRITEPROTOCOL=${NC_OVERWRITEPROTOCOL:-http}
|
|
|
|
- OVERWRITECLIURL=${NC_OVERWRITECLIURL:-http://127.0.0.1:8080}
|
|
|
|
- OVERWRITEHOST=${NC_OVERWRITEHOST:-127.0.0.1:8080}
|
|
|
|
- MYSQL_HOST=${MYSQL_HOST:-nextcloud-db}
|
|
|
|
- MYSQL_DATABASE=${MYSQL_DATABASE:-nextcloud}
|
|
|
|
- MYSQL_USER=${MYSQL_USER:-nextcloud}
|
|
|
|
- MYSQL_PASSWORD=${MYSQL_PASSWORD:-nextcloud}
|
|
|
|
- REDIS_HOST=${REDIS_HOST:-nextcloud-redis}
|
|
|
|
- REDIS_HOST_PASSWORD=${REDIS_PASSWORD:-nextcloud}
|
|
|
|
healthcheck:
|
|
|
|
test: ["CMD-SHELL", "curl -Ss http://localhost/status.php | grep '\"installed\":true' || exit 1"]
|
|
|
|
interval: 2m
|
|
|
|
retries: 10
|
|
|
|
start_period: 10m
|
|
|
|
timeout: 5s
|
2023-02-15 21:45:31 +00:00
|
|
|
volumes:
|
2023-02-25 13:09:52 +00:00
|
|
|
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/nextcloud/data:/var/www/html/data
|
|
|
|
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/nextcloud/app:/var/www/html
|
2024-05-16 16:40:37 +00:00
|
|
|
#networks:
|
|
|
|
# - proxy
|
|
|
|
#labels:
|
|
|
|
# - traefik.enable=true
|
|
|
|
# - traefik.http.routers.nextcloud.rule=(Host(`cloud.example.com`)) # pls change
|
|
|
|
# - traefik.http.services.nextcloud.loadbalancer.server.port=80
|
|
|
|
# - traefik.http.routers.nextcloud.middlewares=local-ipwhitelist@file,authelia@docker
|
|
|
|
# - traefik.docker.network=proxy
|
|
|
|
# - traefik.http.middlewares.nextcloud-dav.replacepathregex.regex=^/.well-known/ca(l|rd)dav
|
|
|
|
# - traefik.http.middlewares.nextcloud-dav.replacepathregex.replacement=/remote.php/dav/
|
|
|
|
# - traefik.http.middlewares.limit.buffering.maxRequestBodyBytes=50000000 # only necessary for enabled file uploads
|
|
|
|
# - traefik.http.middlewares.limit.buffering.maxResponseBodyBytes=50000000 # only necessary for enabled file uploads
|
|
|
|
# - traefik.http.middlewares.limit.buffering.memRequestBodyBytes=50000000 # only necessary for enabled file uploads
|
|
|
|
# - traefik.http.middlewares.limit.buffering.memResponseBodyBytes=50000000 # only necessary for enabled file uploads
|
|
|
|
|
|
|
|
#networks:
|
|
|
|
# proxy:
|
|
|
|
# external: true
|