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:
@@ -30,7 +30,17 @@ make logs # podman-compose logs -f
|
||||
make down # podman-compose down
|
||||
```
|
||||
|
||||
Volumes: `./src` (ro), `./config/s5p.yaml` (ro), `~/.cache/s5p` → `/data` (pool state + profiles)
|
||||
Volumes: `./config/s5p.yaml` (ro), `~/.cache/s5p` → `/data` (pool state + profiles)
|
||||
Dev override: compose.yaml mounts `./src` (ro) over the baked-in source.
|
||||
|
||||
## CI
|
||||
|
||||
Gitea Actions runs on push to `main`:
|
||||
|
||||
1. `ruff check` + `pytest` in `python:3.13-slim`
|
||||
2. Build + push `harbor.mymx.me/s5p/s5p:latest`
|
||||
|
||||
Secrets: `HARBOR_USER` / `HARBOR_PASS` (configured in Gitea repo settings).
|
||||
|
||||
## Config
|
||||
|
||||
|
||||
@@ -38,8 +38,9 @@ make build # podman-compose build
|
||||
make up # podman-compose up -d
|
||||
```
|
||||
|
||||
The Alpine-based image (~59MB) contains only Python and PyYAML.
|
||||
Application source and config are bind-mounted at runtime.
|
||||
The Alpine-based image (~59MB) contains Python, PyYAML, and baked-in
|
||||
source. Config is mounted at runtime. The compose.yaml volume mount
|
||||
overrides source for local dev.
|
||||
|
||||
## Install Tor (optional)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user