- Add SessionManager class to handle PTY sessions with WebSocket connections. - Implement methods for creating, retrieving, and destroying sessions. - Handle PTY output and WebSocket messages for terminal interaction. - Ensure graceful session destruction and cleanup. feat: initialize web application with Next.js and Tailwind CSS - Create initial Next.js application structure with TypeScript support. - Set up Tailwind CSS for styling with custom theme configurations. - Add ESLint configuration for code quality and consistency. feat: implement chat API and UI components - Create chat API route to handle chat requests and responses. - Develop chat layout with sidebar, header, chat window, and input components. - Integrate Zustand for state management of conversations and messages. - Add utility functions for formatting dates and managing class names. chore: add environment variables and configuration files - Create .env.example for environment variable setup. - Add configuration files for PostCSS, Tailwind CSS, and TypeScript. - Set up package.json with necessary dependencies and scripts for development.
29 lines
755 B
YAML
29 lines
755 B
YAML
services:
|
|
claude-web:
|
|
build:
|
|
context: ..
|
|
dockerfile: docker/Dockerfile
|
|
ports:
|
|
- "${PORT:-3000}:3000"
|
|
environment:
|
|
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
|
|
- AUTH_TOKEN=${AUTH_TOKEN:-}
|
|
- MAX_SESSIONS=${MAX_SESSIONS:-5}
|
|
- ALLOWED_ORIGINS=${ALLOWED_ORIGINS:-}
|
|
volumes:
|
|
# Persist Claude's config and session data across restarts
|
|
- claude-data:/home/claude/.claude
|
|
tmpfs:
|
|
# PTY processes write temp files here; no persistent storage needed
|
|
- /tmp:mode=1777
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|
|
start_period: 10s
|
|
|
|
volumes:
|
|
claude-data:
|