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