Compare commits
7 Commits
0.2.5+v0.1
...
0.4.0+v0.1
| Author | SHA1 | Date | |
|---|---|---|---|
| bbc1270356 | |||
| ccac11e01c | |||
| 0c861eae16 | |||
| e364cdbaf7 | |||
| 2c7387523f | |||
| a2d8ebb8e5 | |||
| 4512245d82 |
@ -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
|
||||
|
||||
|
||||
1
abra.sh
1
abra.sh
@ -4,6 +4,7 @@ export ABRA_ENTRYPOINT_VERSION=v5
|
||||
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
|
||||
|
||||
51
compose.yml
51
compose.yml
@ -87,14 +87,14 @@ services:
|
||||
|
||||
app:
|
||||
user: "${DOCKER_USER:-1000}"
|
||||
image: lasuite/drive-frontend:v0.10.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.5+v0.10.1"
|
||||
- "coop-cloud.${STACK_NAME}.version=0.4.0+v0.12.0"
|
||||
environment:
|
||||
<<: [ *common-env ]
|
||||
healthcheck:
|
||||
@ -108,8 +108,7 @@ services:
|
||||
|
||||
backend:
|
||||
user: ${DOCKER_USER:-1000}
|
||||
# image: lasuite/drive-backend:v0.10.1
|
||||
image: lasuite/drive-backend:main
|
||||
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:
|
||||
@ -131,9 +130,37 @@ 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.12.0
|
||||
user: ${DOCKER_USER:-1000}
|
||||
networks:
|
||||
- backend
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
environment:
|
||||
<<: [ *common-env, *postgres-env ]
|
||||
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
|
||||
- oidc_rpcs
|
||||
- minio_rp
|
||||
- postgres_p
|
||||
- email_pass
|
||||
|
||||
celery:
|
||||
user: ${DOCKER_USER:-1000}
|
||||
image: lasuite/drive-backend:v0.10.1
|
||||
image: lasuite/drive-backend:v0.12.0
|
||||
networks:
|
||||
- backend
|
||||
command: [ "celery", "-A", "drive.celery_app", "worker", "-l", "INFO" ]
|
||||
@ -153,17 +180,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:
|
||||
@ -180,7 +207,7 @@ services:
|
||||
- postgres_p
|
||||
|
||||
redis:
|
||||
image: redis:5
|
||||
image: redis:8
|
||||
networks:
|
||||
- backend
|
||||
|
||||
@ -323,7 +350,7 @@ services:
|
||||
|
||||
|
||||
web:
|
||||
image: nginx:1.25
|
||||
image: nginx:1.29
|
||||
configs:
|
||||
- source: nginx_conf
|
||||
target: /etc/nginx/conf.d/default.conf
|
||||
@ -362,6 +389,10 @@ 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.
|
||||
13
schedule_wopi.sh
Normal file
13
schedule_wopi.sh
Normal 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
|
||||
Reference in New Issue
Block a user