feat: add Gitea CI workflow and production Containerfile
Bake source into the image (COPY src/) so production containers run without volume mounts. CI pipeline runs ruff + pytest then builds and pushes harbor.mymx.me/s5p/s5p:latest on push to main. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -37,9 +37,13 @@ Client -------> s5p -------> Hop 1 -------> Hop 2 -------> Target
|
||||
| Local venv | `pip install -e .` then `s5p -c config/s5p.yaml` |
|
||||
| Container | `make build && make up` (Alpine, ~59MB) |
|
||||
|
||||
Container mounts `./src` and `./config/s5p.yaml` read-only, plus
|
||||
Production images bake source into the image via `COPY src/ /app/src/`.
|
||||
Config and data are mounted at runtime: `./config/s5p.yaml` (ro) and
|
||||
`~/.cache/s5p` as `/data` for pool state and profile output.
|
||||
No application code is baked into the image.
|
||||
The compose.yaml volume mount overrides source for local dev.
|
||||
|
||||
CI pushes `harbor.mymx.me/s5p/s5p:latest` on every push to `main`
|
||||
(lint + tests must pass first).
|
||||
|
||||
## Dependencies
|
||||
|
||||
|
||||
Reference in New Issue
Block a user