Ctrl K
ComunidadGuías…

supabase-nano/compose.miget.yaml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
x-miget:
  variables:
    ANON_KEY:
      derive: hs256_jwt
      from: JWT_SECRET
      claims: { role: anon, iss: supabase, iat: 1700000000, exp: 2000000000 }
    SERVICE_ROLE_KEY:
      derive: hs256_jwt
      from: JWT_SECRET
      claims: { role: service_role, iss: supabase, iat: 1700000000, exp: 2000000000 }

services:
  kong:
    x-miget:
      ram: "192"
    environment:
      KONG_PROXY_LISTEN: "0.0.0.0:5000, [::]:5000"
      JWT_SECRET: ${JWT_SECRET:?}
      ANON_KEY: ${ANON_KEY}
      SERVICE_ROLE_KEY: ${SERVICE_ROLE_KEY}
      SUPABASE_ANON_KEY: ${ANON_KEY}
      SUPABASE_SERVICE_KEY: ${SERVICE_ROLE_KEY}
      DASHBOARD_USERNAME: ${DASHBOARD_USERNAME:?Username you will use to log in to the Supabase dashboard}
      DASHBOARD_PASSWORD: ${DASHBOARD_PASSWORD:?Password for the Supabase dashboard login}

  auth:
    x-miget: { ram: "96", private: true }
    environment:
      JWT_SECRET: ${JWT_SECRET:?}
      GOTRUE_JWT_SECRET: ${JWT_SECRET}
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?}
      API_EXTERNAL_URL: ${{kong.public_url}}
      SITE_URL: ${{kong.public_url}}

  rest:
    x-miget: { ram: "64", private: true }
    environment:
      JWT_SECRET: ${JWT_SECRET:?}
      PGRST_JWT_SECRET: ${JWT_SECRET}
      PGRST_APP_SETTINGS_JWT_SECRET: ${JWT_SECRET}
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?}

  studio:
    x-miget: { ram: "320", private: true }
    healthcheck:
      test: ["CMD", "bash", "-c", "exec 3<>/dev/tcp/127.0.0.1/3000 && printf 'GET /api/platform/profile HTTP/1.0\\r\\n\\r\\n' >&3 && head -1 <&3 | grep -q ' 200'"]
    depends_on: [db, meta]
    environment:
      JWT_SECRET: ${JWT_SECRET:?}
      AUTH_JWT_SECRET: ${JWT_SECRET}
      SUPABASE_ANON_KEY: ${ANON_KEY}
      SUPABASE_SERVICE_KEY: ${SERVICE_ROLE_KEY}
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?}
      PG_META_CRYPTO_KEY: ${PG_META_CRYPTO_KEY:?}
      SUPABASE_PUBLIC_URL: ${{kong.public_url}}
      PORT: "3000"
      HOSTNAME: "::"
      NODE_OPTIONS: "--max-old-space-size=128 --dns-result-order=ipv4first"
    volumes:
      - studio-functions:/app/edge-functions
      - studio-snippets:/app/snippets

  meta:
    x-miget: { ram: "160", private: true }
    environment:
      PG_META_HOST: "::"
      NODE_OPTIONS: "--max-old-space-size=96 --dns-result-order=ipv4first"
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?}
      PG_META_CRYPTO_KEY: ${PG_META_CRYPTO_KEY:?}

  db:
    x-miget:
      ram: "192"
      private: true
    environment:
      JWT_SECRET: ${JWT_SECRET:?}
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?}

volumes:
  studio-functions:
    x-miget: { size: "500", type: RWX }
  studio-snippets:
    x-miget: { size: "500", type: RWX }
  dbdata:
    x-miget: { size: "4000", type: RWO }