Add Dockerfile for the app

python:3.12-slim, installs the package (pip install .), runs pending
Alembic migrations before starting uvicorn. Migrations/alembic.ini/
scripts are copied in as-is (not part of the installed package) since
alembic and generate_master_key.py run directly against the source
tree.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-21 11:14:56 +02:00
co-authored by Claude Sonnet 5
parent 63bc1d911b
commit 2dedc283c6
2 changed files with 28 additions and 0 deletions
+13
View File
@@ -0,0 +1,13 @@
.venv/
__pycache__/
*.pyc
.git/
.env
*.db
master.xprv.enc
logs/
data/
.pytest_cache/
*.egg-info/
tests/
.claude/
+15
View File
@@ -0,0 +1,15 @@
FROM python:3.12-slim
WORKDIR /app
COPY pyproject.toml ./
COPY app ./app
COPY migrations ./migrations
COPY alembic.ini ./
COPY scripts ./scripts
RUN pip install --no-cache-dir .
EXPOSE 8123
CMD ["/bin/sh", "-c", "alembic upgrade head && exec uvicorn app.main:app --host 0.0.0.0 --port 8123"]