.PHONY: build build-web build-server run dev docker-up docker-down clean

# Build everything
build: build-web build-server

# Build the Go server
build-server:
	CGO_ENABLED=0 go build -o dumpster-server ./cmd/server

# Build the web frontend
build-web:
	cd web && npm run build

# Run the server locally (dev mode)
run: build-server
	./dumpster-server

# Run web dev server (in a separate terminal)
dev-web:
	cd web && npm run dev

# Start all backing services (no app, run that locally)
docker-dev:
	docker compose -f docker/compose.yml up postgres valkey minio livekit coturn -d

# Start everything in Docker
docker-up:
	docker compose -f docker/compose.yml up -d --build

# Stop everything
docker-down:
	docker compose -f docker/compose.yml down

# Stop and remove volumes
docker-clean:
	docker compose -f docker/compose.yml down -v

# Clean build artifacts
clean:
	rm -f dumpster-server
	rm -rf web/dist
	rm -rf web/node_modules
