version: '3.9' services: db: container_name: {{ customer }}-nextcloud-postgres image: postgres:16-alpine #original postgres:alpine restart: always volumes: - {{ customer }}-nextcloud-database:/var/lib/postgresql/data:Z - {{ customer }}-nextcloud-backups:/tmp/backups environment: POSTGRES_DB: nextcloud POSTGRES_USER: {{ nextcloud_postgres_user }} POSTGRES_PASSWORD: {{ nextcloud_postgres_password }} networks: {{ customer }}-nextcloud: ipv4_address: 172.20.9.2 redis: container_name: {{ customer }}-nextcloud-redis image: redis:alpine restart: always networks: {{ customer }}-nextcloud: ipv4_address: 172.20.9.3 app: container_name: {{ customer }}-nextcloud-app image: nextcloud:production-apache restart: always labels: - "diun.enable=true" ports: - '127.0.0.1:3023:80' volumes: - {{ customer }}-nextcloud-html:/var/www/html:z - /opt/letsbe/config/nextcloud:/var/www/html/config - /opt/letsbe/data/nextcloud:/var/www/html/data - {{ customer }}-nextcloud-backups:/tmp/backups environment: #Nextcloud POSTGRES_HOST: {{ customer }}-nextcloud-postgres REDIS_HOST: {{ customer }}-nextcloud-redis POSTGRES_DB: nextcloud POSTGRES_USER: {{ nextcloud_postgres_user }} POSTGRES_PASSWORD: {{ nextcloud_postgres_password }} # #SMTP # SMTP_HOST: 'mail.{{ domain }}' # SMTP_PORT: '587' # SMTP_NAME: 'system@{{ domain }}' # SMTP_PASSWORD: '' # MAIL_FROM_ADDRESS: 'system' # MAIL_DOMAIN: '{{ domain }}' #Admin NEXTCLOUD_ADMIN_USER: administrator@letsbe.biz NEXTCLOUD_ADMIN_PASSWORD: '{{ nextcloud_admin_password }}' #Config NEXTCLOUD_TRUSTED_DOMAINS: '{{ domain_nextcloud }} 127.0.0.1 0.0.0.0' TRUSTED_PROXIES: '{{ domain_nextcloud }} 127.0.0.1 0.0.0.0 172.*.*.*' OVERWRITECLIURL: https://{{ domain_nextcloud }} OVERWRITEPROTOCOL: https OVERWRITEHOST: {{ domain_nextcloud }} #APACHE_DISABLE_REWRITE_IP: 1 depends_on: - db - redis networks: {{ customer }}-nextcloud: ipv4_address: 172.20.9.4 cron: container_name: {{ customer }}-nextcloud-cron image: nextcloud:production-apache restart: always volumes: - {{ customer }}-nextcloud-html:/var/www/html:z - /opt/letsbe/config/nextcloud:/var/www/html/config - /opt/letsbe/data/nextcloud:/var/www/html/data entrypoint: /cron.sh depends_on: - db - redis networks: {{ customer }}-nextcloud: ipv4_address: 172.20.9.5 collabora: image: collabora/code:latest container_name: {{ customer }}-nextcloud-collabora restart: always environment: - password={{ collabora_password }} - username={{ collabora_user }} - domain={{ domain_collabora }} - extra_params=--o:ssl.enable=true ports: - '127.0.0.1:3044:9980' networks: {{ customer }}-nextcloud: ipv4_address: 172.20.9.7 nextcloud-whiteboard-server: image: ghcr.io/nextcloud-releases/whiteboard:release ports: - '127.0.0.1:3060:3002' environment: NEXTCLOUD_URL: '{{ domain_nextcloud }}' JWT_SECRET_KEY: '{{ nextcloud_jwt_secret }}' networks: {{ customer }}-nextcloud: ipv4_address: 172.20.9.8 networks: {{ customer }}-nextcloud: ipam: driver: default config: - subnet: 172.20.9.0/28 gateway: 172.20.9.1 volumes: {{ customer }}-nextcloud-html: # driver: local # driver_opts: # size: 100g {{ customer }}-nextcloud-database: # driver: local # driver_opts: # size: 100g {{ customer }}-nextcloud-backups: