|
|
5 日 前 | |
|---|---|---|
| .. | ||
| Dockerfile | 5 日 前 | |
| README.md | 5 日 前 | |
| compose.yaml | 5 日 前 | |
| entrypoint.sh | 5 日 前 | |
| uvicorn_log.json | 4 ヶ月 前 | |
podman-compose -f room_cal/docker/compose.yaml up -d
podman-compose -f room_cal/docker/compose.yaml up -d calc
podman-compose -f room_cal/docker/compose.yaml build
podman build -f Dockerfile --network host -t $IMG_NAME ..
podman run --rm -it -p 8000:8000 -v ./config:/config $IMG_NAME
With healthcheck:
podman run --rm -it -p 8000:8000 -v ./config:/config \
--health-cmd "curl -sf http://localhost:8000/health" \
--health-interval 30s --health-timeout 10s \
--health-retries 3 --health-start-period 60s \
$IMG_NAME
podman run --rm -it -p 8000:8000 -v ./config:/config $IMG_NAME /entrypoint.sh calc
Serves only the /calc/* endpoints and the calc.html UI at /. No Store, CalDAV, or service-API credentials needed — only the services and global.taxes sections of config.json are read.
Placing a uvicorn_log.json in ./config overrides the default log config
| Variable | Default | Notes |
|---|---|---|
ROOM_CAL_DATA_HOME |
/config |
Config and credential root |
Default entrypoint. Variable defaults are baked in; override with environment variables if needed
| Variable | Default | Notes |
|---|---|---|
API_HOST |
0.0.0.0 |
Uvicorn bind address |
API_PORT |
8000 |
Uvicorn bind port |
LOG_LEVEL |
info |
Uvicorn log level |
AUTH_DISABLED |
(unset) | Set to 1 to bypass OIDC |
OIDC_ISSUER |
(unset) | OIDC provider base URL |
OIDC_CLIENT_ID |
(unset) | OIDC client ID |
OIDC_CLIENT_SECRET |
(unset) | OIDC client secret |
APP_BASE_URL |
http://localhost:8000 |
Public base URL; sets the OIDC redirect URI and cookie Secure flag |
SESSION_SECRET |
random per restart | Set this to a static value to preserve sessions between runs |
DISABLE_PERIODIC |
(unset) | Set to 1 to skip credential probes and all periodic syncs (reservations, prices) in the health loop |
Pass calc as the first argument to entrypoint.sh. Uses the same API_HOST, API_PORT, and LOG_LEVEL variables as the API service. Only services and global.taxes are read from config.json — no store, auth, or service-API config required.