Use Docker volumes instead of OS mounts.

This commit is contained in:
taudris 2023-02-02 19:13:08 -08:00
parent 20547de345
commit 7de6416328
1 changed files with 50 additions and 29 deletions

View File

@ -3,6 +3,35 @@ version: '3.8'
networks: networks:
nextcloud: nextcloud:
volumes:
files:
driver: local
driver_opts:
type: cifs
device: //ws22-fs.taudris.com/Resilient/Nextcloud/files
#credentials=/root/.smbcredentials-transmission,_netdev,dir_mode=0777,file_mode=0777,iocharset=utf8,relatime,cache=loose,vers=3.1.1,noauto,x-systemd.automount,x-systemd.idle-timeout=30 0 0
#o: "addr=ws22-fs.taudris.com,username=nextcloud,password=ZcdokLjERGSbwc8XDM72oTT6t7b5VxwavsxEE8RT7VGMAWjExQy6zVUB5xzK6Vj9,_netdev,dir_mode=0777,file_mode=0777,iocharset=utf8,relatime,vers=3.1.1,noauto,x-systemd.automount,x-systemd.idle-timeout=30"
#o: addr=ws22-fs.taudris.com,username=nextcloud,password=ZcdokLjERGSbwc8XDM72oTT6t7b5VxwavsxEE8RT7VGMAWjExQy6zVUB5xzK6Vj9,_netdev,dir_mode=0777,file_mode=0777,iocharset=utf8,relatime,vers=3.1.1
o: addr=ws22-fs.taudris.com,username=nextcloud,password=ZcdokLjERGSbwc8XDM72oTT6t7b5VxwavsxEE8RT7VGMAWjExQy6zVUB5xzK6Vj9,iocharset=utf8,relatime,vers=3.1.1,dir_mode=0770,file_mode=0770,rw,uid=1002,gid=1002,noauto,x-systemd.idle-timeout=30
redis_data:
driver: local
driver_opts:
type: cifs
device: //ws22-fs.taudris.com/Resilient/Nextcloud/redis
o: addr=ws22-fs.taudris.com,username=nextcloud,password=ZcdokLjERGSbwc8XDM72oTT6t7b5VxwavsxEE8RT7VGMAWjExQy6zVUB5xzK6Vj9,iocharset=utf8,relatime,vers=3.1.1,dir_mode=0770,file_mode=0770,rw,uid=1002,gid=1002
storage:
driver: local
driver_opts:
type: cifs
device: //ws22-fs.taudris.com/Resilient/Nextcloud/storage
o: addr=ws22-fs.taudris.com,username=nextcloud,password=ZcdokLjERGSbwc8XDM72oTT6t7b5VxwavsxEE8RT7VGMAWjExQy6zVUB5xzK6Vj9,iocharset=utf8,relatime,vers=3.1.1,dir_mode=0770,file_mode=0770,rw,uid=1002,gid=1002
cron-scripts:
driver: local
driver_opts:
type: cifs
device: //ws22-fs.taudris.com/Resilient/Nextcloud/cron-scripts
o: addr=ws22-fs.taudris.com,username=nextcloud,password=ZcdokLjERGSbwc8XDM72oTT6t7b5VxwavsxEE8RT7VGMAWjExQy6zVUB5xzK6Vj9,iocharset=utf8,relatime,vers=3.1.1,dir_mode=0770,file_mode=0770,rw,uid=1002,gid=1002
services: services:
app: app:
image: nextcloud:stable-apache image: nextcloud:stable-apache
@ -13,14 +42,13 @@ services:
- nextcloud.taudris.com - nextcloud.taudris.com
ports: ports:
- 7980:80 - 7980:80
user: 1002:1002 #set to match the user that has permission to the volume mounts user: 1002:1002 #set to match the user that has permission to the volumes
volumes: volumes:
- /etc/nextcloud/files:/var/www/html - files:/var/www/html:rw
- /etc/nextcloud/storage:/storage - storage:/storage:rw
- /etc/localtime:/etc/localtime:ro - /etc/localtime:/etc/localtime:ro
environment: environment:
OVERWRITEPROTOCOL: https OVERWRITEPROTOCOL: https
NEXTCLOUD_URL: nextcloud.taudris.com
NEXTCLOUD_TRUSTED_DOMAINS: nextcloud.taudris.com NEXTCLOUD_TRUSTED_DOMAINS: nextcloud.taudris.com
NEXTCLOUD_DATA_DIR: /storage NEXTCLOUD_DATA_DIR: /storage
NEXTCLOUD_ADMIN_PASSWORD: u8KXCqiZcVBUVr2Wa7EpkuDKPs8KYLb8uFNu3nfBQrxPx3ybUypgDkUVZP3E5v4T NEXTCLOUD_ADMIN_PASSWORD: u8KXCqiZcVBUVr2Wa7EpkuDKPs8KYLb8uFNu3nfBQrxPx3ybUypgDkUVZP3E5v4T
@ -35,43 +63,35 @@ services:
- redis - redis
cron: cron:
image: nextcloud:stable-apache image: rcdailey/nextcloud-cronjob
entrypoint: /cron.sh
networks:
nextcloud:
user: 1002:1002 #set to match the user that has permission to the volume mounts
volumes:
- /etc/nextcloud/files:/var/www/html
- /etc/nextcloud/storage:/storage
- /etc/localtime:/etc/localtime:ro
environment:
NEXTCLOUD_DATA_DIR: /storage
POSTGRES_HOST: db
POSTGRES_DB: nextcloud
POSTGRES_USER: nextcloud
POSTGRES_PASSWORD: qe8S4GioPRS2AZWwqLejzoEDNhGsJMrij6TJ4bXxC2XkfvjxNKoqKktvrHEcER6k
REDIS_HOST: redis
REDIS_HOST_PASSWORD: rYGNbjKkbKjALePfGDyLZ6uNp2UD3U4dGf4SZyL5iWqz3nexdko2HdS9vqDMRWVP
restart: always restart: always
network_mode: none
depends_on: depends_on:
- db - app
- redis volumes:
- cron-scripts:/cron-scripts:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
- /etc/localtime:/etc/localtime:ro
environment:
- NEXTCLOUD_CONTAINER_NAME=app
- NEXTCLOUD_PROJECT_NAME=nextcloud
- NEXTCLOUD_EXEC_USER=1002
collabora: collabora:
image: collabora/code image: collabora/code
restart: always restart: always
networks: networks:
nextcloud: nextcloud:
aliases: # aliases:
- collabora.taudris.com # - collabora.taudris.com
ports: ports:
- 9980:9980 - 9980:9980
environment: environment:
username: admin username: admin
password: 68gfyjs7s7ZoKHjYWHHEJEXLYcTFpQeb5wHv2cp33UW2vv5VKwjZtCmRrNeuCwAR password: 68gfyjs7s7ZoKHjYWHHEJEXLYcTFpQeb5wHv2cp33UW2vv5VKwjZtCmRrNeuCwAR
domain: nextcloud.taudris.com #WOPI host domain: 192\\.168\\.11\\.1
dictionaries: en_US dictionaries: en_US
#extra_params: "--o:ssl.enable=false" extra_params: --o:ssl.enable=false --o:ssl.termination=true
server_name: collabora.taudris.com server_name: collabora.taudris.com
cert_domain: collabora.taudris.com cert_domain: collabora.taudris.com
volumes: volumes:
@ -86,9 +106,8 @@ services:
networks: networks:
- nextcloud - nextcloud
volumes: volumes:
- /etc/nextcloud/db:/var/lib/postgresql/data - /etc/nextcloud/db:/var/lib/postgresql/data:rw
- /etc/localtime:/etc/localtime:ro - /etc/localtime:/etc/localtime:ro
user: 1002:1002 #set to match the user that has permission to the volume mounts
environment: environment:
POSTGRES_DB: nextcloud POSTGRES_DB: nextcloud
POSTGRES_USER: nextcloud POSTGRES_USER: nextcloud
@ -101,7 +120,9 @@ services:
networks: networks:
- nextcloud - nextcloud
volumes: volumes:
- redis_data:/data:rw
- /etc/localtime:/etc/localtime:ro - /etc/localtime:/etc/localtime:ro
user: 1002:1002 #set to match the user that has permission to the volumes
# coturn: # coturn:
# image: instrumentisto/coturn # image: instrumentisto/coturn