52 lines
1.4 KiB
Makefile
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)"
|