Ctrl K
ComunidadGuías…

docker/docker-compose.dev.yml

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

Archivo original ↗Preguntar a KiBot
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']