Ready for NixOS builds

This commit is contained in:
NeilClack
2026-03-09 21:51:56 -05:00
parent cc51f40591
commit 0fd901b01f
9 changed files with 173 additions and 80 deletions
+7 -4
View File
@@ -71,10 +71,13 @@ Global config: `expect: { requireAssertions: true }`.
## Deployment
- Containerized via Dockerfile (multi-stage, Node 22 Alpine)
- CI/CD: GitHub Actions on push to `main` → Podman build → deploy with `--network=host`
- Hosted on DigitalOcean (managed PostgreSQL with SSL, self-hosted runner)
- Production `.env` mounted from `/mnt/volume_nyc3_01/Portal/.env`
- **Server infrastructure:** NixOS, configured declaratively in the `Webserver-Infra` repo
- **Secrets:** Managed via `sops-nix` (no plaintext `.env` files on the server)
- **CI/CD:** Forgejo Actions on push to `main` → `npm ci` → migrate → build → rsync to `/var/lib/portal/current/` → restart
- **Hosting:** DigitalOcean droplet (NixOS), managed PostgreSQL with SSL, self-hosted Forgejo runner
- **Portal path:** `/var/lib/portal/current` (deployed by CI, owned by `portal` user)
- **Reverse proxy:** Caddy with automatic HTTPS at `rhemawavetech.com`
- **Logs:** `journalctl -u portal -f`
## Environment Variables