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 # .env and data/ are server-only state and must survive every # deploy — without the excludes, --delete removes them because # they aren't in the repo. - name: Sync source to deploy path run: | rsync -a --delete \ --exclude='.git' \ --exclude='.env' \ --exclude='data' \ ./ /mnt/user/appdata/massprice/ - name: Rebuild and restart working-directory: /mnt/user/appdata/massprice run: docker compose up -d --build