mirror of
https://github.com/BEDOLAGA-DEV/remnawave-bedolaga-telegram-bot.git
synced 2026-02-03 02:30:25 +00:00
97 lines
2.7 KiB
Makefile
97 lines
2.7 KiB
Makefile
# RemnaWave Bot Docker Management
|
|
|
|
.PHONY: help build up down restart logs clean db-backup db-restore
|
|
|
|
# Default target
|
|
help:
|
|
@echo "Available commands:"
|
|
@echo " build - Build all Docker images"
|
|
@echo " up - Start all services"
|
|
@echo " up-min - Start only bot and database (minimal setup)"
|
|
@echo " up-full - Start all services including nginx and redis"
|
|
@echo " down - Stop all services"
|
|
@echo " restart - Restart all services"
|
|
@echo " logs - Show logs for all services"
|
|
@echo " logs-bot - Show logs for bot service only"
|
|
@echo " logs-db - Show logs for database service only"
|
|
@echo " clean - Remove all containers, networks, and volumes"
|
|
@echo " db-backup - Create database backup"
|
|
@echo " db-restore - Restore database from backup"
|
|
@echo " shell-bot - Open shell in bot container"
|
|
@echo " shell-db - Open shell in database container"
|
|
|
|
# Build all images
|
|
build:
|
|
docker compose build
|
|
|
|
# Start minimal services (bot + database)
|
|
up-min: setup-dirs
|
|
docker compose up -d postgres bot
|
|
|
|
# Start all services including optional ones
|
|
up-full: setup-dirs
|
|
docker compose --profile with-nginx up -d
|
|
|
|
# Start main services (default)
|
|
up: setup-dirs
|
|
docker compose up -d postgres redis bot
|
|
|
|
# Setup required directories
|
|
setup-dirs:
|
|
mkdir -p logs data backups
|
|
|
|
# Stop all services
|
|
down:
|
|
docker compose down
|
|
|
|
# Restart all services
|
|
restart:
|
|
docker compose restart
|
|
|
|
# Show logs for all services
|
|
logs:
|
|
docker compose logs -f
|
|
|
|
# Show logs for bot only
|
|
logs-bot:
|
|
docker compose logs -f bot
|
|
|
|
# Show logs for database only
|
|
logs-db:
|
|
docker compose logs -f postgres
|
|
|
|
# Clean up everything (DANGEROUS - removes all data)
|
|
clean:
|
|
@echo "This will remove all containers, networks, and volumes. Are you sure? [y/N]"
|
|
@read answer && [ "$$answer" = "y" ] || [ "$$answer" = "Y" ]
|
|
docker compose down -v --remove-orphans
|
|
docker system prune -f
|
|
|
|
# Database backup
|
|
db-backup:
|
|
@mkdir -p backups
|
|
docker compose exec postgres pg_dump -U remnawave_user remnawave_bot > backups/backup_$(shell date +%Y%m%d_%H%M%S).sql
|
|
@echo "Backup created in backups/ directory"
|
|
|
|
# Database restore (use: make db-restore BACKUP=backup_20231201_120000.sql)
|
|
db-restore:
|
|
@if [ -z "$(BACKUP)" ]; then echo "Usage: make db-restore BACKUP=backup_file.sql"; exit 1; fi
|
|
docker compose exec -T postgres psql -U remnawave_user -d remnawave_bot < backups/$(BACKUP)
|
|
@echo "Database restored from $(BACKUP)"
|
|
|
|
# Open shell in bot container
|
|
shell-bot:
|
|
docker compose exec bot /bin/bash
|
|
|
|
# Open shell in database container
|
|
shell-db:
|
|
docker compose exec postgres psql -U remnawave_user -d remnawave_bot
|
|
|
|
# Check services status
|
|
status:
|
|
docker compose ps
|
|
|
|
# View service resource usage
|
|
stats:
|
|
docker stats --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}\t{{.NetIO}}\t{{.BlockIO}}"
|