docker/docker-compose.dev.yml
Rama main · réplica de lectura del repositorio original.
include:
- docker-compose.infra.yml
volumes:
node_modules:
# Common configuration for Lightdash services
x-lightdash-build: &lightdash-build
context: ..
dockerfile: dockerfile
target: dev
x-lightdash-volumes: &lightdash-volumes
- '../:/usr/app'
- '../examples/full-jaffle-shop-demo/dbt:/usr/app/dbt'
- 'node_modules:/usr/app/node_modules/' # clears the node_modules directory so it doesn't sync (v.slow on MacOS)
# - ${HOME}/.config/gcloud:/root/.config/gcloud # Uncomment this line if you want to use your credential as gcloud ADC in dev container
x-lightdash-environment: &lightdash-environment
PGHOST: ${PGHOST}
PGPORT: ${PGPORT}
PGUSER: ${PGUSER}
PGPASSWORD: ${PGPASSWORD}
PGDATABASE: ${PGDATABASE}
PGCONNECTIONURI: ${PGCONNECTIONURI}
RUDDERSTACK_WRITE_KEY: ${RUDDERSTACK_WRITE_KEY}
RUDDERSTACK_DATA_PLANE_URL: ${RUDDERSTACK_DATA_PLANE_URL}
SECURE_COOKIES: ${SECURE_COOKIES}
LIGHTDASH_SECRET: ${LIGHTDASH_SECRET}
LIGHTDASH_LOG_LEVEL: ${LIGHTDASH_LOG_LEVEL}
LIGHTDASH_LICENSE_KEY: ${LIGHTDASH_LICENSE_KEY}
LIGHTDASH_LICENSE_CERTIFICATE: ${LIGHTDASH_LICENSE_CERTIFICATE}
NODE_ENV: ${NODE_ENV}
DBT_DEMO_DIR: ${DBT_DEMO_DIR}
AUTH_DISABLE_PASSWORD_AUTHENTICATION: ${AUTH_DISABLE_PASSWORD_AUTHENTICATION}
AUTH_ENABLE_GROUP_SYNC: ${AUTH_ENABLE_GROUP_SYNC}
SITE_URL: ${SITE_URL}
EXPOSED_SITE_URL: ${EXPOSED_SITE_URL}
ALLOW_MULTIPLE_ORGS: ${ALLOW_MULTIPLE_ORGS}
LIGHTDASH_QUERY_MAX_LIMIT: ${LIGHTDASH_QUERY_MAX_LIMIT}
HEADLESS_BROWSER_HOST: ${HEADLESS_BROWSER_HOST}
HEADLESS_BROWSER_PORT: ${HEADLESS_BROWSER_PORT}
INTERNAL_LIGHTDASH_HOST: ${INTERNAL_LIGHTDASH_HOST}
INTERNAL_LIGHTDASH_HOST_IGNORE_HTTPS_ERRORS: ${INTERNAL_LIGHTDASH_HOST_IGNORE_HTTPS_ERRORS}
USE_SECURE_BROWSER: ${USE_SECURE_BROWSER}
HEADWAY_ENABLED: ${HEADWAY_ENABLED}
OPENAI_API_KEY: ${OPENAI_API_KEY}
OPENAI_USE_CHAT_COMPLETIONS: ${OPENAI_USE_CHAT_COMPLETIONS}
ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY}
ANTHROPIC_BASE_URL: ${ANTHROPIC_BASE_URL}
GEMINI_API_KEY: ${GEMINI_API_KEY}
GEMINI_MODEL_NAME: ${GEMINI_MODEL_NAME}
GEMINI_BASE_URL: ${GEMINI_BASE_URL}
GEMINI_AVAILABLE_MODELS: ${GEMINI_AVAILABLE_MODELS}
GEMINI_SUPPORTS_STREAMING: ${GEMINI_SUPPORTS_STREAMING}
AI_COPILOT_ENABLED: ${AI_COPILOT_ENABLED}
AI_DEFAULT_PROVIDER: ${AI_DEFAULT_PROVIDER}
AI_EMBEDDING_ENABLED: ${AI_EMBEDDING_ENABLED}
AI_DEFAULT_EMBEDDING_PROVIDER: ${AI_DEFAULT_EMBEDDING_PROVIDER}
AI_VERIFIED_ANSWER_SIMILARITY_THRESHOLD: ${AI_VERIFIED_ANSWER_SIMILARITY_THRESHOLD}
AZURE_AI_ENDPOINT: ${AZURE_AI_ENDPOINT}
AZURE_AI_USE_CHAT_COMPLETIONS: ${AZURE_AI_USE_CHAT_COMPLETIONS}
AZURE_AI_REASONING_EFFORT: ${AZURE_AI_REASONING_EFFORT}
AZURE_AI_API_KEY: ${AZURE_AI_API_KEY}
AZURE_AI_API_VERSION: ${AZURE_AI_API_VERSION}
AZURE_AI_DEPLOYMENT_NAME: ${AZURE_AI_DEPLOYMENT_NAME}
AZURE_EMBEDDING_DEPLOYMENT_NAME: ${AZURE_EMBEDDING_DEPLOYMENT_NAME}
AZURE_USE_DEPLOYMENT_BASED_URLS: ${AZURE_USE_DEPLOYMENT_BASED_URLS}
BEDROCK_API_KEY: ${BEDROCK_API_KEY}
BEDROCK_BASE_URL: ${BEDROCK_BASE_URL}
CLAUDE_CODE_SKIP_BEDROCK_AUTH: ${CLAUDE_CODE_SKIP_BEDROCK_AUTH}
BEDROCK_REGION: ${BEDROCK_REGION}
BEDROCK_ACCESS_KEY_ID: ${BEDROCK_ACCESS_KEY_ID}
BEDROCK_SECRET_ACCESS_KEY: ${BEDROCK_SECRET_ACCESS_KEY}
BEDROCK_SESSION_TOKEN: ${BEDROCK_SESSION_TOKEN}
BEDROCK_USE_DEFAULT_CREDENTIALS: ${BEDROCK_USE_DEFAULT_CREDENTIALS}
BEDROCK_MODEL_NAME: ${BEDROCK_MODEL_NAME}
BEDROCK_INFERENCE_PROFILE_PREFIX: ${BEDROCK_INFERENCE_PROFILE_PREFIX}
BEDROCK_MAX_OUTPUT_TOKENS: ${BEDROCK_MAX_OUTPUT_TOKENS}
BEDROCK_EMBEDDING_MODEL: ${BEDROCK_EMBEDDING_MODEL}
BEDROCK_TEMPERATURE: ${BEDROCK_TEMPERATURE}
BEDROCK_AVAILABLE_MODELS: ${BEDROCK_AVAILABLE_MODELS}
SLACK_SIGNING_SECRET: ${SLACK_SIGNING_SECRET}
SLACK_CLIENT_ID: ${SLACK_CLIENT_ID}
SLACK_CLIENT_SECRET: ${SLACK_CLIENT_SECRET}
SLACK_STATE_SECRET: ${SLACK_STATE_SECRET}
GITHUB_PRIVATE_KEY: ${GITHUB_PRIVATE_KEY}
GITHUB_APP_ID: ${GITHUB_APP_ID}
GITHUB_CLIENT_ID: ${GITHUB_CLIENT_ID}
GITHUB_CLIENT_SECRET: ${GITHUB_CLIENT_SECRET}
GITHUB_APP_NAME: ${GITHUB_APP_NAME}
GITHUB_REDIRECT_DOMAIN: ${GITHUB_REDIRECT_DOMAIN}
GOOGLE_DRIVE_API_KEY: ${GOOGLE_DRIVE_API_KEY}
AUTH_ENABLE_GCLOUD_ADC: ${AUTH_ENABLE_GCLOUD_ADC}
AUTH_GOOGLE_OAUTH2_CLIENT_ID: ${AUTH_GOOGLE_OAUTH2_CLIENT_ID}
AUTH_GOOGLE_OAUTH2_CLIENT_SECRET: ${AUTH_GOOGLE_OAUTH2_CLIENT_SECRET}
S3_ENDPOINT: ${S3_ENDPOINT}
S3_PUBLIC_ENDPOINT: ${S3_PUBLIC_ENDPOINT}
S3_REGION: ${S3_REGION}
S3_BUCKET: ${S3_BUCKET}
S3_ACCESS_KEY: ${S3_ACCESS_KEY}
S3_SECRET_KEY: ${S3_SECRET_KEY}
S3_FORCE_PATH_STYLE: ${S3_FORCE_PATH_STYLE}
S3_EXPIRATION_TIME: ${S3_EXPIRATION_TIME}
RESULTS_S3_ENDPOINT: ${RESULTS_S3_ENDPOINT}
RESULTS_S3_FORCE_PATH_STYLE: ${RESULTS_S3_FORCE_PATH_STYLE}
RESULTS_S3_REGION: ${RESULTS_S3_REGION:-${RESULTS_CACHE_S3_REGION}}
RESULTS_S3_BUCKET: ${RESULTS_S3_BUCKET:-${RESULTS_CACHE_S3_BUCKET}}
RESULTS_S3_SECRET_KEY: ${RESULTS_S3_SECRET_KEY:-${RESULTS_CACHE_S3_SECRET_KEY}}
RESULTS_S3_ACCESS_KEY: ${RESULTS_S3_ACCESS_KEY:-${RESULTS_CACHE_S3_ACCESS_KEY}}
UPLOADS_S3_BUCKET: ${UPLOADS_S3_BUCKET}
PRE_AGGREGATES_ENABLED: ${PRE_AGGREGATES_ENABLED}
PRE_AGGREGATES_PARQUET_ENABLED: ${PRE_AGGREGATES_PARQUET_ENABLED:-false}
PRE_AGGREGATE_RESULTS_S3_BUCKET: ${PRE_AGGREGATE_RESULTS_S3_BUCKET}
PRE_AGGREGATE_RESULTS_S3_REGION: ${PRE_AGGREGATE_RESULTS_S3_REGION}
PRE_AGGREGATE_RESULTS_S3_ACCESS_KEY: ${PRE_AGGREGATE_RESULTS_S3_ACCESS_KEY}
PRE_AGGREGATE_RESULTS_S3_SECRET_KEY: ${PRE_AGGREGATE_RESULTS_S3_SECRET_KEY}
PRE_AGGREGATES_MAX_ROWS: ${PRE_AGGREGATES_MAX_ROWS}
NATS_ENABLED: ${NATS_ENABLED}
NATS_URL: ${NATS_URL}
NATS_WORKER_CONCURRENCY: ${NATS_WORKER_CONCURRENCY}
LIGHTDASH_PROMETHEUS_ENABLED: ${LIGHTDASH_PROMETHEUS_ENABLED}
TURBO_TOKEN: ${TURBO_TOKEN}
TURBO_TEAM: ${TURBO_TEAM}
TURBO_API: ${TURBO_API}
SIGNUP_URL: ${SIGNUP_URL}
HELP_MENU_URL: ${HELP_MENU_URL}
EMAIL_SMTP_HOST: ${EMAIL_SMTP_HOST}
EMAIL_SMTP_PORT: ${EMAIL_SMTP_PORT}
EMAIL_SMTP_SECURE: ${EMAIL_SMTP_SECURE}
EMAIL_SMTP_USE_AUTH: ${EMAIL_SMTP_USE_AUTH}
EMAIL_SMTP_ALLOW_INVALID_CERT: ${EMAIL_SMTP_ALLOW_INVALID_CERT}
EMAIL_SMTP_SENDER_NAME: ${EMAIL_SMTP_SENDER_NAME}
EMAIL_SMTP_SENDER_EMAIL: ${EMAIL_SMTP_SENDER_EMAIL}
# Data Apps
APPS_RUNTIME_ENABLED: ${APPS_RUNTIME_ENABLED}
APPS_S3_BUCKET: ${APPS_S3_BUCKET}
E2B_API_KEY: ${E2B_API_KEY}
E2B_DOMAIN: ${E2B_DOMAIN}
APP_RUNTIME_LIGHTDASH_ORIGIN: ${APP_RUNTIME_LIGHTDASH_ORIGIN}
APP_RUNTIME_CDN_ORIGIN: ${APP_RUNTIME_CDN_ORIGIN}
APP_RUNTIME_PREVIEW_ORIGIN: ${APP_RUNTIME_PREVIEW_ORIGIN}
services:
lightdash-dev:
build: *lightdash-build
depends_on:
- minio
- db-dev
- nats
volumes: *lightdash-volumes
environment:
<<: *lightdash-environment
SCHEDULER_ENABLED: ${SCHEDULER_ENABLED}
SCHEDULER_INCLUDE_TASKS: ${SCHEDULER_INCLUDE_TASKS}
SCHEDULER_EXCLUDE_TASKS: ${SCHEDULER_EXCLUDE_TASKS}
DEBUG_HOST: ${DEBUG_HOST:-127.0.0.1}
LIGHTDASH_PROMETHEUS_PORT: ${LIGHTDASH_PROMETHEUS_PORT}
LIGHTDASH_PROMETHEUS_PATH: ${LIGHTDASH_PROMETHEUS_PATH}
ports:
- '8080:8080'
- '9090:9090'
- '3000:3000'
- '6006:6006'
- '127.0.0.1:9229:9229'
command: ''
entrypoint: ['/bin/sh', '-c', 'sleep infinity']