Compare commits

...

3 Commits

Author SHA1 Message Date
Cassowary 6a3c05f95c add db thingy 2024-03-26 12:29:12 -07:00
Cassowary 3742164e6f Fix grist_session_secret 2024-03-26 12:25:56 -07:00
Cassowary 53d3046e01 Fill in entrypoint, add abra.sh, fix environment 2024-03-26 12:22:50 -07:00
4 changed files with 50 additions and 4 deletions

View File

@ -7,7 +7,6 @@ DOMAIN=grist.example.com
LETS_ENCRYPT_ENV=production
GRIST_SUPPORT_ANON=false
SECRET_GRIST_SESSION_SECRET_VERSION=v1
#GRIST_SANDBOX_FLAVOR=
GRIST_SINGLE_ORG="yourorg"
GRIST_ORG_IN_PATH=true
@ -15,3 +14,6 @@ COOKIE_MAX_AGE=7776000000
GRIST_FORCE_LOGIN=true
GRIST_HIDE_UI_ELEMENTS=billing,sendToDrive
GRIST_DEFAULT_EMAIL=grist@example.com
SECRET_GRIST_SESSION_SECRET_VERSION=v1
SECRET_DB_PASSWORD_VERSION=v1

1
abra.sh Normal file
View File

@ -0,0 +1 @@
export ENTRYPOINT_CONF_VERSION=v1

View File

@ -5,14 +5,15 @@ services:
- proxy
- internal
environment:
- GRIST_DATABASE_URL=postgresql://${STACK_NAME}_db:5432/grist
- TYPEORM_DATABASE=grist
- TYPEORM_TYPE=postgres
- TYPEORM_USERNAME=grist
- TYPEORM_PASSWORD_FILE=/run/secrets/db_password
- TYPEORM_HOST=db
- REDIS_URL=redis://${STACK_NAME}_redis:6379
- GRIST_DATA_DIR=/var/grist-data
- GRIST_SUPPORT_ANON
- SESSION_SECRET_FILE=/run/secrets/
- GRIST_SESSION_SECRET_FILE=/run/secrets/session_secret
- GRIST_SANDBOX_FLAVOR=unsandboxed
- APP_HOME_URL=https://${DOMAIN}
- APP_DOC_URL=https://${DOMAIN}
@ -24,6 +25,12 @@ services:
- GRIST_DEFAULT_EMAIL
secrets:
- session_secret
- db_password
configs:
- source: entrypoint_conf
target: /docker-entrypoint.sh
mode: 0555
entrypoint: /docker-entrypoint.sh
volumes:
- grist_data:/persist
depends_on:
@ -66,7 +73,7 @@ secrets:
name: ${STACK_NAME}_db_password_${SECRET_DB_PASSWORD_VERSION}
session_secret:
external: true
name: ${STACK_NAME}_session_secret_${SECRET_SESSION_SECRET_VERSION}
name: ${STACK_NAME}_session_secret_${SECRET_GRIST_SESSION_SECRET_VERSION}
volumes:
postgresql_data:
@ -78,3 +85,9 @@ networks:
proxy:
external: true
internal:
configs:
entrypoint_conf:
name: ${STACK_NAME}_entrypoint_conf_${ENTRYPOINT_CONF_VERSION}
file: entrypoint.sh.tmpl
template_driver: golang

30
entrypoint.sh.tmpl Executable file
View File

@ -0,0 +1,30 @@
#!/bin/bash
set -e
file_env() {
local var="$1"
local fileVar="${var}_FILE"
local def="${2:-}"
if [ "${!var:-}" ] && [ "${!fileVar:-}" ]; then
echo >&2 "error: both $var and $fileVar are set (but are exclusive)"
exit 1
fi
local val="$def"
if [ "${!var:-}" ]; then
val="${!var}"
elif [ "${!fileVar:-}" ]; then
val="$(< "${!fileVar}")"
fi
export "$var"="$val"
unset "$fileVar"
}
file_env TYPEORM_PASSWORD
file_env GRIST_SESSION_SECRET
exec ./sandbox/run.sh $@