feat: add Docker support and database migrations

- Created Dockerfile for building and running the application with Uvicorn.
- Added docker-compose.yml to manage application and PostgreSQL service.
- Introduced Alembic migrations with initial schema for CRM domain objects.
- Configured async SQLAlchemy engine for migrations.
- Updated dependencies in uv.lock to include asyncpg, passlib, and pyjwt.
This commit is contained in:
k1nq
2025-11-22 14:51:20 +05:00
parent 95a9961549
commit a97a76381f
9 changed files with 529 additions and 0 deletions
+24
View File
@@ -0,0 +1,24 @@
# syntax=docker/dockerfile:1.7
FROM ghcr.io/astral-sh/uv:python3.14-alpine AS builder
WORKDIR /opt/app
COPY pyproject.toml uv.lock ./
RUN apk add --no-cache build-base libffi-dev \
&& uv sync --frozen --no-dev
# Only application source is copied into the image layer.
COPY app ./app
FROM python:3.14-alpine AS runtime
ENV PYTHONUNBUFFERED=1
ENV PATH="/opt/app/.venv/bin:${PATH}"
WORKDIR /opt/app
RUN apk add --no-cache libstdc++
COPY --from=builder /opt/app/.venv /opt/app/.venv
COPY app ./app
EXPOSE 8000
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]