- backend/Dockerfile.prod: gunicorn で起動する本番用 Dockerfile - frontend/Dockerfile.prod: マルチステージビルドの本番用 Dockerfile - docker-compose.prod.yml: Traefik 連携・本番用 compose 設定 - main.keinafarm.net でフロントエンド・バックエンドを公開 - /api/ はバックエンド(priority=10)、それ以外はフロントエンド(priority=5) - .env.production.example: 本番環境変数のサンプル - settings.py: ALLOWED_HOSTS・CORS_ALLOWED_ORIGINS を環境変数から設定可能に Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
32 lines
657 B
Docker
32 lines
657 B
Docker
FROM python:3.12-slim
|
|
|
|
WORKDIR /app
|
|
|
|
RUN apt-get update && apt-get install -y \
|
|
gcc \
|
|
g++ \
|
|
postgresql-client \
|
|
libpq-dev \
|
|
libgdal-dev \
|
|
libgeos-dev \
|
|
libproj-dev \
|
|
fonts-noto-cjk \
|
|
libgirepository1.0-dev \
|
|
libcairo2 \
|
|
libpango-1.0-0 \
|
|
libpangocairo-1.0-0 \
|
|
gir1.2-pango-1.0 \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
ENV CPLUS_INCLUDE_PATH=/usr/include/gdal
|
|
ENV C_INCLUDE_PATH=/usr/include/gdal
|
|
|
|
COPY requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
COPY . .
|
|
|
|
EXPOSE 8000
|
|
|
|
CMD ["gunicorn", "keinasystem.wsgi:application", "--bind", "0.0.0.0:8000", "--workers", "2", "--timeout", "120"]
|