Container images and Woodpecker CI pipeline

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
azykov@mail.ru
2026-10-08 11:03:52 +03:00
co-authored by Claude Sonnet 5.5
parent c197e5978a
commit 52d8e0f7e0
10 changed files with 233 additions and 0 deletions
+15
View File
@@ -96,3 +96,18 @@ with `/api` stripped; `DEV_REMOTE_EMAIL` in `server-fe/.env` fakes the Authelia
pnpm test
pnpm typecheck
```
## Containers and CI (Woodpecker)
`docker/*.Dockerfile` build the three images from the repository root (`docker build -f docker/server-be.Dockerfile .`):
| Image | Port | Notes |
|---|---|---|
| `server-be` | 10002 | Node, data in volume `/data`. Listens on `0.0.0.0`: set `ADMIN_PROXY_SECRET` and don't publish the port publicly |
| `server-fe` | 10001 | nginx with the admin UI build |
| `mobile-client` | 10003 | nginx with the PWA; Android updates are mounted at `/updates` |
`.woodpecker/ci.yaml`: typecheck + tests on every push/PR, then images are pushed on `main` and `ci`
(tags: short commit SHA and branch name, e.g. `:main`). Images go to the Gitea registry (`git.aggtaa.com/anton/cardy-*`); add secrets `registry_username`
(Gitea user + access token with `write:package`) and `registry_password`, and mark the repository as Trusted (buildx plugin is privileged).
`docker/compose.example.yml` shows how to run the images. APK/OTA publishing stays local (needs the signing key).