lunch-notifier/.forgejo/workflows/deploy.yml
mattie726 dc40621eed
All checks were successful
Deploy / deploy (push) Successful in 32s
Install rsync in job container before sync step
2026-08-25 23:23:32 -07:00

32 lines
1,021 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/lunch-notifier 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.
- name: Sync source to deploy path
run: |
rsync -a --delete \
--exclude='.git' \
--exclude='.env' \
--exclude='data' \
./ /mnt/user/appdata/lunch-notifier/
- name: Rebuild and restart
working-directory: /mnt/user/appdata/lunch-notifier
run: docker compose up -d --build