agentops/app/compose.yaml

93 lines
3.4 KiB
YAML

include:
- opentelemetry-collector/compose.yaml
services:
api:
build:
context: .
dockerfile: api/Dockerfile
ports:
- '8000:8000'
environment:
SUPABASE_URL: ${NEXT_PUBLIC_SUPABASE_URL}
SUPABASE_KEY: ${SUPABASE_SERVICE_ROLE_KEY}
APP_URL: ${APP_URL}
PROTOCOL: ${PROTOCOL}
API_DOMAIN: ${API_DOMAIN}
APP_DOMAIN: ${APP_DOMAIN}
# Supabase PostgreSQL Direct Connection
SUPABASE_HOST: ${SUPABASE_HOST}
SUPABASE_PORT: ${SUPABASE_PORT}
SUPABASE_DATABASE: ${SUPABASE_DATABASE}
SUPABASE_USER: ${SUPABASE_USER}
SUPABASE_PASSWORD: ${SUPABASE_PASSWORD}
SUPABASE_MAX_POOL_SIZE: ${SUPABASE_MAX_POOL_SIZE}
SUPABASE_SSLMODE: ${SUPABASE_SSLMODE}
SENTRY_DSN: ${SENTRY_DSN}
SENTRY_ENVIRONMENT: ${SENTRY_ENVIRONMENT}
LOGGING_LEVEL: ${LOGGING_LEVEL}
JWT_SECRET_KEY: ${JWT_SECRET_KEY}
# Clickhouse Configuration
CLICKHOUSE_HOST: ${CLICKHOUSE_HOST}
CLICKHOUSE_PORT: ${CLICKHOUSE_PORT}
CLICKHOUSE_USER: ${CLICKHOUSE_USER}
CLICKHOUSE_PASSWORD: ${CLICKHOUSE_PASSWORD}
CLICKHOUSE_DATABASE: ${CLICKHOUSE_DATABASE}
CLICKHOUSE_SECURE: ${CLICKHOUSE_SECURE}
CLICKHOUSE_ENDPOINT: ${CLICKHOUSE_ENDPOINT}
CLICKHOUSE_USERNAME: ${CLICKHOUSE_USERNAME}
SUPABASE_S3_BUCKET: ${SUPABASE_S3_BUCKET}
SUPABASE_S3_LOGS_BUCKET: ${SUPABASE_S3_LOGS_BUCKET}
SUPABASE_S3_ACCESS_KEY_ID: ${SUPABASE_S3_ACCESS_KEY_ID}
SUPABASE_S3_SECRET_ACCESS_KEY: ${SUPABASE_S3_SECRET_ACCESS_KEY}
network_mode: 'host'
volumes:
- ./api:/app/api
dashboard:
profiles: ['dashboard']
build:
context: ./dashboard
dockerfile: Dockerfile
args:
NEXT_PUBLIC_SUPABASE_URL: ${NEXT_PUBLIC_SUPABASE_URL}
NEXT_PUBLIC_SUPABASE_ANON_KEY: ${NEXT_PUBLIC_SUPABASE_ANON_KEY}
NEXT_PUBLIC_API_URL: ${NEXT_PUBLIC_API_URL}
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY: ${NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY}
ports:
- '3000:3000'
environment:
# Supabase Configuration
NEXT_PUBLIC_SUPABASE_URL: ${NEXT_PUBLIC_SUPABASE_URL}
NEXT_PUBLIC_SUPABASE_ANON_KEY: ${NEXT_PUBLIC_SUPABASE_ANON_KEY}
SUPABASE_SERVICE_ROLE_KEY: ${SUPABASE_SERVICE_ROLE_KEY}
SUPABASE_PROJECT_ID: ${SUPABASE_PROJECT_ID}
# Application URLs
NEXT_PUBLIC_API_URL: ${NEXT_PUBLIC_API_URL}
NEXT_PUBLIC_APP_URL: ${APP_URL}
NEXT_PUBLIC_SITE_URL: ${NEXT_PUBLIC_SITE_URL}
# Analytics and Monitoring
NEXT_PUBLIC_POSTHOG_KEY: ${NEXT_PUBLIC_POSTHOG_KEY}
NEXT_PUBLIC_POSTHOG_HOST: ${NEXT_PUBLIC_POSTHOG_HOST}
NEXT_PUBLIC_SENTRY_DSN: ${NEXT_PUBLIC_SENTRY_DSN}
NEXT_PUBLIC_SENTRY_ORG: ${NEXT_PUBLIC_SENTRY_ORG}
NEXT_PUBLIC_SENTRY_PROJECT: ${NEXT_PUBLIC_SENTRY_PROJECT}
NEXT_PUBLIC_SENTRY_ENVIRONMENT: ${NEXT_PUBLIC_SENTRY_ENVIRONMENT}
# Application Configuration
NEXT_PUBLIC_SIGNIN_METHODS: ${NEXT_PUBLIC_SIGNIN_METHODS}
NEXT_PUBLIC_ENVIRONMENT_TYPE: ${NEXT_PUBLIC_ENVIRONMENT_TYPE}
NEXT_PUBLIC_FALLBACK_API_KEY: ${NEXT_PUBLIC_FALLBACK_API_KEY}
NEXT_PUBLIC_PLAYGROUND: ${NEXT_PUBLIC_PLAYGROUND}
# Stripe Configuration
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY: ${NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY}
STRIPE_SECRET_KEY: ${NEXT_STRIPE_SECRET_KEY}
STRIPE_WEBHOOK_SECRET: ${NEXT_STRIPE_WEBHOOK_SECRET}
network_mode: 'host'
depends_on:
- api