version: "3" tasks: pull: desc: Pull remote Gitea DB into local DB aliases: [gp] silent: true cmds: - task db:reset - | ssh {{.REMOTE_USER}}@{{.REMOTE_HOST}} \ "docker exec {{.GITEA_SERVICE}} pg_dump -U {{.GITEA_USER}} {{.GITEA_DB}}" | docker compose -p {{.PROJECT}} exec -T {{.DB_SERVICE_NAME}} sh -c "PGPASSWORD='{{.DB_PASSWORD}}' psql -U {{.DB_USER}} -d {{.DB_NAME}}" dump: desc: Dump remote Gitea DB to file aliases: [gd] silent: true cmds: - | ssh {{.REMOTE_USER}}@{{.REMOTE_HOST}} "docker exec {{.GITEA_SERVICE}} pg_dump -U {{.GITEA_USER}} {{.GITEA_DB}}" > {{.DUMP_FILE_NAME}} gitea_pull_db_to_file_ma_al_pl: desc: Pull remote Gitea DB and upload to file.ma-al.pl aliases: [rdbtfmpl] silent: true vars: SERVER: https://file.ma-al.pl TARGET_DIR: maal_internal/timetracker/dumps TMP_DIR: /tmp TOKEN: sh: | curl -s -u "{{.FILE_MAAL_PL_USER}}:{{.FILE_MAAL_PL_PASSWORD}}" "{{.SERVER}}/api/v2/user/token" | jq -r .access_token preconditions: - sh: '[ -n "{{.FILE_MAAL_PL_USER}}" ]' msg: "Missing FILE_MAAL_PL_USER in .env" - sh: '[ -n "{{.FILE_MAAL_PL_PASSWORD}}" ]' msg: "Missing FILE_MAAL_PL_PASSWORD in .env" cmds: - | ssh {{.REMOTE_USER}}@{{.REMOTE_HOST}} "docker exec {{.GITEA_REMOTE_SERVICE}} pg_dump -U {{.GITEA_REMOTE_DB_USER}} {{.GITEA_REMOTE_DB_NAME}}" > {{.TMP_DIR}}/{{.DUMP_FILE_NAME}} - > curl -X POST "{{.SERVER}}/api/v2/user/files/upload?path={{.TARGET_DIR}}/{{.DUMP_FILE_NAME}}&mkdir_parents=true" -H "Authorization: Bearer {{.TOKEN}}" -H "Content-Type: application/x-tar" --data-binary "@{{.TMP_DIR}}/{{.DUMP_FILE_NAME}}" - | rm -f {{.TMP_DIR}}/{{.DUMP_FILE_NAME}}