2api / docker-compose.yml
lin7zhi's picture
Upload folder using huggingface_hub
69fec20 verified
version: '3.8'
services:
gcli2api:
image: ghcr.io/su-kaka/gcli2api:latest
container_name: gcli2api
restart: unless-stopped
network_mode: host
environment:
# Password configuration (choose one)
# Option 1: Use common password
- PASSWORD=${PASSWORD:-pwd}
# Option 2: Use separate passwords (uncomment if needed)
# - API_PASSWORD=${API_PASSWORD:-your_api_password}
# - PANEL_PASSWORD=${PANEL_PASSWORD:-your_panel_password}
# Server configuration
- PORT=${PORT:-7861}
- HOST=${HOST:-0.0.0.0}
# Optional: Google credentials from environment
# - GOOGLE_CREDENTIALS=${GOOGLE_CREDENTIALS}
# Optional: Logging configuration
# - LOG_LEVEL=${LOG_LEVEL:-info}
# Optional: Redis configuration (for distributed storage)
# - REDIS_URI=${REDIS_URI}
# - REDIS_DATABASE=${REDIS_DATABASE:-0}
# Optional: MongoDB configuration (for distributed storage)
# - MONGODB_URI=${MONGODB_URI}
# - MONGODB_DATABASE=${MONGODB_DATABASE:-gcli2api}
# Optional: PostgreSQL configuration (for distributed storage)
# - POSTGRES_DSN=${POSTGRES_DSN}
# Optional: Proxy configuration
# - PROXY=${PROXY}
volumes:
- ./data/creds:/app/creds
healthcheck:
test: ["CMD-SHELL", "python -c \"import sys, urllib.request, os; port = os.environ.get('PORT', '7861'); req = urllib.request.Request(f'http://localhost:{port}/v1/models', headers={'Authorization': 'Bearer ' + os.environ.get('PASSWORD', 'pwd')}); sys.exit(0 if urllib.request.urlopen(req, timeout=5).getcode() == 200 else 1)\""]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
# Example with Redis for distributed storage
# redis:
# image: redis:7-alpine
# container_name: gcli2api-redis
# restart: unless-stopped
# ports:
# - "6379:6379"
# volumes:
# - redis_data:/data
# command: redis-server --appendonly yes
# healthcheck:
# test: ["CMD", "redis-cli", "ping"]
# interval: 10s
# timeout: 3s
# retries: 3
# Example with MongoDB for distributed storage
# mongodb:
# image: mongo:7
# container_name: gcli2api-mongodb
# restart: unless-stopped
# environment:
# MONGO_INITDB_ROOT_USERNAME: ${MONGO_USER:-admin}
# MONGO_INITDB_ROOT_PASSWORD: ${MONGO_PASSWORD:-password}
# ports:
# - "27017:27017"
# volumes:
# - mongodb_data:/data/db
# healthcheck:
# test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping')"]
# interval: 10s
# timeout: 5s
# retries: 3
#volumes:
# redis_data:
# mongodb_data: