- Any-LLM Gateway setup with Docker Compose - Laravel 11 admin interface with Livewire - Dashboard with usage statistics and charts - Gateway Users management with budget tracking - API Keys management with revocation - Budget templates with assignment - Usage Logs with filtering and CSV export - Model Pricing management with calculator - PostgreSQL database integration - Complete authentication system for admins
99 lines
2.2 KiB
YAML
99 lines
2.2 KiB
YAML
services:
|
|
gateway:
|
|
# if pulling from ghcr.io, use the following instead, and comment out the build section:
|
|
image: ghcr.io/mozilla-ai/any-llm/gateway:latest
|
|
# build:
|
|
# context: ..
|
|
# dockerfile: docker/Dockerfile
|
|
# args:
|
|
# VERSION: ${VERSION:-0.0.0+local}
|
|
# If you want to use a different port, change it here and in the config.yml file.
|
|
ports:
|
|
- "8000:8000"
|
|
volumes:
|
|
- ./config.yml:/app/config.yml
|
|
command: ["any-llm-gateway", "serve", "--config", "/app/config.yml"]
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
restart: unless-stopped
|
|
networks:
|
|
- any-llm-network
|
|
|
|
postgres:
|
|
image: postgres:16-alpine
|
|
environment:
|
|
- POSTGRES_USER=gateway
|
|
- POSTGRES_PASSWORD=gateway
|
|
- POSTGRES_DB=gateway
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U gateway"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
restart: unless-stopped
|
|
networks:
|
|
- any-llm-network
|
|
|
|
web:
|
|
image: nginx:alpine
|
|
ports:
|
|
- "8080:80"
|
|
volumes:
|
|
- ./web:/usr/share/nginx/html:ro
|
|
- ./web/default.conf:/etc/nginx/conf.d/default.conf:ro
|
|
depends_on:
|
|
- gateway
|
|
restart: unless-stopped
|
|
networks:
|
|
- any-llm-network
|
|
|
|
# Laravel Admin Panel
|
|
laravel:
|
|
build:
|
|
context: ./laravel
|
|
dockerfile: Dockerfile
|
|
ports:
|
|
- "80:80"
|
|
volumes:
|
|
- ./laravel-app:/var/www
|
|
environment:
|
|
- APP_ENV=local
|
|
- APP_DEBUG=true
|
|
- APP_KEY=base64:dXFQ1q9f0T9fNZGde+9h/JOsaBPPmGv5qzA87b9FQnQ=
|
|
- DB_CONNECTION=pgsql
|
|
- DB_HOST=postgres
|
|
- DB_PORT=5432
|
|
- DB_DATABASE=gateway
|
|
- DB_USERNAME=gateway
|
|
- DB_PASSWORD=gateway
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
restart: unless-stopped
|
|
networks:
|
|
- any-llm-network
|
|
|
|
# Adminer - Database Management UI
|
|
adminer:
|
|
image: adminer:latest
|
|
ports:
|
|
- "8081:8080"
|
|
environment:
|
|
- ADMINER_DEFAULT_SERVER=postgres
|
|
- ADMINER_DESIGN=dracula
|
|
depends_on:
|
|
- postgres
|
|
restart: unless-stopped
|
|
networks:
|
|
- any-llm-network
|
|
|
|
volumes:
|
|
postgres_data:
|
|
|
|
networks:
|
|
any-llm-network:
|
|
driver: bridge
|