v0.13.0 web and terminal client enhance, replay api, linux server deploy, doc and dependency update
test / test (push) Canceled after 0s

This commit is contained in:
lixen committed 2026-09-28 22:35:52 -04:00
1 parent 52ac0fe31a
commit f1ac4cbbe7
71 files changed
+7677 -537

No files matched your search

+27 -7
View File
@@ -1,7 +1,12 @@
# Deployment Scripts
Run in this order; each script's header documents its inputs. The full guide is
[doc/deployment.md](../doc/deployment.md).
Each script's header documents its inputs. Day-to-day database work (psql,
accounts, deleting games, starting fresh) is in
[doc/database.md](../doc/database.md).
## FreeBSD jail
Full guide: [doc/deployment.md](../doc/deployment.md). Run in this order:
| Order | Where | Step | Purpose |
|---|---|---|---|
@@ -9,13 +14,28 @@ Run in this order; each script's header documents its inputs. The full guide is
| 2 | Jail, once | `pkg install postgresql18-server postgresql18-client stockfish` | Packages |
| 3 | Build machine | `make server-freebsd` | Static `bin/chess-server-freebsd-amd64` |
| 4 | Jail (root) | `freebsd/setup-jail.sh` | PostgreSQL setup, database, `chessd` service, optional log rotation and backups; rerun to upgrade |
| 5 | Bastille host | `freebsd/nginx-chess.conf` | nginx locations for `/chess/api/` and `/chess/health` |
| 5 | Bastille host | `nginx-chess.conf` | nginx locations for `/chess/api/`, `/chess/health`, and the `/chess` short link |
| 6 | Jail, once | `chess-server db user add -username <name>` | First account (see the guide) |
Supporting files, installed by `setup-jail.sh`:
## Linux with systemd
Full guide: [doc/deployment-linux.md](../doc/deployment-linux.md) (Debian,
Ubuntu, Arch; PostgreSQL 17+ already running).
| Order | Where | Step | Purpose |
|---|---|---|---|
| 1 | Host | `make server` | Static `bin/chess-server` |
| 2 | Host (root) | `CHESS_BINARY=bin/chess-server linux/setup.sh` | Account, database, `chessd` systemd service, key, optional backup timer; rerun to upgrade |
| 3 | Host (root) | `chess-db user add -username <name>` | First account |
| 4 | nginx | `nginx-chess.conf` with `127.0.0.1:8080` | Optional reverse proxy |
## Files
- `postgresql/setup.sql` — role, database, and schema (owner or split mode)
- `postgresql/chess-backup.sh` — nightly `pg_dump` with 14-day retention
- `nginx-chess.conf` — nginx locations, with placeholders
- `freebsd/rc.d/chessd` — `daemon(8)` service script
- `freebsd/chess-backup.sh` — nightly `pg_dump` with 14-day retention
- `linux/chessd.service` — sandboxed systemd unit; `linux/chess-backup.{service,timer}`
Keep deployment-specific values (addresses, host names) in `rc.conf` and the
host nginx configuration, not in this repository.
Keep deployment-specific values (addresses, host names) in `rc.conf`,
`/etc/chessd/chessd.env`, and the nginx configuration, not in this repository.