27 lines
1.2 KiB
Markdown
27 lines
1.2 KiB
Markdown
## ADDED Requirements
|
|
|
|
### Requirement: Service runs on .13:3020
|
|
The frontend SHALL run as a systemd user service (`where-woof.service`) on `.13`, listening on `:3020`, restarting on failure, with secrets from an EnvironmentFile (never in the repo).
|
|
|
|
#### Scenario: Service starts
|
|
- **WHEN** the service is enabled and started
|
|
- **THEN** the app listens on 192.168.20.13:3020 and responds 200 on `/`
|
|
|
|
#### Scenario: Crash recovery
|
|
- **WHEN** the process exits unexpectedly
|
|
- **THEN** systemd restarts it
|
|
|
|
### Requirement: Deployable artifact
|
|
A build + rsync step SHALL produce and transfer the binary, `templates/`, and `static/` to `/var/www/where-woof` on .13, with `static/uploads` writable by the service user.
|
|
|
|
#### Scenario: Fresh deploy
|
|
- **WHEN** the build+rsync runs against a clean target dir
|
|
- **THEN** the service runs the new binary with templates/static present and uploads writable
|
|
|
|
### Requirement: Caddy reachability
|
|
The saved Caddy block on .35 SHALL reverse-proxy `where-woof.com` and `where-woof.home.lab` to `.13:3020`.
|
|
|
|
#### Scenario: Proxied request
|
|
- **WHEN** `where-woof.home.lab` is resolved to .35 and requested
|
|
- **THEN** the response comes from the .13 service
|