/
ncit
/
multiagentsystem
Обзор
Документация
Войти
/
ncit
/
multiagentsystem
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
docker-compose.yml
165 строк
6 KB
Nikita
feat: update API and add supabase initialization
09 июн 2026, 12:07
09 июн 2026, 12:07
f18df6f
Код
Авторство
О чём код?
version: "3.9" # ─── CORE SERVICES ──────────────────────────────────────────────────────────── services: # ─── YOUR API (Agno AgentOS) ───────────────────────────────────────────────── api: build: context: ./api dockerfile: Dockerfile container_name: agents-api ports: - "8000:8000" environment: - OPENROUTER_API_KEY=${OPENROUTER_API_KEY} - SUPABASE_URL=http://supabase-rest:3000 - SUPABASE_SERVICE_KEY=${SERVICE_ROLE_KEY} - SUPABASE_ANON_KEY=${ANON_KEY} - DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@supabase-db:5432/postgres - REDIS_URL=redis://redis:6379 - OPIK_URL=http://opik:5173 - TRIGGER_API_URL=http://trigger:3030 - MEILISEARCH_URL=http://meilisearch:7700 - MEILISEARCH_KEY=${MEILISEARCH_KEY} depends_on: supabase-db: condition: service_healthy redis: condition: service_healthy restart: unless-stopped networks: - agents-net # ─── NEXT.JS USER DASHBOARD ────────────────────────────────────────────────── frontend: build: context: ./frontend dockerfile: Dockerfile container_name: agents-frontend ports: - "3000:3000" environment: - NEXT_PUBLIC_SUPABASE_URL=http://supabase-auth:9999 - NEXT_PUBLIC_SUPABASE_ANON_KEY=${ANON_KEY} - NEXT_PUBLIC_API_URL=http://api:8000 - NEXT_PUBLIC_MEILISEARCH_URL=http://meilisearch:7700 depends_on: - api restart: unless-stopped networks: - agents-net # ─── SUPABASE STACK ────────────────────────────────────────────────────────── supabase-db: image: pgvector/pgvector:pg16 container_name: agents-supabase-db ports: - "54322:5432" environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: postgres volumes: - db-data:/var/lib/postgresql/data - ./supabase/init/00_roles.sh:/docker-entrypoint-initdb.d/00_roles.sh - ./supabase/migrations/001_initial_schema.sql:/docker-entrypoint-initdb.d/001_schema.sql - ./supabase/seed/seed.sql:/docker-entrypoint-initdb.d/002_seed.sql healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 5s timeout: 5s retries: 10 restart: unless-stopped networks: - agents-net supabase-auth: image: supabase/gotrue:v2.162.0 container_name: agents-supabase-auth ports: - "54324:9999" environment: GOTRUE_API_HOST: "0.0.0.0" GOTRUE_API_PORT: "9999" GOTRUE_API_EXTERNAL_URL: http://localhost:54324 GOTRUE_DB_DRIVER: postgres GOTRUE_DB_DATABASE_URL: postgres://supabase_auth_admin:${POSTGRES_PASSWORD}@supabase-db:5432/postgres GOTRUE_SITE_URL: http://localhost:3000 GOTRUE_JWT_SECRET: ${JWT_SECRET} GOTRUE_JWT_EXP: 3600 GOTRUE_JWT_DEFAULT_GROUP_NAME: authenticated GOTRUE_DISABLE_SIGNUP: "false" GOTRUE_EXTERNAL_EMAIL_ENABLED: "true" GOTRUE_MAILER_AUTOCONFIRM: "true" depends_on: supabase-db: condition: service_healthy restart: unless-stopped networks: - agents-net supabase-rest: image: postgrest/postgrest:v12.2.0 container_name: agents-supabase-rest ports: - "54321:3000" environment: PGRST_DB_URI: postgres://authenticator:${POSTGRES_PASSWORD}@supabase-db:5432/postgres PGRST_DB_SCHEMAS: public,storage,graphql_public PGRST_DB_ANON_ROLE: anon PGRST_JWT_SECRET: ${JWT_SECRET} PGRST_DB_USE_LEGACY_GUCS: "false" PGRST_APP_SETTINGS_JWT_SECRET: ${JWT_SECRET} PGRST_APP_SETTINGS_JWT_EXP: 3600 depends_on: supabase-db: condition: service_healthy restart: unless-stopped networks: - agents-net # ─── REDIS (Cache + Job Queue) ──────────────────────────────────────────────── redis: image: redis:7-alpine container_name: agents-redis ports: - "6379:6379" command: redis-server --appendonly yes --maxmemory 256mb --maxmemory-policy allkeys-lru volumes: - redis-data:/data healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s timeout: 3s retries: 5 restart: unless-stopped networks: - agents-net # ─── MEILISEARCH (Marketplace Search) ──────────────────────────────────────── meilisearch: image: getmeili/meilisearch:v1.12 container_name: agents-meilisearch ports: - "7700:7700" environment: MEILI_MASTER_KEY: ${MEILISEARCH_KEY} MEILI_ENV: development volumes: - meili-data:/meili_data restart: unless-stopped networks: - agents-net # ─── VOLUMES ────────────────────────────────────────────────────────────────── volumes: db-data: redis-data: meili-data: # ─── NETWORKS ───────────────────────────────────────────────────────────────── networks: agents-net: driver: bridge