# Horizon Dev Server ## How it runs The app runs as a systemd service (`horizon.service`) and will automatically start on boot and restart on crash. ## Managing the server ```bash systemctl start horizon # start systemctl stop horizon # stop systemctl restart horizon # restart systemctl status horizon # check status ``` ## Logs ```bash tail -f /var/log/horizon.log ``` ## Details - **Port:** 3000 (proxied via Pangolin to https://horizon.seubert.cloud) - **Stack directory:** `/opt/stacks/horizon` - **Mode:** Docker Compose (production Next.js standalone build) - **Container names:** `horizon-app`, `horizon-db` ## Managing the container stack ```bash cd /opt/stacks/horizon docker compose pull && docker compose up -d --build # rebuild & restart docker compose restart horizon-app # restart app only docker compose down # stop all docker compose logs -f horizon-app # app logs docker compose logs -f horizon-db # db logs ``` ## After code changes (rebuild image) ```bash cd /opt/stacks/horizon docker compose up -d --build horizon-app ``` ## After schema changes ```bash cd /opt/stacks/horizon docker compose exec horizon-app npx prisma db push docker compose restart horizon-app ``` ## Dev server (local development only) The systemd dev service still runs at `/opt/projects/OnDeck/ondeck`: ```bash systemctl start horizon # start dev systemctl stop horizon # stop dev systemctl restart horizon # restart dev systemctl status horizon # check status ```