103 lines
3.5 KiB
Makefile
103 lines
3.5 KiB
Makefile
# 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
|