Compare commits

...
Author SHA1 Message Date
notplants 3a9e85a114 bump to 0.6.0+v0.12.0 2026-02-18 14:38:22 +00:00
notplants f114ed0bab bump to 0.5.0+v0.12.0 2026-02-18 13:54:20 +00:00
notplants bbc1270356 upgrade to 0.4.0+v0.12.0 2026-02-18 12:03:26 +00:00
notplants ccac11e01c bump to 0.3.0+v0.11.1 2026-02-18 11:47:40 +00:00
notplants 0c861eae16 update to version 0.2.6+v0.11.1 2026-01-26 18:34:44 -05:00
notplants e364cdbaf7 update to version 0.2.6+v0.11.1 2026-01-26 18:34:44 -05:00
notplants 2c7387523f automatic wopi configuration 2026-01-26 18:18:16 -05:00
notplants a2d8ebb8e5 rename 2026-01-26 17:23:31 -05:00
notplants 4512245d82 working on wopi scheduler 2026-01-26 16:48:49 -05:00
6 changed files with 58 additions and 12 deletions
+9
View File
@@ -65,3 +65,12 @@ OIDC_AUTH_REQUEST_EXTRA_PARAMS='{"acr_values": "eidas1"}'
LOGGING_LEVEL_HANDLERS_CONSOLE=INFO LOGGING_LEVEL_HANDLERS_CONSOLE=INFO
LOGGING_LEVEL_LOGGERS_ROOT=INFO LOGGING_LEVEL_LOGGERS_ROOT=INFO
LOGGING_LEVEL_LOGGERS_APP=INFO LOGGING_LEVEL_LOGGERS_APP=INFO
##############################################################################
# WOPI SCHEDULING
##############################################################################
# Celery Beat crontab for the WOPI configuration task (default: daily at 3:00 AM)
#WOPI_CONFIGURATION_CRONTAB_MINUTE=0
#WOPI_CONFIGURATION_CRONTAB_HOUR=3
#WOPI_CONFIGURATION_CRONTAB_DAY_OF_MONTH=*
#WOPI_CONFIGURATION_CRONTAB_MONTH_OF_YEAR=*
+4 -1
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. - 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 deploy <app-name>`
* `abra app cmd <app-name> backend migrate` # creates database tables * `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`) * `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). 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 ## Configure Authentication
+7
View File
@@ -11,5 +11,12 @@ set -e
# if not in "env" mode, then execute the original entrypoint and command # if not in "env" mode, then execute the original entrypoint and command
if [ ! "$1" = "-e" ]; then if [ ! "$1" = "-e" ]; then
# Run WOPI configuration on startup if enabled (celery worker service only).
# This ensures WOPI clients are configured immediately after each deploy,
# rather than waiting for the next celery-beat cron tick (default: 3 AM).
if [ "${RUN_WOPI_ON_STARTUP:-}" = "true" ]; then
echo "🐳(entrypoint) running WOPI configuration on startup..."
python manage.py trigger_wopi_configuration || echo "⚠ WOPI configuration failed (non-fatal, will retry on schedule)"
fi
exec "$@" exec "$@"
fi fi
+1 -1
View File
@@ -1,6 +1,6 @@
# Set any config versions here # Set any config versions here
# Docs: https://docs.coopcloud.tech/maintainers/handbook/#manage-configs # Docs: https://docs.coopcloud.tech/maintainers/handbook/#manage-configs
export ABRA_ENTRYPOINT_VERSION=v5 export ABRA_ENTRYPOINT_VERSION=v7
export NGINX_CONF_VERSION=v6 export NGINX_CONF_VERSION=v6
export ONLYOFFICE_CONF_VERSION=v2 export ONLYOFFICE_CONF_VERSION=v2
export PG_BACKUP_VERSION=v3 export PG_BACKUP_VERSION=v3
+36 -10
View File
@@ -66,6 +66,11 @@ x-common-env: &common-env
WOPI_COLLABORA_DISCOVERY_URL: "https://${COLLABORA_DOMAIN}/hosting/discovery" WOPI_COLLABORA_DISCOVERY_URL: "https://${COLLABORA_DOMAIN}/hosting/discovery"
WOPI_ONLYOFFICE_DISCOVERY_URL: "https://${ONLY_OFFICE_DOMAIN}/hosting/discovery" WOPI_ONLYOFFICE_DISCOVERY_URL: "https://${ONLY_OFFICE_DOMAIN}/hosting/discovery"
WOPI_SRC_BASE_URL: "https://${DOMAIN}" WOPI_SRC_BASE_URL: "https://${DOMAIN}"
# WOPI scheduling (Celery Beat crontab for WOPI configuration task)
WOPI_CONFIGURATION_CRONTAB_MINUTE: ${WOPI_CONFIGURATION_CRONTAB_MINUTE:-0}
WOPI_CONFIGURATION_CRONTAB_HOUR: ${WOPI_CONFIGURATION_CRONTAB_HOUR:-3}
WOPI_CONFIGURATION_CRONTAB_DAY_OF_MONTH: ${WOPI_CONFIGURATION_CRONTAB_DAY_OF_MONTH:-*}
WOPI_CONFIGURATION_CRONTAB_MONTH_OF_YEAR: ${WOPI_CONFIGURATION_CRONTAB_MONTH_OF_YEAR:-*}
x-postgres-env: &postgres-env x-postgres-env: &postgres-env
# Postgresql db container configuration # Postgresql db container configuration
@@ -87,14 +92,14 @@ services:
app: app:
user: "${DOCKER_USER:-1000}" user: "${DOCKER_USER:-1000}"
image: lasuite/drive-frontend:v0.10.1 image: lasuite/drive-frontend:v0.12.0
networks: networks:
- backend - backend
deploy: deploy:
labels: labels:
- "traefik.enable=false" - "traefik.enable=false"
- "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT:-120}" - "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT:-120}"
- "coop-cloud.${STACK_NAME}.version=0.2.5+v0.10.1" - "coop-cloud.${STACK_NAME}.version=0.6.0+v0.12.0"
environment: environment:
<<: [ *common-env ] <<: [ *common-env ]
healthcheck: healthcheck:
@@ -108,8 +113,7 @@ services:
backend: backend:
user: ${DOCKER_USER:-1000} user: ${DOCKER_USER:-1000}
# image: lasuite/drive-backend:v0.10.1 image: lasuite/drive-backend:v0.12.0
image: lasuite/drive-backend:main
command: [ "gunicorn", "-c", "/usr/local/etc/gunicorn/drive.py", "drive.wsgi:application" ] command: [ "gunicorn", "-c", "/usr/local/etc/gunicorn/drive.py", "drive.wsgi:application" ]
entrypoint: [ "/abra-entrypoint.sh", "/usr/local/bin/entrypoint" ] entrypoint: [ "/abra-entrypoint.sh", "/usr/local/bin/entrypoint" ]
environment: environment:
@@ -133,11 +137,33 @@ services:
celery: celery:
user: ${DOCKER_USER:-1000} user: ${DOCKER_USER:-1000}
image: lasuite/drive-backend:v0.10.1 image: lasuite/drive-backend:v0.12.0
networks: networks:
- backend - backend
command: [ "celery", "-A", "drive.celery_app", "worker", "-l", "INFO" ] command: [ "celery", "-A", "drive.celery_app", "worker", "-l", "INFO" ]
entrypoint: ["/abra-entrypoint.sh", "/usr/local/bin/entrypoint"] entrypoint: ["/abra-entrypoint.sh", "/usr/local/bin/entrypoint"]
environment:
<<: [*common-env, *postgres-env]
RUN_WOPI_ON_STARTUP: "true"
configs:
- source: abra_entrypoint
target: /abra-entrypoint.sh
mode: 0555
secrets:
- django_sk
- django_sp
- oidc_rpcs
- minio_rp
- postgres_p
- email_pass
celery-beat:
user: ${DOCKER_USER:-1000}
image: lasuite/drive-backend:v0.12.0
networks:
- backend
command: [ "celery", "-A", "drive.celery_app", "beat", "-l", "INFO", "--schedule", "/tmp/celerybeat-schedule" ]
entrypoint: ["/abra-entrypoint.sh", "/usr/local/bin/entrypoint"]
environment: environment:
<<: [*common-env, *postgres-env] <<: [*common-env, *postgres-env]
configs: configs:
@@ -153,17 +179,17 @@ services:
- email_pass - email_pass
db: db:
image: postgres:16 image: pgautoupgrade/pgautoupgrade:18-debian
networks: networks:
- backend - backend
healthcheck: healthcheck:
test: ["CMD", "pg_isready", "-q", "-U", "docs", "-d", "docs"] test: ["CMD", "pg_isready", "-q", "-U", "drive", "-d", "drive"]
interval: 1s interval: 1s
timeout: 2s timeout: 2s
retries: 300 retries: 300
environment: environment:
<<: *postgres-env <<: *postgres-env
PGDATA: var/lib/postgresql/data/pgdata PGDATA: /var/lib/postgresql/data/pgdata
volumes: volumes:
- postgres:/var/lib/postgresql/data/pgdata - postgres:/var/lib/postgresql/data/pgdata
deploy: deploy:
@@ -180,7 +206,7 @@ services:
- postgres_p - postgres_p
redis: redis:
image: redis:5 image: redis:8
networks: networks:
- backend - backend
@@ -323,7 +349,7 @@ services:
web: web:
image: nginx:1.25 image: nginx:1.29
configs: configs:
- source: nginx_conf - source: nginx_conf
target: /etc/nginx/conf.d/default.conf target: /etc/nginx/conf.d/default.conf
+1
View File
@@ -0,0 +1 @@
Switched the database image from postgres:16 to pgautoupgrade/pgautoupgrade:18-debian. This enables automatic PostgreSQL major version upgrades. No action required from the operator — the upgrade from PostgreSQL 16 to 18 is handled automatically by the pgautoupgrade image on first start.