Compare commits

..

1 Commits

Author SHA1 Message Date
079812a9fa Adding a data volume to nextcloud
Instead of storing the nextcloud data as a docker volume,
store it on the local filesystem.
2026-03-22 15:46:49 +01:00
6 changed files with 18 additions and 12 deletions

View File

@ -23,6 +23,11 @@ SECRET_ADMIN_PASSWORD_VERSION=v1
EXTRA_VOLUME=/dev/null:/tmp/.dummy
# Use a local bind mount for nextdata instead of a named volume.
# The directory must exist on the host before deploying.
# COMPOSE_FILE="$COMPOSE_FILE:compose.local-data.yml"
# NEXTDATA_PATH=/path/on/host/nextdata
PHP_MEMORY_LIMIT=1G
PHP_UPLOAD_LIMIT=512M
# fpm-tune, see: https://spot13.com/pmcalculator/

View File

@ -25,21 +25,15 @@ Fully automated luxury Nextcloud via docker-swarm.
### Onlyoffice Integration
First install onlyoffice following the instructions in the
[OnlyOffice Recipe](https://recipes.coopcloud.tech/onlyoffice), and enable
the JWT secret.
`abra app config <app-name>`
Configure the following envs with the URL of the onlyoffice service:
Configure the following envs:
```
COMPOSE_FILE="$COMPOSE_FILE:compose.apps.yml"
ONLYOFFICE_URL=https://onlyoffice.example.com
SECRET_ONLYOFFICE_JWT_VERSION=v1
```
Then set the onlyoffice JWT secret from the onlyoffice installation:
* `abra app secret insert <app-name> onlyoffice_jwt v1 <jwt_secret>`
* `abra app cmd <app-name> app install_onlyoffice`

7
compose.local-data.yml Normal file
View File

@ -0,0 +1,7 @@
volumes:
nextdata:
driver: local
driver_opts:
type: none
o: bind
device: ${NEXTDATA_PATH}

View File

@ -14,7 +14,7 @@ services:
deploy:
labels:
- traefik.enable=true
- traefik.swarm.network=proxy
- traefik.docker.network=proxy
- traefik.http.services.${STACK_NAME}_talk.loadbalancer.server.port=8081
- traefik.http.routers.${STACK_NAME}_talk.rule=Host(`${TALK_DOMAIN}`)
- traefik.http.routers.${STACK_NAME}_talk.entrypoints=web-secure
@ -67,4 +67,4 @@ configs:
entrypoint_talk:
name: ${STACK_NAME}_entrypoint_talk_${ENTRYPOINT_TALK_VERSION}
file: entrypoint.talk.sh.tmpl
template_driver: golang
template_driver: golang

View File

@ -10,7 +10,7 @@ services:
deploy:
labels:
- traefik.enable=true
- traefik.swarm.network=proxy
- traefik.docker.network=proxy
- traefik.http.services.${STACK_NAME}_whiteboard.loadbalancer.server.port=3002
- traefik.http.routers.${STACK_NAME}_whiteboard.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS}) && PathPrefix(`/whiteboard`)
- traefik.http.routers.${STACK_NAME}_whiteboard.entrypoints=web-secure
@ -41,4 +41,4 @@ configs:
entrypoint_whiteboard:
name: ${STACK_NAME}_entrypoint_whiteboard_${ENTRYPOINT_WHITEBOARD_VERSION}
file: entrypoint.whiteboard.sh.tmpl
template_driver: golang
template_driver: golang

View File

@ -29,7 +29,7 @@ services:
order: start-first
labels:
- "traefik.enable=true"
- "traefik.swarm.network=proxy"
- "traefik.docker.network=proxy"
- "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=80"
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})"
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"