# FlorianNetz — Deployment-Makefile (externes Traefik).
#
# Ziele:
#   make build   - baut das App-Image (Next.js standalone, non-root)
#   make up       - startet den Stack (App + Postgres + Geo) hinter Traefik
#   make down    - stoppt den Stack
#   make logs     - folgt den App-Logs
#   make deploy   - build + up (Standard-Deploy)
#   make data     - bereitet die OSRM-Geodaten vor (Download + Preprocessing)
#   make config   - validiert die Compose-Konfiguration
#
# Hinweis: up/data/deploy benötigen Docker (+ Netzzugriff/RAM/Disk) und werden
# NICHT in CI/Sandbox ausgeführt. Das externe Traefik-Netz muss existieren:
#   docker network create traefik

COMPOSE = docker compose --env-file .env

.PHONY: build up down logs deploy data config

build:
	$(COMPOSE) build app

up:
	$(COMPOSE) up -d

down:
	$(COMPOSE) down

logs:
	$(COMPOSE) logs -f app

deploy: build up

data:
	./scripts/prepare-osm-data.sh

config:
	$(COMPOSE) config --services
