mitai-jinkendo/backend/Dockerfile

31 lines
1.1 KiB
Docker
Raw Normal View History

FROM python:3.12-slim
2026-03-18 08:27:33 +01:00
# Force IPv4 and use German mirror with aggressive retry/timeout settings
RUN echo "Acquire::ForceIPv4 \"true\";" > /etc/apt/apt.conf.d/99force-ipv4 && \
echo "Acquire::Retries \"5\";" > /etc/apt/apt.conf.d/80-retries && \
echo "Acquire::http::Timeout \"10\";" >> /etc/apt/apt.conf.d/80-retries && \
echo "Acquire::ftp::Timeout \"10\";" >> /etc/apt/apt.conf.d/80-retries && \
echo "deb http://ftp.de.debian.org/debian bookworm main" > /etc/apt/sources.list && \
echo "deb http://ftp.de.debian.org/debian bookworm-updates main" >> /etc/apt/sources.list
2026-03-18 08:27:33 +01:00
# Install PostgreSQL client for psql (needed for startup.sh)
RUN apt-get update && apt-get install -y postgresql-client && rm -rf /var/lib/apt/lists/*
WORKDIR /app
2026-03-18 08:27:33 +01:00
# Install Python dependencies
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
2026-03-18 08:27:33 +01:00
# Copy application code
COPY . .
2026-03-18 08:27:33 +01:00
# Create directories
RUN mkdir -p /app/data /app/photos
2026-03-18 08:27:33 +01:00
# Make startup script executable
RUN chmod +x /app/startup.sh
# Use startup script instead of direct uvicorn
CMD ["/app/startup.sh"]