.PHONY: build run clean up down session try logs IMAGE_NAME := opencode IMAGE_TAG := latest MCP_SERVER := http://localhost:8080 build: docker build --build-arg MCP_SERVER=$(MCP_SERVER) -t $(IMAGE_NAME):$(IMAGE_TAG) . run: docker run -it --rm $(IMAGE_NAME):$(IMAGE_TAG) bash clean: docker rmi $(IMAGE_NAME):$(IMAGE_TAG) || true # Start the full stack (session-manager, docker-daemon, caddy) up: docker-compose up -d --build @echo "Stack started. Create a session with: make session" # Stop the stack down: docker-compose down # View logs logs: docker-compose logs -f session-manager # Create a new session and display its info session: @echo "Creating new session..." @curl -s -X POST http://localhost:8080/sessions | jq . # Try the web interface - creates a session and opens it try: @echo "Creating session and opening web interface..." @SESSION_ID=$$(curl -s -X POST http://localhost:8080/sessions | jq -r '.session_id') && \ echo "Session created: $$SESSION_ID" && \ echo "Opening http://localhost:8080/session/$$SESSION_ID" && \ xdg-open "http://localhost:8080/session/$$SESSION_ID" 2>/dev/null || \ open "http://localhost:8080/session/$$SESSION_ID" 2>/dev/null || \ echo "Visit: http://localhost:8080/session/$$SESSION_ID"