SERVICES=traefik whoami gitea nextcloud qbittorrent jellyfin devbox obsidian n8n supersync

.PHONY: up down restart backup docs generate-docs logs status

up:
	@for svc in $(SERVICES); do \
		if [ -f "$$svc/docker-compose.yml" ]; then \
			echo "Starting $$svc..."; \
			(cd $$svc && docker compose up -d); \
		fi; \
	done

down:
	@for svc in $(SERVICES); do \
		if [ -f "$$svc/docker-compose.yml" ]; then \
			echo "Stopping $$svc..."; \
			(cd $$svc && docker compose down); \
		fi; \
	done

restart: down up

logs:
	@echo "=== Traefik ===" && (cd traefik && docker compose logs --tail=10)
	@echo "=== Gitea ===" && (cd gitea && docker compose logs --tail=10)
	@echo "=== Nextcloud ===" && (cd nextcloud && docker compose logs --tail=10)

status:
	@for svc in $(SERVICES); do \
		if [ -f "$$svc/docker-compose.yml" ]; then \
			echo "--- $$svc ---"; \
			(cd $$svc && docker compose ps --format "table {{.Name}}\t{{.Status}}\t{{.Ports}}"); \
		fi; \
	done

backup:
	./backup.sh

generate-docs:
	python3 scripts/generate_docs.py

docs: generate-docs
	mkdocs build
