milharal-dev / nemli-nemlerei-bot

Um bot de discord para criar resumos baseado nas últimas mensagens de um canal
8 stars 1 forks source link

chore: Dockerfiles #50

Closed rdenadai closed 1 month ago

rdenadai commented 1 month ago

Adicionando a opcao de subir o projeto via docker-compose

ryukinix commented 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: @.***>

rdenadai commented 1 month ago

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.

ryukinix commented 1 month ago

@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