version: "3.8"
services:
nextcloud:
image: lscr.io/linuxserver/nextcloud:latest
container_name: nextcloud
ports:
- "8383:80" # 外部访问 Nextcloud
volumes:
- /share/Container/nextcloud/config:/config
- /share/Container/nextcloud/data:/data
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
restart: unless-stopped
networks: [nextcloud-net]
depends_on:
- onlyoffice
onlyoffice:
image: onlyoffice/documentserver:latest
container_name: onlyoffice
environment:
- TZ=Asia/Shanghai
- JWT_ENABLED=true
- JWT_SECRET=qnap
- DB_TYPE=postgres
- DB_HOST=onlyoffice-postgresql
- DB_PORT=5432
- DB_NAME=onlyoffice
- DB_USER=onlyoffice
- DB_PWD=onlyoffice_pwd
# 与 RabbitMQ 一致(用户/密码/主机)
- AMQP_URI=amqp://onlyoffice:onlyoffice_pwd@onlyoffice-rabbitmq
ports:
- "8888:80" # 外部访问 ONLYOFFICE
volumes:
- /share/Container/onlyoffice/logs:/var/log/onlyoffice
- /share/Container/onlyoffice/data:/var/www/onlyoffice/Data
- /share/Container/onlyoffice/lib:/var/lib/onlyoffice
- /share/Container/onlyoffice/db-cache:/var/lib/onlyoffice/documentserver/App_Data/cache/files
- /share/Container/fonts:/usr/share/fonts/truetype/custom:ro
restart: unless-stopped
networks: [nextcloud-net]
depends_on:
- onlyoffice-postgresql
- onlyoffice-rabbitmq
onlyoffice-postgresql:
image: postgres:12
container_name: onlyoffice-postgresql
environment:
- POSTGRES_DB=onlyoffice
- POSTGRES_USER=onlyoffice
- POSTGRES_PASSWORD=onlyoffice_pwd
- TZ=Asia/Shanghai
volumes:
- /share/Container/onlyoffice/pgsql:/var/lib/postgresql/data
restart: unless-stopped
networks: [nextcloud-net]
onlyoffice-rabbitmq:
image: rabbitmq:3
container_name: onlyoffice-rabbitmq
environment:
- TZ=Asia/Shanghai
# 关键:创建与 AMQP_URI 一致的默认用户
- RABBITMQ_DEFAULT_USER=onlyoffice
- RABBITMQ_DEFAULT_PASS=onlyoffice_pwd
# 可选:若想自定义 vhost,则同时把 AMQP_URI 末尾加上 /yourvhost
# - RABBITMQ_DEFAULT_VHOST=/
# 建议持久化(可留着)
volumes:
- /share/Container/onlyoffice/rabbitmq:/var/lib/rabbitmq
restart: unless-stopped
networks: [nextcloud-net]
networks:
nextcloud-net:
driver: bridge