144 lines
5.2 KiB
YAML
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:33
|
|
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
|