♻️ feat: implement session management for PTY sessions in the server
- 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.
This commit is contained in:
28
docker/entrypoint.sh
Normal file
28
docker/entrypoint.sh
Normal file
@@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
# ── Validate required env vars ────────────────────────────────
|
||||
if [ -z "$ANTHROPIC_API_KEY" ]; then
|
||||
echo "ERROR: ANTHROPIC_API_KEY is not set." >&2
|
||||
echo "" >&2
|
||||
echo " docker run -p 3000:3000 -e ANTHROPIC_API_KEY=sk-ant-... claude-web" >&2
|
||||
echo "" >&2
|
||||
echo " Or via docker-compose with a .env file:" >&2
|
||||
echo " ANTHROPIC_API_KEY=sk-ant-... docker-compose up" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# The API key is forwarded to child PTY processes via process.env,
|
||||
# so the claude CLI will pick it up automatically — no config file needed.
|
||||
|
||||
echo "Claude Web Terminal starting on port ${PORT:-3000}..."
|
||||
if [ -n "$AUTH_TOKEN" ]; then
|
||||
echo " Auth token protection: enabled"
|
||||
fi
|
||||
if [ -n "$ALLOWED_ORIGINS" ]; then
|
||||
echo " Allowed origins: $ALLOWED_ORIGINS"
|
||||
fi
|
||||
echo " Max sessions: ${MAX_SESSIONS:-5}"
|
||||
|
||||
# Hand off to the PTY WebSocket server
|
||||
exec bun /app/src/server/web/pty-server.ts
|
||||
Reference in New Issue
Block a user