
FROM python:3.11-slim
 
WORKDIR /backup_service
 
# Instalar dependencias del sistema:
#   - default-mysql-client  → provee mysqldump y mysqladmin
#   - gcc / pkg-config      → para compilar algunas dependencias de Python
RUN apt-get update && apt-get install -y \
    default-mysql-client \
    gcc \
    pkg-config \
    && rm -rf /var/lib/apt/lists/*
 
# Copiar e instalar dependencias Python
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
 
# Copiar el código
COPY main.py .

RUN mkdir -p \
    /config/nginx \
    /config/ssl \
    /config/telegram_sessions \
    /backups
 
# Usuario no-root
RUN useradd -m -u 1000 backupuser && \
    chown -R backupuser:backupuser /backup_service /backups
USER backupuser
 
EXPOSE 8099
 
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8099"]