All four tasks have been implemented and verified:
veripath-webhook supervises /opt/deploy-webhook.js with auto-restartgit pull origin main (instead of fragile per-file API sync) to sync content from Forgejo/var/log/veripath-deploy.log/tmp/deploy-status.json tracks deploying/completed/failed states.data/ added to .dockerignore — stale SQLite cache excluded from build contextcontent.integrityCheck: true in nuxt.config.tsveripath-site-data Docker volume mounted at /app/.data — cache persists across restartsrm -f .data/content/contents.sqliteGET /api/health — used by Docker HEALTHCHECKGET /api/deploy/status — returns live deploy state from the webhook's status filenpm install layergit pull--no-cache from Docker build to enable layer cachingbetter-sqlite3 as explicit dependency (peer requirement of @nuxt/content)| File | Change |
|---|---|
/root/work/veripath-site/nuxt.config.ts |
Added @nuxt/content, nuxt-studio, integrityCheck |
/root/work/veripath-site/package.json |
Added deps, removed @directus/sdk |
/root/work/veripath-site/Dockerfile |
node:20-slim, HEALTHCHECK, CI=true |
/root/work/veripath-site/.dockerignore |
Added .data/ |
/root/work/veripath-site/pages/*.vue |
Migrated from useDirectus to queryCollection |
/opt/deploy-webhook.js |
Replaced API sync with git pull; added logging, retry, status file |
/opt/deploy-veripath-site.sh |
Added health polling, data volume, --no-cache removed |
/etc/systemd/system/veripath-webhook.service |
Systemd supervision |