# Makefile dla Skrzynka Impostora Bot # Użycie: make .PHONY: help dev dev-down prod prod-down build logs clean deploy-commands # Default target help: ## Pokaż dostępne komendy @echo "Dostępne komendy dla Skrzynka Impostora Bot:" @echo "" @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' dev: ## Uruchom środowisko development @echo "🚀 Uruchamianie środowiska development..." @if [ ! -f .env ]; then \ echo "⚠️ Kopiuję .env.example do .env"; \ cp .env.example .env; \ echo "📝 Uzupełnij zmienne w pliku .env przed kontynuowaniem"; \ fi docker compose -f docker-compose.dev.yml up --build -d @echo "✅ Środowisko uruchomione!" @echo "📋 Dostępne usługi:" @echo " 🤖 Bot + Panel: http://localhost:3000" @echo " 📊 pgAdmin: http://localhost:8080" dev-down: ## Zatrzymaj środowisko development @echo "🛑 Zatrzymywanie środowiska development..." docker compose -f docker-compose.dev.yml down dev-rebuild: ## Przebuduj i uruchom development @echo "🔄 Przebudowywanie środowiska development..." docker compose -f docker-compose.dev.yml down docker compose -f docker-compose.dev.yml up --build -d prod: ## Uruchom środowisko produkcyjne @echo "🚀 Uruchamianie środowiska produkcyjnego..." docker compose up --build -d @echo "✅ Produkcja uruchomiona!" prod-down: ## Zatrzymaj środowisko produkcyjne @echo "🛑 Zatrzymywanie środowiska produkcyjnego..." docker compose down build: ## Zbuduj obraz Docker @echo "🏗️ Budowanie obrazu Docker..." docker build -t skrzynka-impostora-bot:latest . logs: ## Pokaż logi development docker compose -f docker-compose.dev.yml logs -f logs-prod: ## Pokaż logi produkcji docker compose logs -f clean: ## Wyczyść wszystkie kontenery i volumes @echo "🧹 Czyszczenie kontenerów i volumes..." docker compose -f docker-compose.dev.yml down -v docker compose down -v docker system prune -f clean-all: ## Wyczyść wszystko włącznie z obrazami @echo "🧹 Czyszczenie wszystkiego..." docker compose -f docker-compose.dev.yml down -v docker compose down -v docker rmi skrzynka-impostora-bot:latest 2>/dev/null || true docker system prune -af deploy-commands: ## Deploy komend Discord (wymaga DISCORD_TOKEN) @if [ -z "$(DISCORD_TOKEN)" ]; then \ echo "❌ Brak DISCORD_TOKEN. Użyj: make deploy-commands DISCORD_TOKEN=twoj_token"; \ exit 1; \ fi @echo "📡 Deployowanie komend Discord..." docker run --rm \ -e DISCORD_TOKEN="$(DISCORD_TOKEN)" \ -e DISCORD_CLIENT_ID="$(DISCORD_CLIENT_ID)" \ skrzynka-impostora-bot:latest \ node backend/deploy-commands.js shell: ## Wejdź do kontenera bota (development) docker compose -f docker-compose.dev.yml exec bot-dev sh shell-prod: ## Wejdź do kontenera bota (produkcja) docker compose exec bot sh db-shell: ## Wejdź do bazy danych PostgreSQL docker compose -f docker-compose.dev.yml exec postgres-dev psql -U dev_user -d skrzynka_impostora_dev backup-db: ## Stwórz backup bazy danych @echo "💾 Tworzenie backupu bazy danych..." docker compose -f docker-compose.dev.yml exec postgres-dev pg_dump -U dev_user skrzynka_impostora_dev > backup_$(shell date +%Y%m%d_%H%M%S).sql @echo "✅ Backup utworzony!" status: ## Pokaż status kontenerów @echo "📊 Status kontenerów development:" docker compose -f docker-compose.dev.yml ps @echo "" @echo "📊 Status kontenerów produkcji:" docker compose ps # Aliasy dla wygody up: dev ## Alias dla dev down: dev-down ## Alias dla dev-down restart: dev-rebuild ## Alias dla dev-rebuild