bump to 0.6.0+v0.12.0 #2

Merged
notplants merged 4 commits from update2 into main 2026-02-18 15:03:13 +00:00
6 changed files with 40 additions and 42 deletions

View File

@ -65,3 +65,12 @@ OIDC_AUTH_REQUEST_EXTRA_PARAMS='{"acr_values": "eidas1"}'
LOGGING_LEVEL_HANDLERS_CONSOLE=INFO
LOGGING_LEVEL_LOGGERS_ROOT=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=*

View File

@ -11,5 +11,12 @@ set -e
# if not in "env" mode, then execute the original entrypoint and command
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 "$@"
fi

View File

@ -1,10 +1,9 @@
# Set any config versions here
# 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 ONLYOFFICE_CONF_VERSION=v2
export PG_BACKUP_VERSION=v3
export SCHEDULE_WOPI_VERSION=v1
environment() {
# this exports all the secrets as environment variables

View File

@ -66,6 +66,11 @@ x-common-env: &common-env
WOPI_COLLABORA_DISCOVERY_URL: "https://${COLLABORA_DOMAIN}/hosting/discovery"
WOPI_ONLYOFFICE_DISCOVERY_URL: "https://${ONLY_OFFICE_DOMAIN}/hosting/discovery"
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
# Postgresql db container configuration
@ -87,14 +92,14 @@ services:
app:
user: "${DOCKER_USER:-1000}"
image: lasuite/drive-frontend:v0.11.1
image: lasuite/drive-frontend:v0.12.0
networks:
- backend
deploy:
labels:
- "traefik.enable=false"
- "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT:-120}"
- "coop-cloud.${STACK_NAME}.version=0.2.6+v0.11.1"
- "coop-cloud.${STACK_NAME}.version=0.6.0+v0.12.0"
environment:
<<: [ *common-env ]
healthcheck:
@ -108,7 +113,7 @@ services:
backend:
user: ${DOCKER_USER:-1000}
image: lasuite/drive-backend:v0.11.1
image: lasuite/drive-backend:v0.12.0
command: [ "gunicorn", "-c", "/usr/local/etc/gunicorn/drive.py", "drive.wsgi:application" ]
entrypoint: [ "/abra-entrypoint.sh", "/usr/local/bin/entrypoint" ]
environment:
@ -130,26 +135,20 @@ services:
- postgres_p
- email_pass
# 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:v0.11.1
celery:
user: ${DOCKER_USER:-1000}
image: lasuite/drive-backend:v0.12.0
networks:
- backend
depends_on:
- db
- redis
command: [ "celery", "-A", "drive.celery_app", "worker", "-l", "INFO" ]
entrypoint: ["/abra-entrypoint.sh", "/usr/local/bin/entrypoint"]
environment:
<<: [ *common-env, *postgres-env ]
<<: [*common-env, *postgres-env]
RUN_WOPI_ON_STARTUP: "true"
configs:
- 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
@ -158,12 +157,12 @@ services:
- postgres_p
- email_pass
celery:
celery-beat:
user: ${DOCKER_USER:-1000}
image: lasuite/drive-backend:v0.11.1
image: lasuite/drive-backend:v0.12.0
networks:
- backend
command: [ "celery", "-A", "drive.celery_app", "worker", "-l", "INFO" ]
command: [ "celery", "-A", "drive.celery_app", "beat", "-l", "INFO", "--schedule", "/tmp/celerybeat-schedule" ]
entrypoint: ["/abra-entrypoint.sh", "/usr/local/bin/entrypoint"]
environment:
<<: [*common-env, *postgres-env]
@ -180,17 +179,17 @@ services:
- email_pass
db:
image: postgres:16
image: pgautoupgrade/pgautoupgrade:18-debian
networks:
- backend
healthcheck:
test: ["CMD", "pg_isready", "-q", "-U", "docs", "-d", "docs"]
test: ["CMD", "pg_isready", "-q", "-U", "drive", "-d", "drive"]
interval: 1s
timeout: 2s
retries: 300
environment:
<<: *postgres-env
PGDATA: var/lib/postgresql/data/pgdata
PGDATA: /var/lib/postgresql/data/pgdata
volumes:
- postgres:/var/lib/postgresql/data/pgdata
deploy:
@ -207,7 +206,7 @@ services:
- postgres_p
redis:
image: redis:5
image: redis:8
networks:
- backend
@ -350,7 +349,7 @@ services:
web:
image: nginx:1.25
image: nginx:1.29
configs:
- source: nginx_conf
target: /etc/nginx/conf.d/default.conf
@ -389,10 +388,6 @@ configs:
pg_backup:
name: ${STACK_NAME}_pg_backup_${PG_BACKUP_VERSION}
file: pg_backup.sh
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}
file: abra-entrypoint.sh

1
release/0.3.0+v0.11.1 Normal file
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.

View File

@ -1,13 +0,0 @@
#!/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