Files
http/makefile
2026-04-02 10:59:57 -04:00

52 lines
1.4 KiB
Makefile

# Zmienne
PYTHON = venv/bin/python
PIP = venv/bin/pip
APP = app.py
PORT = 2500
PROD_PORT = 8000
# Kolory
GREEN = \033[0;32m
NC = \033[0m
.PHONY: setup run clean status kill
help:
@echo "$(GREEN)Dostępne komendy:$(NC)"
@echo " make setup - Tworzy venv i instaluje biblioteki"
@echo " make run - Uruchamia serwer deweloperski"
@echo " make prod - Uruchamia serwer produkcyjny (Gunicorn) w tle"
@echo " make status - Sprawdza co działa"
@echo " make kill - Zabija procesy na obu portach"
@echo " make clean - Usuwa śmieci i venv"
setup:
@python3 -m venv venv
@$(PIP) install --upgrade pip
@$(PIP) install flask flask-cors gunicorn python-dotenv
@echo "$(GREEN)✓ Gotowe. Użyj 'make run'$(NC)"
run:
@echo "$(GREEN)Start dev na porcie $(PORT)...$(NC)"
@$(PYTHON) $(APP)
prod:
@echo "$(GREEN)Start prod na porcie $(PROD_PORT)...$(NC)"
@nohup $(VENV_DIR)/bin/gunicorn -w 4 -b 0.0.0.0:$(PROD_PORT) app:app > production.log 2>&1 &
@echo "$(GREEN)✓ Działa w tle (logi w production.log)$(NC)"
status:
@echo "--- PORT $(PORT) (DEV) ---"
@ss -tulpn | grep :$(PORT) || echo "Wolny"
@echo "--- PORT $(PROD_PORT) (PROD) ---"
@ss -tulpn | grep :$(PROD_PORT) || echo "Wolny"
kill:
@echo "Zabijanie procesów..."
@-fuser -k $(PORT)/tcp 2>/dev/null || true
@-fuser -k $(PROD_PORT)/tcp 2>/dev/null || true
@echo "$(GREEN)✓ Czysto$(NC)"
clean:
@rm -rf venv __pycache__ *.pyc production.log
@echo "$(GREEN)✓ Posprzątane$(NC)"