43 lines
1.2 KiB
Makefile
43 lines
1.2 KiB
Makefile
.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"
|