e509c0cfd1
- Dockerfile (python:3.11-slim): установка зависимостей, запуск bot.py. - docker-compose.yml: авто-перезапуск (restart: unless-stopped), настройки из .env (env_file), база в именованном volume (данные не теряются при пересборке). - .dockerignore: в образ не тащим .git/тесты/докумен/базу/.env. - bot.py: путь к БД через DB_PATH (для volume в Docker), по умолчанию — как раньше. - requirements.txt: убраны неиспользуемые Pillow и openpyxl (образ легче). pytest passed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
23 lines
737 B
Docker
23 lines
737 B
Docker
# Образ бота «Кибершкола БАЗА» (VK). Python 3.11.
|
|
FROM python:3.11-slim
|
|
|
|
# Не писать .pyc, логи — сразу в вывод (docker logs)
|
|
ENV PYTHONDONTWRITEBYTECODE=1 \
|
|
PYTHONUNBUFFERED=1
|
|
|
|
WORKDIR /app
|
|
|
|
# Сначала зависимости — так слой кэшируется и пересборка быстрее
|
|
COPY requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
# Код бота
|
|
COPY . .
|
|
|
|
# Каталог для базы (монтируется как volume, чтобы данные не терялись)
|
|
RUN mkdir -p /app/data
|
|
ENV DB_PATH=/app/data/bot_database.db
|
|
|
|
# Запуск бота (long poll, слушает VK)
|
|
CMD ["python", "-u", "bot.py"]
|