evo-ai/Dockerfile
OrionDesign 1bcd76595c ⚙️ Fix: importação e seeders automáticos
### 📋 Descrição

Esta PR aborda dois pontos críticos identificados durante a execução do container da aplicação:

####  Correção de importação no `email_service.py`

- Corrigido o caminho da importação:
  - **De:** `from config.settings import settings`
  - **Para:** `from src.config.settings import settings`
- Essa alteração soluciona o erro `ModuleNotFoundError: No module named 'config'`, que impedia a inicialização da aplicação.

####  Execução automática dos seeders via Dockerfile

- Adicionado o script de seeders à sequência de inicialização da aplicação no Dockerfile.
- O comando de inicialização foi alterado para:
  ```bash
  alembic upgrade head && python -m scripts.run_seeders && uvicorn src.main:app --host $HOST --port $PORT
  ```
- Isso garante que os seeders (incluindo o usuário admin) sejam executados automaticamente após as migrações.

---

### 💥 Impacto

- Corrige o erro de importação, permitindo que a aplicação seja iniciada corretamente.
- Automatiza a criação do usuário admin e outros dados iniciais essenciais.
- Melhora a experiência de primeira execução, eliminando etapas manuais.

---

###  Testes realizados

- Verificado que a aplicação inicia corretamente após as alterações.
- Confirmado que os seeders são executados com sucesso, criando o usuário admin e outros dados iniciais conforme esperado.

---

### 📝 Observações

- O novo caminho de importação em `email_service.py` está alinhado com o padrão utilizado nos demais arquivos do projeto.
- Os seeders são executados somente após a conclusão bem-sucedida das migrações do banco de dados.
2025-05-16 01:51:47 -03:00

37 lines
793 B
Docker

FROM python:3.10-slim
WORKDIR /app
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
PYTHONPATH=/app
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
libpq-dev \
curl \
gnupg \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
&& apt-get install -y nodejs \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
RUN curl -fsSL https://get.docker.com | bash
RUN curl -LsSf https://astral.sh/uv/install.sh | sh
COPY . .
RUN pip install --no-cache-dir -e .
ENV PORT=8000 \
HOST=0.0.0.0 \
DEBUG=false
# Expose port
EXPOSE 8000
CMD alembic upgrade head && python -m scripts.run_seeders && uvicorn src.main:app --host $HOST --port $PORT