Docker: Dockerfile + docker-compose.yml для запуска бота в контейнере
- 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>
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
# Запуск бота «Кибершкола БАЗА» в Docker.
|
||||
#
|
||||
# Быстрый старт (в папке с этим файлом):
|
||||
# 1) Заполните .env (VK_TOKEN и VK_GROUP_ID — обязательно).
|
||||
# 2) docker compose up -d --build # собрать и запустить в фоне
|
||||
# 3) docker compose logs -f # смотреть логи (Ctrl+C — выйти из логов)
|
||||
# Остановить: docker compose down
|
||||
# Обновить код: git pull && docker compose up -d --build
|
||||
|
||||
services:
|
||||
bot:
|
||||
build: .
|
||||
image: baza-bot
|
||||
container_name: baza-bot
|
||||
restart: unless-stopped # авто-перезапуск при сбое и после ребута сервера
|
||||
env_file:
|
||||
- .env # настройки берутся из .env (токен, ID и пр.)
|
||||
environment:
|
||||
- DB_PATH=/app/data/bot_database.db
|
||||
volumes:
|
||||
- baza-bot-data:/app/data # база данных сохраняется между перезапусками
|
||||
|
||||
volumes:
|
||||
baza-bot-data:
|
||||
Reference in New Issue
Block a user