docker: подготовка к запуску в контейнере (Telegram-бот)

- Dockerfile: python:3.12-slim, зависимости отдельным слоем
- docker-compose.yml: env из .env, volume для /app/data, LOG_DIR=/dev/null
- .dockerignore: .env, data, logs, кэш
- fix: loguru не было в requirements.txt (бот не стартовал бы) — добавлен
- logger.py: LOG_DIR переопределяется через env (в контейнере в /dev/null)
This commit is contained in:
2026-08-04 20:21:31 +04:00
parent 49d7af2d18
commit 6785918bdc
5 changed files with 51 additions and 1 deletions
+19
View File
@@ -0,0 +1,19 @@
# Python 3.12 slim
FROM python:3.12-slim
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1
WORKDIR /app
# Сначала зависимости — чтобы кэшировать слой
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Код приложения
COPY . .
# Логи пишем в stdout/stderr, а не в файл внутри контейнера
ENV LOG_DIR=/dev/null
CMD ["python", "-m", "app.main"]