Skip to main content
Glama
docker-compose.yml4.24 kB
volumes: redis_data: driver: local kc_postgres_data: {} networks: snaknet: driver: bridge services: postgres: image: pgvector/pgvector:pg17 container_name: 'postgresql' networks: [snaknet] ports: - '5432:5432' env_file: - .env volumes: - ./packages/database/initdb:/docker-entrypoint-initdb.d healthcheck: test: ['CMD-SHELL', 'pg_isready -U $${POSTGRES_USER}'] interval: 10s timeout: 5s retries: 5 command: > postgres -c logging_collector=on -c log_directory=/etc/postgresql/log -c log_file_mode=0664 -c log_filename='postgresql-%Y-%m-%d_%H:%M:%S.log' restart: unless-stopped redis: image: redis:7-alpine container_name: 'snak_redis' networks: [snaknet] ports: - '127.0.0.1:6379:6379' volumes: - redis_data:/data env_file: - .env command: [ 'redis-server', '--appendonly', 'yes', '--requirepass', '${REDIS_PASSWORD:?REDIS_PASSWORD is required}', ] healthcheck: test: [ 'CMD', 'redis-cli', '-a', '${REDIS_PASSWORD:?REDIS_PASSWORD is required}', 'ping', ] interval: 10s timeout: 5s retries: 5 restart: unless-stopped snak-api: build: context: . dockerfile: packages/server/Dockerfile container_name: 'snak-api' networks: [snaknet] ports: - '3002:3002' env_file: - .env depends_on: postgres: condition: service_healthy redis: condition: service_healthy restart: on-failure traefik: image: traefik:v3.1 container_name: traefik restart: always command: - --entrypoints.websecure.address=:443 - --providers.file.directory=/etc/traefik/dynamic - --api.dashboard=true - --log.level="DEBUG" ports: - '443:443' - '8081:8080' # dashboard volumes: - ./keycloak/traefik/dynamic.yml:/etc/traefik/dynamic/dynamic.yml:ro - ./keycloak/traefik/certs:/certs:ro networks: [snaknet] # kc_postgres: # image: postgres:15 # container_name: kc_postgres # restart: always # env_file: # - keycloak/.env.keycloak # healthcheck: # test: ['CMD-SHELL', 'pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}'] # interval: 5s # timeout: 3s # retries: 30 # volumes: # - kc_postgres_data:/var/lib/postgresql/data # networks: [snaknet] # keycloak: # image: quay.io/keycloak/keycloak:26.0.2 # container_name: keycloak # command: ["start", "--import-realm"] # restart: always # depends_on: # kc_postgres: # condition: service_healthy # volumes: # - ./keycloak/realm.json:/opt/keycloak/data/import/realm.json:ro # env_file: # - keycloak/.env.keycloak # networks: [snaknet] # ports: # - "8080:8080" # - "9000:9000" # oauth2-proxy: # image: quay.io/oauth2-proxy/oauth2-proxy:v7.6.0 # container_name: oauth2_proxy # restart: always # depends_on: # - keycloak # env_file: # - keycloak/.env.keycloak # networks: [snaknet] # ports: # - "4180:4180" # - "44180:44180" # snak-frontend: # build: # context: ../snak-app/frontend # dockerfile: Dockerfile # container_name: 'snak-frontend' # env_file: # - ../snak-app/frontend/.env # networks: [snaknet] # ports: # - '3000:3000' # snak-bff: # build: # context: ../snak-app/backend # dockerfile: Dockerfile # container_name: 'snak-bff' # env_file: # - ../snak-app/backend/.env # networks: [snaknet] # ports: # - '3001:3001' # snak-frontend: # image: ghcr.io/kasarlabs/snak-app/snak-frontend:latest # container_name: 'snak-frontend' # env_file: # - .env.snak-frontend # networks: [snaknet] # ports: # - '3000:3000' # snak-bff: # image: ghcr.io/kasarlabs/snak-app/snak-bff:latest # container_name: 'snak-bff' # env_file: # - .env.snak-bff # networks: [snaknet] # ports: # - '3001:3001'

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/KasarLabs/snak'

If you have feedback or need assistance with the MCP directory API, please join our Discord server