FROM alpine:latest # Instalar dependências do sistema RUN apk update && \ apk add --no-cache \ python3 \ py3-pip \ make \ git \ gcc \ python3-dev \ musl-dev \ linux-headers # Criar link simbólico para python3 RUN ln -sf python3 /usr/bin/python # Definir diretório de trabalho WORKDIR /app # Copiar arquivos do projeto COPY . . # Criar e ativar ambiente virtual RUN python -m venv /venv && \ . /venv/bin/activate && \ pip install --upgrade pip && \ pip install -r requirements.txt # Expor a porta que o Flask usa EXPOSE 5000 # Definir o ambiente virtual como padrão ENV PATH="/venv/bin:$PATH" ENV FLASK_APP=app.py ENV FLASK_ENV=production # Criar script de inicialização RUN echo '#!/bin/sh' > /app/start.sh && \ echo 'echo "Inicializando banco de dados..."' >> /app/start.sh && \ echo 'python init_db.py' >> /app/start.sh && \ echo 'echo "Banco de dados inicializado!"' >> /app/start.sh && \ echo 'echo "Iniciando aplicação..."' >> /app/start.sh && \ echo 'exec gunicorn --bind 0.0.0.0:5000 app:app' >> /app/start.sh && \ chmod +x /app/start.sh # Comando para rodar a aplicação CMD ["/app/start.sh"]