13 Commits

4 changed files with 36 additions and 30 deletions

View File

@ -27,6 +27,8 @@ SECRET_COLLAB_SS_VERSION=v1
SECRET_POSTGRES_P_VERSION=v1
# Y_PROVIDER_API_KEY
SECRET_Y_API_KEY_VERSION=v1
# DJANGO_HOST_EMAIL_PASSWORD
SECRET_EMAIL_PASS_VERSION=v1
##############################################################################
# EMAIL
@ -35,6 +37,9 @@ DJANGO_EMAIL_BRAND_NAME="La Suite Numérique"
DJANGO_EMAIL_HOST="mail.example.com"
DJANGO_EMAIL_LOGO_IMG="http://$DOMAIN/assets/logo-suite-numerique.png"
DJANGO_EMAIL_PORT=1025
DJANGO_EMAIL_USE_SSL=True
DJANGO_EMAIL_USE_TLS=False
DJANGO_EMAIL_FROM=mail@example.com
##############################################################################
# SINGLE SIGN ON

View File

@ -3,21 +3,15 @@ set -e
[ -f /run/secrets/postgres_p ] && export DB_PASSWORD="$(cat /run/secrets/postgres_p)"
[ -f /run/secrets/django_sk ] && export DJANGO_SECRET_KEY="$(cat /run/secrets/django_sk)"
#[ -f /run/secrets/minio_rp ] && export MINIO_ROOT_PASSWORD="$(cat /run/secrets/minio_rp)"
[ -f /run/secrets/minio_rp ] && export AWS_S3_SECRET_ACCESS_KEY="$(cat /run/secrets/minio_rp)"
[ -f /run/secrets/minio_ru ] && export AWS_S3_ACCESS_KEY_ID="$(cat /run/secrets/minio_ru)"
[ -f /run/secrets/django_sp ] && export DJANGO_SUPERUSER_PASSWORD="$(cat /run/secrets/django_sp)"
[ -f /run/secrets/oidc_rpcs ] && export OIDC_RP_CLIENT_SECRET="$(cat /run/secrets/oidc_rpcs)"
[ -f /run/secrets/collab_ss ] && export COLLABORATION_SERVER_SECRET="$(cat /run/secrets/collab_ss)"
[ -f /run/secrets/y_api_key ] && export Y_PROVIDER_API_KEY="$(cat /run/secrets/y_api_key)"
[ -f /run/secrets/email_pass ] && export DJANGO_EMAIL_HOST_PASSWORD="$(cat /run/secrets/email_pass)"
# if not in "env" mode, then execute the original entrypoint and command
if [ ! "$1" = "-e" ]; then
ORIGINAL_ENTRYPOINT="$1"
shift
if [ -n "$ORIGINAL_ENTRYPOINT" ] && [ "$ORIGINAL_ENTRYPOINT" != "null" ]; then
exec "$ORIGINAL_ENTRYPOINT" "$@"
else
exec "$@"
fi
exec "$@"
fi

View File

@ -1,6 +1,6 @@
# Set any config versions here
# Docs: https://docs.coopcloud.tech/maintainers/handbook/#manage-configs
export ABRA_ENTRYPOINT_VERSION=v4
export ABRA_ENTRYPOINT_VERSION=v5
export NGINX_CONF_VERSION=v3
export PG_BACKUP_VERSION=v3

View File

@ -21,7 +21,10 @@ x-common-env: &common-env
DJANGO_EMAIL_LOGO_IMG:
DJANGO_EMAIL_PORT:
DJANGO_EMAIL_HOST_USER:
DJANGO_EMAIL_HOST_PASSWORD:
# DJANGO_EMAIL_HOST_PASSWORD supplied via secret
DJANGO_EMAIL_USE_SSL:
DJANGO_EMAIL_USE_TLS:
DJANGO_EMAIL_FROM:
# Backend url
IMPRESS_BASE_URL: "https://${DOMAIN}"
# Media
@ -80,14 +83,15 @@ x-minio-env: &minio-env
services:
app:
image: lasuite/impress-frontend:v3.4.2
image: lasuite/impress-frontend:v4.0.0
networks:
- backend
deploy:
labels:
- "traefik.enable=false"
- "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT:-120}"
- "coop-cloud.${STACK_NAME}.version=0.2.1+v3.4.2"
- "coop-cloud.${STACK_NAME}.version=0.2.4+v4.0.0"
user: "${DOCKER_USER:-1000}"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080"]
interval: 15s
@ -96,7 +100,7 @@ services:
start_period: 10s
backend:
image: lasuite/impress-backend:v3.4.2
image: lasuite/impress-backend:v4.0.0
networks:
- backend
environment:
@ -107,6 +111,7 @@ services:
timeout: 30s
retries: 20
start_period: 10s
user: "${DOCKER_USER:-1000}"
command: ["gunicorn", "-c", "/usr/local/etc/gunicorn/impress.py", "impress.wsgi:application"]
entrypoint: ["/abra-entrypoint.sh", "/usr/local/bin/entrypoint"]
configs:
@ -119,13 +124,16 @@ services:
- oidc_rpcs
- collab_ss
- minio_rp
- minio_ru
- postgres_p
- y_api_key
- email_pass
celery:
image: lasuite/impress-backend:v3.4.2
image: lasuite/impress-backend:v4.0.0
networks:
- backend
- backend
user: "${DOCKER_USER:-1000}"
command: ["celery", "-A", "impress.celery_app", "worker", "-l", "INFO"]
environment:
<<: [*common-env, *postgres-env, *yprovider-env]
@ -142,27 +150,20 @@ services:
- minio_rp
- postgres_p
- y_api_key
- email_pass
y-provider:
image: lasuite/impress-y-provider:v3.4.2
image: lasuite/impress-y-provider:v4.0.0
networks:
- backend
environment: *yprovider-env
user: "${DOCKER_USER:-1000}"
entrypoint: >
sh -c "export Y_PROVIDER_API_KEY=\"$$(cat /run/secrets/y_api_key)\" && exec /usr/local/bin/entrypoint \"$$@\"" --
command: ["yarn", "start"]
entrypoint: ["/abra-entrypoint.sh", "/usr/local/bin/entrypoint"]
configs:
- source: abra_entrypoint
target: /abra-entrypoint.sh
mode: 0555
# NOTE: healthcheck - `wget` is available in the container, but `wget http://localhost:4444` gives a 403
secrets:
- django_sk
- django_sp
- oidc_rpcs
- collab_ss
- minio_rp
- postgres_p
- y_api_key
db:
@ -229,9 +230,9 @@ services:
timeout: 20s
retries: 300
networks:
- backend
- backend
command: minio server /data
entrypoint: ["/abra-entrypoint.sh", "/usr/bin/docker-entrypoint.sh"]
entrypoint: ["/usr/bin/docker-entrypoint.sh"]
volumes:
- minio:/data
deploy:
@ -254,6 +255,9 @@ services:
networks:
proxy:
backend:
depends_on:
- backend
- app
environment:
- STACK_NAME
deploy:
@ -311,4 +315,7 @@ secrets:
name: ${STACK_NAME}_minio_ru_${SECRET_MINIO_RP_VERSION}
y_api_key:
external: true
name: ${STACK_NAME}_y_api_key_${SECRET_Y_API_KEY_VERSION}
name: ${STACK_NAME}_y_api_key_${SECRET_Y_API_KEY_VERSION}
email_pass:
external: true
name: ${STACK_NAME}_email_pass_${SECRET_EMAIL_PASS_VERSION}