Closed rdenadai closed 1 month ago
Obrigado por explicar
Em qua., 31 de jul. de 2024 22:49, ⟠ Rodolfo De Nadai < @.***> escreveu:
@.**** commented on this pull request.
In Dockerfile https://github.com/milharal-dev/nemli-nemlerei-bot/pull/50#discussion_r1699284920 :
Timezone
- apt-get install -y tzdata && \
- ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && \
- apt-get update && \
- apt install -y --no-install-recommends \
- dumb-init build-essential curl && \
- apt-get clean && rm -rf /var/lib/apt/lists/*
+COPY README.md pdm.lock pyproject.toml entrypoint.sh /code/
+RUN pip install pip setuptools --upgrade && \
- pip install pdm && \
- pdm use 3.12.4 && \
- pdm install
+ENTRYPOINT ["dumb-init", "--"]
Removi e deixei direto o pdm run nemli ... mas o dumb-init eh um init system minimo para containers.
https://github.com/Yelp/dumb-init
— Reply to this email directly, view it on GitHub https://github.com/milharal-dev/nemli-nemlerei-bot/pull/50#discussion_r1699284920, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB2J57UF7AGGYUSN5C2GNM3ZPGH2DAVCNFSM6AAAAABLZQP7ESVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDEMJRGQYDOMZYGA . You are receiving this because your review was requested.Message ID: @.***>
Fiquei surpreso que para rodar em Docker precisa fazer tanta configuração do ambiente isolado para rodar um app em Python, mas de acordo até onde entendo, está bem redondinho.
Só enfatizo o que o @ryukinix mencionou como opcional que é explorar mais a possibilidade de melhor informar ao Docker as layers de deps que ele pode manter em cache toda vez que for fazer um re-build da imagem do app, talvez pensando em até ter um segundo service com um segundo Dockerfile que controla as deps e é utilizado como base pro nosso app. Just a thought.
Depende o que vc considera tanta configuracao, mas nao, nao precisa de nada disso ... Vou remover tudo e deixar o minimo, com relacao a config q o @ryukinix mencionou, entretanto, nao sei exatamente aqui qual a ideia sem separar em multiplas linhas.
@rdenadai Olha o que mandei no Discord
Eu já fiz isso em algo que poderia ser justificado: tinha dep que fazia build em C e demorava 10 minutos. Não é o caso aqui. Eu sei de algumas maneiras pra deixar mais simples mas ter cache, é pq tô sem tempo. Eu não acho q seja um problema fazer merge desse jeito e abrir uma issue pra refatorar dps tbm. https://github.com/ryukinix/egsis/blob/master/Dockerfile#L3
Basicamente vc instala primeiro as deps e dps o pacote todo.
Com o --no-self n precisa tbm do readme
https://discord.com/channels/1247560692517568603/1265322434391707790/1269713345758363764
Adicionando a opcao de subir o projeto via docker-compose