.PHONY: start dev backend frontend install stop docker-build docker-up docker-down docker-logs docker-ps docker-config

ifneq (,$(wildcard .env))
include .env
export
endif

# 一键启动前后端（推荐）
start dev:
	@bash ./start.sh

backend:
	cd backend && go run ./cmd/server

frontend:
	cd frontend && npm run dev

install:
	cd backend && go mod tidy
	cd frontend && npm install

# 停止占用默认端口的进程
stop:
	@-lsof -tiTCP:8080 -sTCP:LISTEN | xargs kill 2>/dev/null || true
	@-lsof -tiTCP:5173 -sTCP:LISTEN | xargs kill 2>/dev/null || true
	@echo "已尝试停止 8080 / 5173 端口服务"

# Docker 部署：宿主机只需要 Docker/Compose，前端与后端都在镜像内构建
docker-build:
	@echo "构建 Docker 镜像..."
	docker compose build

docker-up:
	@echo "启动 Docker Compose 服务..."
	docker compose up -d --build

docker-down:
	@echo "停止并移除容器..."
	docker compose down

docker-logs:
	@echo "查看 backend 和 caddy 日志..."
	docker compose logs -f backend caddy

docker-ps:
	docker compose ps

docker-config:
	docker compose config
