Deploy
Auto-deploy snotes when code is pushed to Gitea.
How it works
User pushes → Gitea webhook POST → webhook-server.py → git pull
→ docker compose build
→ docker compose up -d
→ health check
The webhook server runs on the Docker host (ppv.loc) and listens for push events from Gitea.
Setup
1. Start the webhook server on the Docker host
cd /root/git/snotes/deploy
python3 webhook-server.py --port 9997 --secret "<your-secret>"
Or run as a systemd service (see below).
2. Configure Gitea webhook
In the Gitea repo Settings > Webhooks > Add Webhook > Gitea:
- Target URL:
http://ppv.loc:9997/deploy - Secret: same
<your-secret>from step 1 - Trigger On: Push events
- Active: ✅
3. Test
Push to main. The webhook server logs each step.
systemd service (recommended)
Install deploy/snotes-deploy.service:
cp deploy/snotes-deploy.service /etc/systemd/system/snotes-deploy.service
# edit the --secret value in the unit, then:
systemctl daemon-reload
systemctl enable --now snotes-deploy
Manual deploy
bash deploy/deploy.sh
Secrets / config
deploy/deploy.conf (gitignored) can carry a GIT_TOKEN for HTTP remotes. The
default checkout uses SSH, so no token is needed.