Files
docker-compose/cloud/docker-compose.yml
T
2026-08-01 10:16:32 +02:00

144 lines
5.2 KiB
YAML

services:
db:
image: mariadb:10.6
container_name: nextcloud-db
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
volumes:
- /mnt/user/appdata/nextcloud/db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
labels:
net.unraid.docker.icon: "https://raw.githubusercontent.com/linuxserver/docker-templates/refs/heads/master/linuxserver.io/img/mariadb-icon.png"
folder.view3: "Databases"
redis:
image: redis
container_name: nextcloud-cache
volumes:
- /mnt/user/appdata/nextcloud/cache:/data
command: redis-server --requirepass ${REDIS_HOST_PASSWORD}
labels:
net.unraid.docker.icon: "https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/redis.png"
folder.view3: "Databases"
appapi-dsp:
image: ghcr.io/nextcloud/nextcloud-appapi-dsp:release
networks:
- nextcloud-exapps
environment:
- NC_HAPROXY_PASSWORD=${APPAPI_DSP_PASSWORD}
volumes:
- /var/run/docker.sock:/var/run/docker.sock
privileged: true
labels:
net.unraid.docker.icon: "https://raw.githubusercontent.com/linuxserver/docker-templates/refs/heads/master/linuxserver.io/img/nextcloud-icon.png"
folder.view3: "Nextcloud ExApps"
app:
image: nextcloud:34
container_name: nextcloud
depends_on:
- db
- redis
- appapi-dsp
networks:
- default
- nextcloud-exapps
- pangolin
volumes:
- /mnt/user/appdata/nextcloud/app:/var/www/html
- /mnt/user/nextcloud-data:/var/www/html/data
environment:
- NEXTCLOUD_ADMIN_USER=${NEXTCLOUD_ADMIN_USER}
- NEXTCLOUD_ADMIN_PASSWORD=${NEXTCLOUD_ADMIN_PASSWORD}
- NEXTCLOUD_TRUSTED_DOMAINS=${DOMAIN}
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_HOST=db
- REDIS_HOST=redis
- REDIS_PORT=6379
- REDIS_HOST_PASSWORD=${REDIS_HOST_PASSWORD}
- APACHE_DISABLE_REWRITE_IP=1
- APACHE_BODY_LIMIT=0
- TRUSTED_PROXIES=172.28.0.2
labels:
net.unraid.docker.icon: "https://raw.githubusercontent.com/linuxserver/docker-templates/refs/heads/master/linuxserver.io/img/nextcloud-icon.png"
net.unraid.docker.webui: "https://${DOMAIN}"
folder.view3: "Services"
pangolin.public-resources.nextcloud-server.name: "${RESOURCE_NAME}"
pangolin.public-resources.nextcloud-server.full-domain: "${DOMAIN}"
pangolin.public-resources.nextcloud-server.protocol: "http"
pangolin.public-resources.nextcloud-server.auth.sso-enabled: false
pangolin.public-resources.nextcloud-server.targets[0].method: "http"
pangolin.public-resources.nextcloud-server.targets[0].hostname: "nextcloud"
pangolin.public-resources.nextcloud-server.targets[0].port: 80
# HOMEPAGE
homepage.group: Cloud
homepage.name: Nextcloud
homepage.icon: nextcloud.png
homepage.href: "https://${DOMAIN}"
homepage.description: Files and collaboration
nc-talk:
container_name: nextcloud-hpb
image: ghcr.io/nextcloud-releases/aio-talk:latest
init: true
networks:
- default
- pangolin
ports:
- 3478:3478/tcp
- 3478:3478/udp
environment:
- NC_DOMAIN=${DOMAIN}
- TALK_HOST=${TALK_HOST}
- TURN_SECRET=${TURN_SECRET}
- SIGNALING_SECRET=${SIGNALING_SECRET}
- TZ=Europe/Vienna
- TALK_PORT=3478
- INTERNAL_SECRET=${INTERNAL_SECRET}
labels:
net.unraid.docker.icon: "https://raw.githubusercontent.com/linuxserver/docker-templates/refs/heads/master/linuxserver.io/img/nextcloud-icon.png"
folder.view3: "Infrastructure"
pangolin.public-resources.nextcloud-hpb.name: "${HPB_RESOURCE_NAME}"
pangolin.public-resources.nextcloud-hpb.full-domain: "${TALK_HOST}"
pangolin.public-resources.nextcloud-hpb.protocol: "http"
pangolin.public-resources.nextcloud-hpb.auth.sso-enabled: false
pangolin.public-resources.nextcloud-hpb.targets[0].method: "http"
pangolin.public-resources.nextcloud-hpb.targets[0].hostname: "nextcloud-hpb"
pangolin.public-resources.nextcloud-hpb.targets[0].port: 8081
pangolin.public-resources.nextcloud-hpb-turn-tcp.name: "${HPB_RESOURCE_NAME} TURN TCP"
pangolin.public-resources.nextcloud-hpb-turn-tcp.protocol: "tcp"
pangolin.public-resources.nextcloud-hpb-turn-tcp.proxy-port: 3478
pangolin.public-resources.nextcloud-hpb-turn-tcp.targets[0].hostname: "nextcloud-hpb"
pangolin.public-resources.nextcloud-hpb-turn-tcp.targets[0].port: 3478
pangolin.public-resources.nextcloud-hpb-turn-udp.name: "${HPB_RESOURCE_NAME} TURN UDP"
pangolin.public-resources.nextcloud-hpb-turn-udp.protocol: "udp"
pangolin.public-resources.nextcloud-hpb-turn-udp.proxy-port: 3478
pangolin.public-resources.nextcloud-hpb-turn-udp.targets[0].hostname: "nextcloud-hpb"
pangolin.public-resources.nextcloud-hpb-turn-udp.targets[0].port: 3478
networks:
nextcloud-exapps:
name: nextcloud-exapps
driver: bridge
pangolin:
name: pangolin_net
external: true