| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| api | ||
| escales | ||
| manifeste | ||
| semaphore | ||
| tasks | ||
| tide-table | ||
| ui | ||
| .gitignore | ||
| DESIGN.md | ||
| PRODUCT.md | ||
| README.md | ||
| serve.py |
First real deploy of douanier:latest to erable went green, but only after diagnosing two host-specific traps that DEPLOY.md now records so the next deploy is one shot: 1. clone3 vs old seccomp — the container booted uvicorn then segfaulted (exit 139) / aborted with "OpenBLAS blas_thread_init: pthread_create failed … Operation not permitted". Root cause: Docker 19.03 on kernel 4.9's default seccomp profile rejects the clone3 syscall that python:3.12-slim's glibc 2.36 uses for pthread_create. Fix: run with --security-opt seccomp=unconfined (safe — the container is loopback-only behind the gateway). 2. BLAS thread pool on a small shared box — pinned OPENBLAS/OMP/NUMEXPR/MKL _NUM_THREADS=1 in the env file: belt-and-braces with the seccomp fix on the old kernel and right-sized for CPU-light work on 4 vCPU / ~2 GB. Also: data volume is /home/pln/srv/douanier/data (no sudo for /srv; it's pure transient cache so the path is immaterial). Verified end-to-end through the gateway: healthz/openapi/docs all 200, authed routes 401 without a token.
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| api | Loading commit data... | |
| escales | Loading commit data... | |
| manifeste | Loading commit data... | |
| semaphore | Loading commit data... | |
| tasks | Loading commit data... | |
| tide-table | Loading commit data... | |
| ui | Loading commit data... | |
| .gitignore | Loading commit data... | |
| DESIGN.md | Loading commit data... | |
| PRODUCT.md | Loading commit data... | |
| README.md | Loading commit data... | |
| serve.py | Loading commit data... |