infrastructure/nextcloud/docker-compose.yaml

73 lines
1.9 KiB
YAML

version: '3.2'
services:
db:
image: postgres:${postgres_version:-14}
restart: unless-stopped
environment:
- POSTGRES_DB=nextcloud
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
- database
app:
image: nextcloud:${nextcloud_version:-latest}
restart: unless-stopped
volumes:
- /media/nextcloud/nextcloud_data:/var/www/html/data
- /media/nextcloud/nextcloud_config:/var/www/html/config
- /media/nextcloud/nextcloud_apps:/var/www/html/custom_apps
environment:
- VIRTUAL_HOST=cloud.jfreudenberger.de # the domain where the service should be reached
- VIRTUAL_PORT=80 # the port the service listens in the container
- LETSENCRYPT_HOST=cloud.jfreudenberger.de # the same domain as VIRTUAL_HOST; this enables ssl
depends_on:
- db
networks:
- webproxy
- database
- onlyoffice
- redis
- smtp_relay
onlyoffice:
image: onlyoffice/documentserver:${onlyoffice_version:-latest}
restart: unless-stopped
environment:
- VIRTUAL_HOST=onlyoffice.jfreudenberger.de # the domain where the service should be reached
- VIRTUAL_PORT=80 # the port the service listens in the container
- LETSENCRYPT_HOST=onlyoffice.jfreudenberger.de # the same domain as VIRTUAL_HOST; this enables ssl
- JWT_ENABLED=${ONLYOFFICE_JWT_ENABLED:-false}
- JWT_SECRET=${ONLYOFFICE_JWT_SECRET}
volumes:
- document_data:/var/www/onlyoffice/Data
- document_log:/var/log/onlyoffice
networks:
- onlyoffice
- webproxy
redis:
image: redis:${redis_version:-latest}
restart: unless-stopped
networks:
- redis
networks:
database:
onlyoffice:
redis:
webproxy:
external: true
name: webproxy
smtp_relay:
external: true
name: smtp_relay
volumes:
postgres_data:
document_data:
document_log: