-
Notifications
You must be signed in to change notification settings - Fork 27
/
Copy pathDockerfile
41 lines (30 loc) · 1.22 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# Usar uma imagem oficial do Python como base
FROM python:3.10-slim
# Instalar dependências do sistema, incluindo redis-tools e tzdata para fuso horário
RUN apt-get update && apt-get install -y --no-install-recommends \
redis-tools \
tzdata \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
# Configurar o fuso horário
ENV TZ=America/Sao_Paulo
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# Definir o diretório de trabalho
WORKDIR /app
# Copiar o arquivo requirements.txt e instalar dependências
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Copiar todo o código da aplicação
COPY . .
# Garantir que o diretório static existe
RUN mkdir -p /app/static
# Copiar arquivos estáticos para o diretório apropriado
COPY static/ /app/static/
# Garantir permissões de execução ao script inicial
COPY start.sh .
RUN chmod +x start.sh
# Converter possíveis caracteres de retorno de carro do Windows
RUN apt-get update && apt-get install -y dos2unix && dos2unix start.sh && apt-get remove -y dos2unix && apt-get autoremove -y && apt-get clean
# Expor as portas usadas pela aplicação
EXPOSE 8005 8501
# Definir o comando inicial
CMD ["/bin/bash", "/app/start.sh"]