automatic wopi configuration

This commit is contained in:
notplants
2026-01-26 18:18:16 -05:00
parent a2d8ebb8e5
commit 2c7387523f
5 changed files with 30 additions and 12 deletions

View File

@ -28,11 +28,14 @@ This recipe requires four domains. One domain for drive, and one for minio which
- make sure to set MINIO_DOMAIN, COLLABORA_DOMAIN, ONLY_OFFICE_DOMAIN to the domains you set up for each.
* `abra app deploy <app-name>`
* `abra app cmd <app-name> backend migrate` # creates database tables
* `abra app cmd <app-name> backend trigger_wopi` # connects only office & collabora (if they stop working, try running this again)
* `abra app restart <app-name> minio-createbuckets` (Note: this will appear to fail, but probably worked! Check `abra app logs <app-name> minio-createbuckets`)
You should then be able to visit the landing page of your app, but not yet to login. To login, you need to deploy and integrate single sign on (described below in the "Configure Authentication" section).
Wopi discovery is supposed to happen automatically, but if collabora/onlyoffice are not connecting, you can try running:
* `abra app cmd <app-name> backend trigger_wopi` # connects only office & collabora (if they stop working, try running this again)
## Configure Authentication

View File

@ -4,7 +4,7 @@ export ABRA_ENTRYPOINT_VERSION=v5
export NGINX_CONF_VERSION=v6
export ONLYOFFICE_CONF_VERSION=v2
export PG_BACKUP_VERSION=v3
export SCHEDULER_CRON_VERSION=v1
export SCHEDULE_WOPI_VERSION=v1
environment() {
# this exports all the secrets as environment variables

View File

@ -131,8 +131,8 @@ services:
- postgres_p
- email_pass
# this may be unnecesary once the PR is merge to use celery beat
# but this is a cron job workaround for now https://github.com/suitenumerique/drive/issues/484
# this may be unecessary once the PR is merged to use celery beat
# but this is a workaround for now https://github.com/suitenumerique/drive/issues/484
scheduler:
image: lasuite/drive-backend:main
user: ${DOCKER_USER:-1000}
@ -143,11 +143,14 @@ services:
- redis
environment:
<<: [ *common-env, *postgres-env ]
entrypoint: ["/abra-entrypoint.sh", "/usr/local/bin/entrypoint"]
configs:
- source: scheduler_cron
target: /etc/crontabs/root
command: ["crond", "-f", "-l", "2"]
- source: schedule_wopi
target: /app/schedule_wopi.sh
mode: 0755
- source: abra_entrypoint
target: /abra-entrypoint.sh
mode: 0555
entrypoint: ["/app/schedule_wopi.sh"]
secrets:
- django_sk
- django_sp
@ -387,9 +390,9 @@ configs:
pg_backup:
name: ${STACK_NAME}_pg_backup_${PG_BACKUP_VERSION}
file: pg_backup.sh
scheduler_cron:
name: ${STACK_NAME}_scheduler_cron_${SCHEDULER_CRON_VERSION}
file: scheduler_cron.tmpl
schedule_wopi:
name: ${STACK_NAME}_schedule_wopi_${SCHEDULE_WOPI_VERSION}
file: schedule_wopi.sh
template_driver: golang
abra_entrypoint:
name: ${STACK_NAME}_entrypoint_${ABRA_ENTRYPOINT_VERSION}

13
schedule_wopi.sh Normal file
View File

@ -0,0 +1,13 @@
#!/bin/sh
set -e
while true; do
echo "Running WOPI job at $(date)"
# source env
. /abra-entrypoint.sh -e
# run python command
python manage.py trigger_wopi_configuration
echo "++ completed wopi trigger. now sleeping."
# wait before next run
sleep 1800 # 1800 seconds = 30 minutes
done

View File

@ -1 +0,0 @@
*/5 * * * * cd /app && python manage.py trigger_wopi_configuration >> /proc/1/fd/1 2>&1