n64-tracker/.forgejo/workflows/deploy.yml
mattie726 6bf6ed15d9
All checks were successful
Deploy / deploy (push) Successful in 26s
Install rsync in job container before sync step
2026-08-25 23:23:33 -07:00

34 lines
1.1 KiB
YAML

name: Deploy
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install rsync
run: apt-get update -qq && apt-get install -y -qq rsync
# The job container only sees its own checkout — the live app lives
# at /mnt/user/appdata/n64-tracker on the host, bind-mounted into
# this container at the same path (see runner container.options) so
# `docker compose`'s relative volume paths resolve against the real
# host directory rather than an ephemeral one. `.env` and `data/`
# are server-only and must survive every deploy. `Coverart/` isn't
# tracked in git (too large) — it's server-only too, kept in place.
- name: Sync source to deploy path
run: |
rsync -a --delete \
--exclude='.git' \
--exclude='.env' \
--exclude='data' \
--exclude='Coverart' \
./ /mnt/user/appdata/n64-tracker/
- name: Rebuild and restart
working-directory: /mnt/user/appdata/n64-tracker
run: docker compose up -d --build