diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index a775479..3f4bf14 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -48,6 +48,10 @@ services: DB_NAME: ${DB_NAME} AUTH_SECRET: ${AUTH_SECRET} NODE_ENV: production + BACKUP_SSH_URL: ${BACKUP_SSH_URL} + BACKUP_SSH_KEY_PATH: /run/secrets/backup_ssh_key + volumes: + - ${BACKUP_SSH_KEY_FILE}:/run/secrets/backup_ssh_key:ro ports: - "127.0.0.1:${APP_PORT:-3000}:3000" depends_on: diff --git a/lib/backup.ts b/lib/backup.ts index 0923e6e..0e6476f 100644 --- a/lib/backup.ts +++ b/lib/backup.ts @@ -34,9 +34,12 @@ async function runBackup(): Promise { '-o', 'BatchMode=yes', ]; + const dumpBin = process.env.BACKUP_DUMP_CMD || 'mariadb-dump'; + await new Promise((resolve, reject) => { - const dump = spawn('mysqldump', [ + const dump = spawn(dumpBin, [ `-h${dbHost}`, `-P${dbPort}`, `-u${dbUser}`, + '--skip-ssl', `--ignore-table=${dbName}.beos`, dbName, ], { env: { ...process.env, MYSQL_PWD: dbPass } });