Добавлен Docker Compose для простого развёртывания

Создано:
- Dockerfile для контейнеризации бота
- docker-compose.yml с сервисами bot и db
- .dockerignore для оптимизации образа
- README_DOCKER.md с подробной документацией

Изменено:
- README.md - добавлена секция Docker
- .env.example - добавлены переменные PostgreSQL

Теперь бот можно запустить одной командой:
docker-compose up -d

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-12-04 11:16:14 +03:00
parent 1a02c979d0
commit f7847226d0
6 changed files with 314 additions and 3 deletions

40
docker-compose.yml Normal file
View File

@@ -0,0 +1,40 @@
version: '3.8'
services:
db:
image: postgres:15-alpine
container_name: language_bot_db
restart: unless-stopped
environment:
POSTGRES_USER: ${POSTGRES_USER:-botuser}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-botpassword}
POSTGRES_DB: ${POSTGRES_DB:-language_bot}
volumes:
- postgres_data:/var/lib/postgresql/data
ports:
- "5432:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-botuser}"]
interval: 10s
timeout: 5s
retries: 5
bot:
build: .
container_name: language_bot
restart: unless-stopped
depends_on:
db:
condition: service_healthy
environment:
BOT_TOKEN: ${BOT_TOKEN}
OPENAI_API_KEY: ${OPENAI_API_KEY}
DATABASE_URL: postgresql+asyncpg://${POSTGRES_USER:-botuser}:${POSTGRES_PASSWORD:-botpassword}@db:5432/${POSTGRES_DB:-language_bot}
DEBUG: ${DEBUG:-False}
volumes:
- ./logs:/app/logs
env_file:
- .env
volumes:
postgres_data: