manifest Docker & Self-Hosted Deployment

GitHub

Open Source LLM Gateway ๐Ÿฆš

7,595 stars TypeScript TypeScript 14 files ยท ~38,330 tokens #ai#ai-#ai-sdk#anthropic#byok#cost-tracking#gateway#hermes-agent
RAW Compose
1. Pull Image (DOCKERHUB) docker pull manifestdotbuild/manifest
2. Docker Run (1-Click Launch) docker run -d --name manifest --restart always manifestdotbuild/manifest:6
3. Podman Run podman run -d --name manifest --restart always manifestdotbuild/manifest:6
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/manifestdotbuild/manifest:6
5. ORAS Pull (OCI Artifact) oras pull manifestdotbuild/manifest:6
6. Compose Deployment docker compose up -d
deploy/coolify/docker-compose.yml
Download .yml
services:
  manifest:
    image: manifestdotbuild/manifest:6
    environment:
      - SERVICE_URL_MANIFEST_2099
      - PORT=2099
      - BIND_ADDRESS=0.0.0.0
      - DATABASE_URL=postgresql://manifest:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/manifest
      - BETTER_AUTH_SECRET=${SERVICE_HEX_64_AUTH}
      - MANIFEST_ENCRYPTION_KEY=${SERVICE_HEX_64_ENCRYPTION}
      - BETTER_AUTH_URL=${SERVICE_URL_MANIFEST_2099}
      - MANIFEST_MODE=selfhosted
      - NODE_ENV=production
      - DB_POOL_MAX=10
      - AUTH_DB_POOL_MAX=5
      - REQUEST_RECORDING_STORAGE=filesystem
      - REQUEST_RECORDING_FILESYSTEM_PATH=/data/request-recordings
    volumes:
      - manifest-recordings-data:/data/request-recordings
    depends_on:
      postgres:
        condition: service_healthy
    healthcheck:
      test:
        - CMD
        - node
        - -e
        - "const p=process.env.PORT||'2099';fetch(`http://127.0.0.1:$${p}/api/v1/health`).then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"
      interval: 30s
      timeout: 5s
      start_period: 90s
      retries: 3

  postgres:
    image: postgres:16-alpine
    environment:
      - POSTGRES_USER=manifest
      - POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
      - POSTGRES_DB=manifest
    volumes:
      - manifest-postgres-data:/var/lib/postgresql/data
    healthcheck:
      test: pg_isready -U manifest
      interval: 5s
      timeout: 3s
      retries: 5

volumes:
  manifest-postgres-data:
  manifest-recordings-data: