All checks were successful
check / check (push) Successful in 58s
- Add Docker HEALTHCHECK instruction probing /.well-known/healthcheck.json (30s interval, 5s timeout, 10s start period, 3 retries) for µPaaS container health verification - Create deploy/README.md with full µPaaS app configuration reference (app name, repo URL, branch, env vars, volumes, ports, production config) - Add Deployment section to README.md linking to deploy docs - Add deploy/ to .dockerignore (docs not needed in build context)
Pixa Deployment via µPaaS
Pixa is deployed on fsn1app1 via
µPaaS (paas.datavi.be).
µPaaS App Configuration
Create the app in the µPaaS web UI with these settings:
| Setting | Value |
|---|---|
| App name | pixa |
| Repo URL | git@git.eeqj.de:sneak/pixa.git |
| Branch | main |
| Dockerfile path | Dockerfile |
Environment Variables
| Variable | Description | Required |
|---|---|---|
PORT |
HTTP listen port (default: 8080) | No |
Configuration is provided via the config file baked into the Docker
image at /etc/pixa/config.yml. To override it, mount a custom
config file as a volume (see below).
Volumes
| Host Path | Container Path | Description |
|---|---|---|
/srv/pixa/data |
/var/lib/pixa |
SQLite database and image cache |
/srv/pixa/config.yml |
/etc/pixa/config.yml |
Production config (signing key, whitelist, etc.) |
Ports
| Host Port | Container Port | Protocol |
|---|---|---|
| (assigned) | 8080 | TCP |
Docker Network
Attach to the shared reverse-proxy network if using Caddy/Traefik for TLS termination.
Production Configuration
Copy config.example.yml from the repo root and customize for
production:
port: 8080
debug: false
maintenance_mode: false
state_dir: /var/lib/pixa
signing_key: "<generate with: openssl rand -base64 32>"
whitelist_hosts:
- s3.sneak.cloud
- static.sneak.cloud
- sneak.berlin
allow_http: false
Important: Generate a unique signing_key for production. Never
use the default placeholder value.
Health Check
The Dockerfile includes a HEALTHCHECK instruction that probes
/.well-known/healthcheck.json every 30 seconds. µPaaS verifies
container health 60 seconds after deployment.
Deployment Flow
- Push to
maintriggers the Gitea webhook - µPaaS clones the repo and runs
docker build . - The Dockerfile runs
make check(format, lint, test) during build - On success, µPaaS stops the old container and starts the new one
- After 60 seconds, µPaaS checks container health