Add multi-stage Dockerfile for container deployment
Three-stage build:
- assets: Node 22 + Vite + Tailwind CSS 4 → static/dist/main.css
- python-deps: uv sync --frozen --no-dev against pyproject + uv.lock,
with the issue-core path dependency satisfied via a BuildKit
named context (--build-context issue-core=...)
- runtime: python:3.12-slim-bookworm + libpq5 + curl, non-root 'app'
user, collectstatic at build time, gunicorn on :8000,
/health/ HEALTHCHECK every 30s
Adds gunicorn>=22 to project dependencies (was missing).
Build:
docker build --build-context issue-core=/home/worsch/issue-core \
-t gitea.coulomb.social/coulomb/vergabe-teilnahme:<tag> .
Smoke-verified: container reports (healthy) and /health/ returns
{"status": "ok"} without a database connection.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
17f511fbcd
commit
483a4dfd3b
4 changed files with 133 additions and 0 deletions
33
.dockerignore
Normal file
33
.dockerignore
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
.git
|
||||
.gitignore
|
||||
.dockerignore
|
||||
Dockerfile
|
||||
|
||||
__pycache__
|
||||
*.py[cod]
|
||||
.venv
|
||||
.pytest_cache
|
||||
.ruff_cache
|
||||
.mypy_cache
|
||||
.coverage
|
||||
htmlcov
|
||||
|
||||
node_modules
|
||||
static/dist
|
||||
staticfiles
|
||||
media
|
||||
|
||||
*.log
|
||||
*.sqlite3
|
||||
.issue-facade
|
||||
|
||||
.env
|
||||
.env.*
|
||||
docker-compose*.yml
|
||||
|
||||
.claude
|
||||
.custodian-brief.md
|
||||
workplans
|
||||
wiki
|
||||
LICENSE
|
||||
README.md
|
||||
Loading…
Add table
Add a link
Reference in a new issue