first commit

This commit is contained in:
2025-07-21 00:45:28 +02:00
parent ab10b0f9a1
commit 93232a1663
39 changed files with 4860 additions and 0 deletions

102
bot/Makefile Normal file
View File

@@ -0,0 +1,102 @@
# Makefile dla Skrzynka Impostora Bot
# Użycie: make <target>
.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