172 lines
4.8 KiB
YAML
172 lines
4.8 KiB
YAML
|
|
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
|
||
|
|
|
||
|
|
talk-hpb:
|
||
|
|
container_name: {{ customer }}-nextcloud-talk-hpb
|
||
|
|
image: ghcr.io/nextcloud-releases/aio-talk:latest
|
||
|
|
restart: always
|
||
|
|
environment:
|
||
|
|
NC_DOMAIN: {{ domain_nextcloud }}
|
||
|
|
TALK_PORT: "3478"
|
||
|
|
TURN_SECRET: "{{ turn_secret }}"
|
||
|
|
SIGNALING_SECRET: "{{ signaling_secret }}"
|
||
|
|
INTERNAL_SECRET: "{{ internal_secret }}"
|
||
|
|
ports:
|
||
|
|
- "127.0.0.1:3061:8081"
|
||
|
|
networks:
|
||
|
|
{{ customer }}-nextcloud:
|
||
|
|
ipv4_address: 172.20.9.6
|
||
|
|
|
||
|
|
coturn:
|
||
|
|
image: instrumentisto/coturn:latest
|
||
|
|
container_name: {{ customer }}-coturn
|
||
|
|
restart: always
|
||
|
|
ports:
|
||
|
|
- "3478:3478/udp"
|
||
|
|
- "3478:3478/tcp"
|
||
|
|
- "49160-49200:49160-49200/udp"
|
||
|
|
command:
|
||
|
|
-n
|
||
|
|
--log-file=stdout
|
||
|
|
--fingerprint
|
||
|
|
--realm={{ domain_nextcloud }}
|
||
|
|
--external-ip={{ server_ip }}/172.20.9.9
|
||
|
|
--listening-port=3478
|
||
|
|
--min-port=49160
|
||
|
|
--max-port=49200
|
||
|
|
--use-auth-secret
|
||
|
|
--static-auth-secret={{ turn_secret }}
|
||
|
|
--no-multicast-peers
|
||
|
|
--no-cli
|
||
|
|
networks:
|
||
|
|
{{ customer }}-nextcloud:
|
||
|
|
ipv4_address: 172.20.9.9
|
||
|
|
|
||
|
|
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:
|