Files
Orchestrator/dhive/Jury-Voting/DEPLOY.md
ankn a5f8fb49ab Migrate all repos into monorepo context folders
Bahn: aisupport, Analyse-O2C-C2S, awesome-bahn-mcp-servers, beam-mcp,
      Confluence_Bot, db-planet-mcp-server, O2C-Harness, project-audit,
      Projekt-KIQ-HP, teamlandkarte-mcp
Dhive: Jury-Voting
Privat: CV, NoteGraph (NOTE: NoteGraph needs complete redo after consolidation)
Shared: AI-Orchestrator, OrgMyLife, power_skills_and_more
Shared/references: symphony (read-only)

Bahn repos remain available as independent remotes - this monorepo
pulls them in via subtree, the originals are untouched.
2026-06-30 20:39:52 +02:00

1.2 KiB

Deployment

How It Works

  1. Push to main → GitHub Actions builds frontend + deploys to VPS (217.160.174.2)
  2. App runs as systemd service jury-voting on port 3002
  3. Caddy (managed via NoteGraph/Caddyfile) proxies unikat.andreknie.delocalhost:3002
  4. Score data persists in /opt/jury-voting/server/data/session.json

DNS Setup (one-time)

Add an A record: unikat.andreknie.de217.160.174.2

Caddy handles HTTPS automatically via Let's Encrypt.

GitHub Secret

URLs

  • Login: https://unikat.andreknie.de/?token=UNIKAT_jury
  • Results (beamer): https://unikat.andreknie.de/results
  • Admin: https://unikat.andreknie.de/admin
  • Password: UNIKAT_jury

Future: Move to d-hive.de

When ready to move to unikat.d-hive.de:

  1. Add DNS A record for unikat.d-hive.de → VPS IP
  2. Add unikat.d-hive.de block to Caddyfile (same as unikat.andreknie.de)

Manual Operations (on VPS)

# Check service status
systemctl status jury-voting

# View logs
journalctl -u jury-voting -f

# Restart
systemctl restart jury-voting

# Reset all scores (start fresh)
rm /opt/jury-voting/server/data/session.json
systemctl restart jury-voting