card-grader/.forgejo/workflows/deploy.yml
mattie726 49e3d20977
All checks were successful
Deploy / deploy (push) Successful in 20s
Install rsync in job container before sync step
2026-08-25 23:23:31 -07:00

31 lines
989 B
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/card-grader 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. `data/` holds the
# production DB and photos and must survive every deploy.
- name: Sync source to deploy path
run: |
rsync -a --delete \
--exclude='.git' \
--exclude='data' \
./ /mnt/user/appdata/card-grader/
- name: Rebuild and restart
working-directory: /mnt/user/appdata/card-grader
run: docker compose up -d --build