diff --git a/.env.sample b/.env.sample index 47ad531..a856e3a 100644 --- a/.env.sample +++ b/.env.sample @@ -8,9 +8,6 @@ DOMAIN=hedgedoc.example.com #EXTRA_DOMAINS=', `www.hedgedoc.example.com`' LETS_ENCRYPT_ENV=production -SECRET_DB_PASSWORD_VERSION=v1 -SECRET_SESSION_SECRET_VERSION=v1 - COMPOSE_FILE="compose.yml" # OAuth, see https://docs.hedgedoc.org/guides/auth/keycloak/ diff --git a/compose.yml b/compose.yml index 19a79ec..fe76969 100644 --- a/compose.yml +++ b/compose.yml @@ -8,10 +8,7 @@ services: - CMD_DOMAIN=$DOMAIN - CMD_PROTOCOL_USESSL=true - CMD_HSTS_ENABLE=false - - CMD_DB_NAME=codimd - - CMD_DB_USER=codimd - - CMD_DB_HOST=db - - CMD_DB_PASSWORD_FILE=/run/secrets/db_password + - CMD_DB_URL=sqlite:/database/db.sqlite3 - CMD_ALLOW_ANONYMOUS - CMD_ALLOW_ANONYMOUS_EDITS - CMD_ALLOW_EMAIL_REGISTER @@ -29,13 +26,11 @@ services: - CMD_SESSION_LIFE - CMD_SESSION_SECRET_FILE=/run/secrets/session_secret - DOCUMENT_MAX_LENGTH - depends_on: - - db networks: - proxy - - internal volumes: - codimd_uploads:/hedgedoc/public/uploads + - codimd_database:/database secrets: - db_password - session_secret @@ -61,55 +56,24 @@ services: - "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLHost=${DOMAIN}" - "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT:-120}" - "coop-cloud.${STACK_NAME}.version=1.2.1+1.10.0" + - "backupbot.backup=true" 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); } });\"" interval: 30s timeout: 10s retries: 10 start_period: 1m - db: - image: postgres:16.4-alpine - environment: - - POSTGRES_USER=codimd - - POSTGRES_PASSWORD_FILE=/run/secrets/db_password - - POSTGRES_DB=codimd - volumes: - - "postgres:/var/lib/postgresql/data" - secrets: - - db_password - networks: - - internal - deploy: - labels: - backupbot.backup: "${ENABLE_BACKUPS:-true}" - backupbot.backup.pre-hook: "/pg_backup.sh backup" - backupbot.backup.volumes.postgres.path: "backup.sql" - backupbot.restore.post-hook: '/pg_backup.sh restore' - healthcheck: - test: "pg_isready" - interval: 30s - timeout: 10s - retries: 5 - start_period: 1m - configs: - - source: pg_backup - target: /pg_backup.sh - mode: 0555 - volumes: - postgres: codimd_uploads: + codimd_database: + secrets: - db_password: - external: true - name: ${STACK_NAME}_db_password_${SECRET_DB_PASSWORD_VERSION} session_secret: external: true name: ${STACK_NAME}_session_secret_${SECRET_SESSION_SECRET_VERSION} networks: proxy: external: true - internal: configs: config_json: name: ${STACK_NAME}_config_${ENTRYPOINT_CONF_VERSION} @@ -119,6 +83,3 @@ configs: name: ${STACK_NAME}_entrypoint_${ENTRYPOINT_CONF_VERSION} file: entrypoint.sh.tmpl template_driver: golang - pg_backup: - name: ${STACK_NAME}_pg_backup_${PG_BACKUP_VERSION} - file: pg_backup.sh