Files
docker-configs/router/Dockerfile
Will Song 261ac9d563 Add Claude Router to docker-configs
Integrate Claude Router v1.1.0 as a new service in the main docker-compose stack:

Features:
- Smart API router with automatic failover between Claude Pro and Claude API
- Scheduled health checks every hour (0-4 minutes) to detect quota recovery
- Intelligent auto-switch back to Claude Pro when available
- Manual health check endpoint for immediate testing
- Complete documentation and Docker containerization
- Compatible with Claude Code CLI

Changes:
- Add router/ subdirectory with complete Claude Router project
- Integrate claude-router service into main docker-compose.yml
- Resolve port conflict (move SillyTavern to 8002, Claude Router uses 8000)
- Update .gitignore for router-specific exclusions

The router automatically detects when Claude Pro quota is restored
and switches back to prioritize the premium service.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-14 19:08:12 -05:00

32 lines
682 B
Docker

FROM python:3.11-slim
# Set working directory
WORKDIR /app
# Install system dependencies
RUN apt-get update && apt-get install -y \
curl \
&& rm -rf /var/lib/apt/lists/*
# Copy requirements first for better caching
COPY requirements.txt .
# Install Python dependencies
RUN pip install --no-cache-dir -r requirements.txt
# Copy application code
COPY . .
# Create non-root user
RUN useradd -m -u 1000 router && chown -R router:router /app
USER router
# Expose port
EXPOSE 8000
# Health check
HEALTHCHECK --interval=30s --timeout=10s --start-period=30s --retries=3 \
CMD curl -f http://localhost:8000/health || exit 1
# Run the application
CMD ["python", "app.py"]