Обновлен файл docker-compose.yml с заменой переменных окружения на значения по умолчанию для упрощения настройки. Исправлены ссылки на переменные в Makefile для соответствия новым именам. Обновлена документация в README_DOCKER.md для отражения изменений в конфигурации и обязательных значений. Эти изменения улучшают удобство настройки и документацию проекта.
This commit is contained in:
parent
c0a8cf1334
commit
3e1a090fc8
35
Makefile
35
Makefile
@ -66,7 +66,7 @@ test-env: ## Проверить переменные окружения
|
||||
|
||||
test-db: ## Тестировать подключение к БД
|
||||
@echo "🗄️ Testing database connection..."
|
||||
docker-compose exec $(SERVICE_NAME) python -c "import oracledb, os; conn = oracledb.connect(user=os.getenv('DB_USER'), password=os.getenv('DB_PASSWORD'), dsn=os.getenv('DB_DSN')); print('✅ Database connection successful!'); conn.close()"
|
||||
docker-compose exec $(SERVICE_NAME) python -c "import oracledb, os; conn = oracledb.connect(user=os.getenv('db_user'), password=os.getenv('db_password'), dsn=os.getenv('db_dsn')); print('✅ Database connection successful!'); conn.close()"
|
||||
|
||||
test-bot: ## Проверить импорты бота
|
||||
@echo "🤖 Testing bot imports..."
|
||||
@ -91,9 +91,9 @@ backup-logs: ## Создать архив логов
|
||||
@echo "💾 Creating logs backup..."
|
||||
tar -czf logs_backup_$(shell date +%Y%m%d_%H%M%S).tar.gz logs/
|
||||
|
||||
backup-env: ## Создать бэкап переменных окружения
|
||||
@echo "🔐 Creating environment backup..."
|
||||
cp .env .env.backup.$(shell date +%Y%m%d_%H%M%S)
|
||||
backup-config: ## Создать бэкап конфигурации
|
||||
@echo "🔐 Creating configuration backup..."
|
||||
cp docker-compose.yml docker-compose.yml.backup.$(shell date +%Y%m%d_%H%M%S)
|
||||
|
||||
# Деплой
|
||||
deploy: build up ## Полный деплой (сборка + запуск)
|
||||
@ -132,17 +132,28 @@ update: ## Обновить код и перезапустить
|
||||
# Конфигурация
|
||||
setup: ## Первоначальная настройка
|
||||
@echo "⚙️ Initial setup..."
|
||||
@if [ ! -f .env ]; then \
|
||||
echo "📝 Creating .env file from template..."; \
|
||||
cp env.example .env; \
|
||||
echo "✅ Please edit .env file with your configuration"; \
|
||||
else \
|
||||
echo "✅ .env file already exists"; \
|
||||
fi
|
||||
@echo "📁 Creating directories..."
|
||||
mkdir -p logs images data
|
||||
chmod 755 logs images data
|
||||
@echo "✅ Setup complete! Edit .env file and run 'make deploy'"
|
||||
@echo "✅ Setup complete! Edit docker-compose.yml with your configuration and run 'make deploy'"
|
||||
|
||||
config-check: ## Проверить конфигурацию docker-compose.yml
|
||||
@echo "🔍 Checking docker-compose.yml configuration..."
|
||||
@if grep -q "your_bot_token_here" docker-compose.yml; then \
|
||||
echo "❌ BOT_TOKEN not configured"; \
|
||||
else \
|
||||
echo "✅ BOT_TOKEN configured"; \
|
||||
fi
|
||||
@if grep -q "your_db_user" docker-compose.yml; then \
|
||||
echo "❌ Database credentials not configured"; \
|
||||
else \
|
||||
echo "✅ Database credentials configured"; \
|
||||
fi
|
||||
@if grep -q "123456789" docker-compose.yml; then \
|
||||
echo "⚠️ ADMIN_USER_ID using default value"; \
|
||||
else \
|
||||
echo "✅ ADMIN_USER_ID configured"; \
|
||||
fi
|
||||
|
||||
# По умолчанию
|
||||
.DEFAULT_GOAL := help
|
||||
@ -11,19 +11,27 @@
|
||||
|
||||
## 🚀 Быстрый старт
|
||||
|
||||
### 1. Подготовка переменных окружения
|
||||
### 1. Настройка конфигурации
|
||||
|
||||
Скопируйте файл с примером и настройте переменные:
|
||||
Отредактируйте файл `docker-compose.yml` и замените значения по умолчанию на ваши:
|
||||
|
||||
```bash
|
||||
cp env.example .env
|
||||
nano .env
|
||||
```yaml
|
||||
environment:
|
||||
# Telegram Bot настройки
|
||||
- BOT_TOKEN=your_actual_bot_token_here # Замените на токен от @BotFather
|
||||
- BOT_NAME=SalvageDB Bot
|
||||
- ADMIN_USER_ID=your_telegram_user_id # Замените на ваш Telegram ID
|
||||
|
||||
# База данных Oracle
|
||||
- db_user=your_actual_db_user # Замените на пользователя БД
|
||||
- db_password=your_actual_db_password # Замените на пароль БД
|
||||
- db_dsn=your_db_host:1521/service_name # Замените на DSN вашей БД
|
||||
```
|
||||
|
||||
Обязательно настройте следующие переменные:
|
||||
**Обязательно замените:**
|
||||
- `BOT_TOKEN` - токен от @BotFather
|
||||
- `DB_USER`, `DB_PASSWORD`, `DB_DSN` - настройки Oracle DB
|
||||
- `ADMIN_USER_ID` - ваш Telegram ID для админ-функций
|
||||
- `db_user`, `db_password`, `db_dsn` - настройки Oracle DB
|
||||
|
||||
### 2. Создание необходимых директорий
|
||||
|
||||
@ -31,7 +39,7 @@ nano .env
|
||||
# Создаем директории для данных
|
||||
mkdir -p logs images data
|
||||
|
||||
# Устанавливаем права доступа
|
||||
# Устанавливаем права доступа (Linux/macOS)
|
||||
chmod 755 logs images data
|
||||
```
|
||||
|
||||
@ -53,10 +61,10 @@ docker-compose logs -f salvagedb-bot
|
||||
```
|
||||
salvagedb_bot/
|
||||
├── Dockerfile # Конфигурация Docker образа
|
||||
├── docker-compose.yml # Orchestration конфигурация
|
||||
├── docker-compose.yml # Orchestration конфигурация (содержит все настройки)
|
||||
├── docker-entrypoint.sh # Скрипт инициализации
|
||||
├── .dockerignore # Исключения для Docker
|
||||
├── env.example # Пример переменных окружения
|
||||
├── env.example # Пример переменных (справочно)
|
||||
├── requirements.txt # Python зависимости
|
||||
├── main.py # Основной код бота
|
||||
├── db.py # Модуль работы с БД
|
||||
@ -68,21 +76,25 @@ salvagedb_bot/
|
||||
|
||||
## 🔧 Конфигурация
|
||||
|
||||
### Переменные окружения
|
||||
### Переменные окружения в docker-compose.yml
|
||||
|
||||
Все настройки находятся в файле `docker-compose.yml` в секции `environment`:
|
||||
|
||||
| Переменная | Описание | Значение по умолчанию |
|
||||
|-----------|----------|----------------------|
|
||||
| `BOT_TOKEN` | Токен Telegram бота | **Обязательно** |
|
||||
| `BOT_TOKEN` | Токен Telegram бота | `your_bot_token_here` ⚠️ |
|
||||
| `BOT_NAME` | Имя бота | `SalvageDB Bot` |
|
||||
| `ADMIN_USER_ID` | ID администратора | **Обязательно** |
|
||||
| `ADMIN_USER_ID` | ID администратора | `123456789` ⚠️ |
|
||||
| `DECODE_PRICE` | Цена декодирования VIN | `1` |
|
||||
| `CHECK_PRICE` | Цена проверки повреждений | `10` |
|
||||
| `IMG_PRICE` | Цена доступа к фото | `100` |
|
||||
| `DB_USER` | Пользователь Oracle DB | **Обязательно** |
|
||||
| `DB_PASSWORD` | Пароль Oracle DB | **Обязательно** |
|
||||
| `DB_DSN` | DSN строка Oracle DB | **Обязательно** |
|
||||
| `db_user` | Пользователь Oracle DB | `your_db_user` ⚠️ |
|
||||
| `db_password` | Пароль Oracle DB | `your_db_password` ⚠️ |
|
||||
| `db_dsn` | DSN строка Oracle DB | `localhost:1521/XEPDB1` ⚠️ |
|
||||
| `DEBUG` | Режим отладки | `0` |
|
||||
| `TIMEZONE` | Часовой пояс | `UTC` |
|
||||
| `TZ` | Часовой пояс | `UTC` |
|
||||
|
||||
**⚠️ Обязательно замените** отмеченные значения на реальные!
|
||||
|
||||
### Volumes
|
||||
|
||||
@ -150,7 +162,7 @@ docker inspect salvagedb-telegram-bot
|
||||
### Рекомендации
|
||||
|
||||
1. **Переменные окружения:**
|
||||
- Никогда не коммитьте `.env` файл
|
||||
- Замените все placeholder значения в docker-compose.yml
|
||||
- Используйте сильные пароли для БД
|
||||
- Ограничьте доступ к токену бота
|
||||
|
||||
@ -174,7 +186,7 @@ docker-compose exec salvagedb-bot python -c "import oracledb; print(oracledb.ver
|
||||
docker-compose exec salvagedb-bot python -c "
|
||||
import oracledb
|
||||
import os
|
||||
conn = oracledb.connect(user=os.getenv('DB_USER'), password=os.getenv('DB_PASSWORD'), dsn=os.getenv('DB_DSN'))
|
||||
conn = oracledb.connect(user=os.getenv('db_user'), password=os.getenv('db_password'), dsn=os.getenv('db_dsn'))
|
||||
print('Connection successful!')
|
||||
conn.close()
|
||||
"
|
||||
@ -190,14 +202,14 @@ print('Bot token length:', len(os.getenv('BOT_TOKEN', '')))
|
||||
"
|
||||
|
||||
# Проверка aiogram
|
||||
docker-compose exec salvagebot-bot python -c "import aiogram; print('aiogram version:', aiogram.__version__)"
|
||||
docker-compose exec salvagedb-bot python -c "import aiogram; print('aiogram version:', aiogram.__version__)"
|
||||
```
|
||||
|
||||
### Логи отладки
|
||||
|
||||
```bash
|
||||
# Включить DEBUG режим
|
||||
echo "DEBUG=1" >> .env
|
||||
# Включить DEBUG режим (отредактировать docker-compose.yml)
|
||||
# Изменить: DEBUG=1
|
||||
docker-compose restart
|
||||
|
||||
# Просмотр подробных логов
|
||||
@ -225,7 +237,7 @@ docker-compose logs -f salvagedb-bot
|
||||
При возникновении проблем:
|
||||
|
||||
1. Проверьте логи: `docker-compose logs salvagedb-bot`
|
||||
2. Убедитесь в правильности переменных окружения
|
||||
2. Убедитесь в правильности переменных в docker-compose.yml
|
||||
3. Проверьте подключение к Oracle DB
|
||||
4. Проверьте валидность токена бота
|
||||
|
||||
|
||||
@ -11,24 +11,24 @@ services:
|
||||
# Переменные окружения
|
||||
environment:
|
||||
# Telegram Bot настройки
|
||||
- BOT_TOKEN=${BOT_TOKEN}
|
||||
- BOT_NAME=${BOT_NAME:-SalvageDB Bot}
|
||||
- ADMIN_USER_ID=${ADMIN_USER_ID}
|
||||
- BOT_TOKEN=your_bot_token_here
|
||||
- BOT_NAME=SalvageDB Bot
|
||||
- ADMIN_USER_ID=123456789
|
||||
|
||||
# Цены на услуги (в Telegram Stars)
|
||||
- DECODE_PRICE=${DECODE_PRICE:-1}
|
||||
- CHECK_PRICE=${CHECK_PRICE:-10}
|
||||
- IMG_PRICE=${IMG_PRICE:-100}
|
||||
- DECODE_PRICE=1
|
||||
- CHECK_PRICE=10
|
||||
- IMG_PRICE=100
|
||||
|
||||
# База данных Oracle
|
||||
- db_user=${DB_USER}
|
||||
- db_password=${DB_PASSWORD}
|
||||
- db_dsn=${DB_DSN}
|
||||
- db_user=your_db_user
|
||||
- db_password=your_db_password
|
||||
- db_dsn=localhost:1521/XEPDB1
|
||||
|
||||
# Настройки приложения
|
||||
- DEBUG=${DEBUG:-0}
|
||||
- DEBUG=0
|
||||
- PYTHONUNBUFFERED=1
|
||||
- TZ=${TIMEZONE:-UTC}
|
||||
- TZ=UTC
|
||||
|
||||
# Монтируем volumes для логов и изображений
|
||||
volumes:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user