Compare commits

...
15 Commits
Author SHA1 Message Date
Moritz 6f15d5f2c7 chore: publish 1.1.0+1.9.9 release 2024-07-16 17:32:26 +02:00
Moritz 8bc03406a1 Remove legacy backup configuration
by @wolcen
2024-07-16 17:31:57 +02:00
Moritz bc8996f558 Correct README re: configuring users
by @wolcen
2024-07-16 17:31:20 +02:00
Moritz fcf5bade21 Add basic health check for db container
by @wolcen
2024-07-16 17:29:45 +02:00
Moritz 3fc480b82b Remove unnecessary mode assignment for config.json @wolcen 2024-07-16 17:29:45 +02:00
Moritz f71534e396 fix indentation for backupbot labels 2024-07-16 17:29:45 +02:00
moritz 5e815e63a5 Merge pull request 'fix: use new uploads path' (#12) from fix-uploads-volume into main
Reviewed-on: https://git.coopcloud.tech/coop-cloud/hedgedoc/pulls/12
2024-07-16 14:52:03 +00:00
moritz ec98bab9d5 Merge pull request 'Pass -p also in entrypoint' (#14) from entrypoint-fix into main
Reviewed-on: https://git.coopcloud.tech/coop-cloud/hedgedoc/pulls/14
2024-07-16 14:49:28 +00:00
Moritz 65ec56ac08 add alakazam integration file alaconnect.yml 2024-05-13 17:41:59 +02:00
decentral1se 1ed15423c3 fix: pass "-p" and use new lines
Closes https://git.coopcloud.tech/coop-cloud/hedgedoc/issues/13
2024-04-28 17:57:38 +02:00
decentral1se 0443ffc984 chore: remove tabs 2024-04-28 17:55:55 +02:00
decentral1se c727320a31 fix: use new uploads path 2024-04-23 09:21:38 +02:00
Moritz e8f1186965 chore: publish 1.0.1+1.9.9 release 2024-04-17 17:14:23 +02:00
Moritz 66c5160812 fix backupbot label 2024-04-17 17:07:53 +02:00
trav c656afb176 chore: publish 1.0.0+1.9.9 release 2023-12-13 07:49:46 -08:00
6 changed files with 72 additions and 54 deletions
+2 -2
View File
@@ -25,8 +25,8 @@
5. `abra app deploy YOURAPPDOMAIN` 5. `abra app deploy YOURAPPDOMAIN`
6. Create initial user: 6. Create initial user:
``` ```
abra app YOURAPPDOMAIN run app bash abra app run YOURAPPDOMAIN app bash
. /docker-entrypoint2.sh -e . /docker-entrypoint.sh -e
bin/manage_users bin/manage_users
[hedegedoc]: https://github.com/hedgedoc/hedgedoc [hedegedoc]: https://github.com/hedgedoc/hedgedoc
+1 -13
View File
@@ -1,13 +1 @@
export ENTRYPOINT_CONF_VERSION=v8 export ENTRYPOINT_CONF_VERSION=v9
abra_backup_app() {
_abra_backup_dir "app:/home/hackmd/app/public/uploads/"
}
abra_backup_db() {
_abra_backup_postgres "db" "codimd" "codimd" "db_password"
}
abra_backup() {
abra_backup_app && abra_backup_db
}
+15
View File
@@ -0,0 +1,15 @@
authentik:
env:
CMD_OAUTH2_USER_PROFILE_URL: https://authentik.example.com/application/o/userinfo/
CMD_OAUTH2_USER_PROFILE_USERNAME_ATTR: preferred_username
CMD_OAUTH2_USER_PROFILE_DISPLAY_NAME_ATTR: name
CMD_OAUTH2_USER_PROFILE_EMAIL_ATTR: email
CMD_OAUTH2_TOKEN_URL: https://authentik.example.com/application/o/token/
CMD_OAUTH2_AUTHORIZATION_URL: https://authentik.example.com/application/o/authorize/
CMD_OAUTH2_CLIENT_ID: hedgedoc
CMD_OAUTH2_PROVIDERNAME: Authentik
uncomment:
- compose.oauth.yml
- SECRET_OAUTH_KEY_VERSION
shared_secrets:
hedgedoc_secret: oauth_key
+17 -11
View File
@@ -33,7 +33,7 @@ services:
- proxy - proxy
- internal - internal
volumes: volumes:
- codimd_uploads:/home/hackmd/app/public/uploads - codimd_uploads:/hedgedoc/public/uploads
secrets: secrets:
- db_password - db_password
entrypoint: /docker-entrypoint.sh entrypoint: /docker-entrypoint.sh
@@ -43,7 +43,6 @@ services:
mode: 0555 mode: 0555
- source: config_json - source: config_json
target: /files/config.json target: /files/config.json
mode: 0555
deploy: deploy:
restart_policy: restart_policy:
condition: on-failure condition: on-failure
@@ -57,8 +56,8 @@ services:
- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect" - "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect"
- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLForceHost=true" - "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLForceHost=true"
- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLHost=${DOMAIN}" - "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLHost=${DOMAIN}"
- coop-cloud.${STACK_NAME}.timeout=${TIMEOUT:-120} - "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT:-120}"
- coop-cloud.${STACK_NAME}.version=0.6.0+1.9.9 - "coop-cloud.${STACK_NAME}.version=1.1.0+1.9.9"
healthcheck: healthcheck:
test: "nodejs -e \"http.get('http://localhost:3000', (res) => { console.log('status: ', res.statusCode); if (res.statusCode == 200) { process.exit(0); } else { process.exit(1); } });\"" test: "nodejs -e \"http.get('http://localhost:3000', (res) => { console.log('status: ', res.statusCode); if (res.statusCode == 200) { process.exit(0); } else { process.exit(1); } });\""
interval: 30s interval: 30s
@@ -66,7 +65,7 @@ services:
retries: 10 retries: 10
start_period: 1m start_period: 1m
db: db:
image: postgres:11.20-alpine image: postgres:16.3-alpine
environment: environment:
- POSTGRES_USER=codimd - POSTGRES_USER=codimd
- POSTGRES_PASSWORD_FILE=/run/secrets/db_password - POSTGRES_PASSWORD_FILE=/run/secrets/db_password
@@ -79,12 +78,19 @@ services:
- internal - internal
deploy: deploy:
labels: labels:
backupbot.backup: "true" backupbot.backup: "true"
backupbot.backup.pre-hook: "mkdir -p /tmp/backup/ && PGPASSWORD=$$(cat $${POSTGRES_PASSWORD_FILE}) pg_dump -U $${POSTGRES_USER} $${POSTGRES_DB} > /tmp/backup/backup.sql" backupbot.backup.pre-hook: "PGPASSWORD=$$(cat $${POSTGRES_PASSWORD_FILE}) pg_dump -U $${POSTGRES_USER} $${POSTGRES_DB} > /var/lib/postgresql/data/backup.sql"
backupbot.backup.post-hook: "rm -rf /tmp/backup" backupbot.backup.post-hook: "rm -f /var/lib/postgresql/data/backup.sql"
backupbot.backup.path: "/tmp/backup/" backupbot.backup.path: "/var/lib/postgresql/data/backup.sql"
backupbot.restore: "true" backupbot.restore: "true"
backupbot.restore.post-hook: "sh -c 'psql -U $${POSTGRES_USER} -d $${POSTGRES_DB} < ./backup.sql && rm -f ./backup.sql'" backupbot.restore.post-hook: "sh -c 'psql -U $${POSTGRES_USER} -d $${POSTGRES_DB} < /var/lib/postgresql/data/backup.sql && rm -f /var/lib/postgresql/data/backup.sql'"
healthcheck:
test: "pg_isready"
interval: 30s
timeout: 10s
retries: 5
start_period: 1m
volumes: volumes:
postgres: postgres:
codimd_uploads: codimd_uploads:
+29 -27
View File
@@ -1,48 +1,50 @@
#!/usr/bin/env bash #!/usr/bin/env bash
file_env() { file_env() {
# 3wc: Load $VAR_FILE into $VAR - useful for secrets. See # 3wc: Load $VAR_FILE into $VAR - useful for secrets. See
# https://medium.com/@adrian.gheorghe.dev/using-docker-secrets-in-your-environment-variables-7a0609659aab # https://medium.com/@adrian.gheorghe.dev/using-docker-secrets-in-your-environment-variables-7a0609659aab
local var="$1" local var="$1"
local fileVar="${var}_FILE" local fileVar="${var}_FILE"
local def="${2:-}" local def="${2:-}"
if [ "${!var:-}" ] && [ "${!fileVar:-}" ]; then if [ "${!var:-}" ] && [ "${!fileVar:-}" ]; then
echo >&2 "error: both $var and $fileVar are set (but are exclusive)" echo >&2 "error: both $var and $fileVar are set (but are exclusive)"
exit 1 exit 1
fi fi
local val="$def" local val="$def"
if [ "${!var:-}" ]; then if [ "${!var:-}" ]; then
val="${!var}" val="${!var}"
elif [ "${!fileVar:-}" ]; then elif [ "${!fileVar:-}" ]; then
val="$(< "${!fileVar}")" val="$(< "${!fileVar}")"
fi fi
export "$var"="$val" export "$var"="$val"
unset "$fileVar" unset "$fileVar"
} }
load_vars() { load_vars() {
file_env "CMD_DB_PASSWORD" file_env "CMD_DB_PASSWORD"
file_env "CMD_OAUTH2_CLIENT_SECRET" file_env "CMD_OAUTH2_CLIENT_SECRET"
} }
main() { main() {
set -eu set -eu
load_vars load_vars
mkdir "/hedgedoc/.npm" && chown -R 10000:65534 "/hedgedoc/.npm" && chmod "u+rwx" "/hedgedoc/.npm" mkdir -p "/hedgedoc/.npm" && \
chown -R 10000:65534 "/hedgedoc/.npm" && \
chmod "u+rwx" "/hedgedoc/.npm"
} }
main main
export CMD_DB_URL=postgres://$CMD_DB_USER:$CMD_DB_PASSWORD@$CMD_DB_HOST:5432/$CMD_DB_NAME export CMD_DB_URL=postgres://$CMD_DB_USER:$CMD_DB_PASSWORD@$CMD_DB_HOST:5432/$CMD_DB_NAME
# 3wc: `source /docker-entrypoint2.sh -e` to load CMD_DB_URL for CLI scripts # 3wc: `source /docker-entrypoint.sh -e` to load CMD_DB_URL for CLI scripts
if [ ! "${1-}" == "-e" ]; then if [ ! "${1-}" == "-e" ]; then
# 3wc: upstream ENTRYPOINT # 3wc: upstream ENTRYPOINT
# https://github.com/hedgedoc/container/blob/master/alpine/Dockerfile # https://github.com/hedgedoc/container/blob/master/alpine/Dockerfile
mkdir -p "/hedgedoc/.npm" && chown -R 10000:65534 "/hedgedoc/.npm" mkdir -p "/hedgedoc/.npm" && chown -R 10000:65534 "/hedgedoc/.npm"
/usr/local/bin/docker-entrypoint.sh npm start /usr/local/bin/docker-entrypoint.sh npm start
fi fi
set +eu set +eu
+7
View File
@@ -0,0 +1,7 @@
WARNING WARNING WARNING 🚨
This release includes a major Postgres database upgrade, but does not yet include tools to automatically upgrade from older Postgres releases.
PLEASE DO NOT UPGRADE EXISTING INSTANCES TO THIS VERSION.
This should be fixed soon.