bump to 0.6.0+v0.12.0 #2
@ -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=*
|
||||
|
||||
@ -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
|
||||
3
abra.sh
3
abra.sh
@ -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
|
||||
|
||||
49
compose.yml
49
compose.yml
@ -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
1
release/0.3.0+v0.11.1
Normal 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.
|
||||
@ -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
|
||||
Reference in New Issue
Block a user