Files
docker_nextcloud/docker-compose.yml
Awin Huang 3b0778d0d5 1. 更新環境變數配置
2. 新增 .env 檔案以管理 Nextcloud 和資料庫憑證
3. 調整 docker-compose.yml 以使用環境變數
2026-02-05 16:57:00 +08:00

85 lines
2.6 KiB
YAML

services:
nextcloud:
image: nextcloud
ports:
- 8080:80
volumes:
# - ./config.php:/var/www/html/config/config.php
- ./data/nextcloud:/var/www/html
restart: always
depends_on:
- db
- redis
environment:
- PHP_MEMORY_LIMIT=100G
- PHP_UPLOAD_LIMIT=1024G
- POST_MAX_SIZE=100M
- NEXTCLOUD_TRUSTED_DOMAINS=${NEXTCLOUD_TRUSTED_DOMAINS}
- TRUSTED_PROXIES=${TRUSTED_PROXIES}
- OVERWRITEPROTOCOL=${OVERWRITEPROTOCOL}
- OVERWRITECLIURL=${OVERWRITECLIURL}
- MYSQL_USER=${NEXTCLOUD_MYSQL_USER}
- MYSQL_PASSWORD=${NEXTCLOUD_MYSQL_PASSWORD}
- MYSQL_DATABASE=${NEXTCLOUD_MYSQL_DATABASE}
- MYSQL_HOST=${NEXTCLOUD_MYSQL_HOST}
- REDIS_HOST=redis
networks:
- default
- caddy-network
notify_push:
image: nextcloud
restart: unless-stopped
user: 33:33 # www-data 的 UID:GID
depends_on:
- nextcloud
- redis
- db
volumes:
- ./data/nextcloud:/var/www/html:ro # 建議設為唯讀
environment:
- PORT=7867
- NEXTCLOUD_URL=http://nextcloud # 直連 Nextcloud 服務(走 Docker 內網)
entrypoint: ["/var/www/html/custom_apps/notify_push/bin/x86_64/notify_push", "/var/www/html/config/config.php"]
networks:
- default
- caddy-network
db:
image: mariadb:10.6
restart: always
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
volumes:
- ./data/db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=${DB_MYSQL_ROOT_PASSWORD}
- MYSQL_USER=${NEXTCLOUD_MYSQL_USER}
- MYSQL_PASSWORD=${NEXTCLOUD_MYSQL_PASSWORD}
- MYSQL_DATABASE=${NEXTCLOUD_MYSQL_DATABASE}
redis:
image: redis:alpine
restart: always
collabora:
image: collabora/code:latest
restart: always
ports:
- 8081:9980
environment:
- domain=nc.awin.one # collabora 會被哪個 website 使用
- username=${COLLABORA_USERNAME}
- password=${COLLABORA_PASSWORD}
- extra_params=--o:ssl.enable=false --o:ssl.termination=true
volumes:
- /etc/localtime:/etc/localtime:ro
cap_add:
- MKNOD
links:
- nextcloud
networks:
caddy-network:
external: true