Files
b2b/taskfiles/gitea.yml
2026-03-10 09:02:57 +01:00

47 lines
1.8 KiB
YAML

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}}