docker-compose.yml
Rama main · réplica de lectura del repositorio original.
services:
minio:
image: coollabsio/minio:latest
ports:
- '9000:9000'
- '9001:9001' # for minio console
volumes:
- ./docker/init-minio.sh:/init-minio.sh
entrypoint: '/init-minio.sh'
environment:
- MINIO_ROOT_USER=minioadmin
- MINIO_ROOT_PASSWORD=minioadmin
- MINIO_DEFAULT_BUCKETS=default
- MINIO_EXPIRATION_DAYS=${MINIO_EXPIRATION_DAYS:-1}
lightdash:
platform: linux/amd64
image: lightdash/lightdash:latest
depends_on:
- db
- minio
environment:
- PGHOST=${PGHOST:-db}
- PGPORT=${PGPORT:-5432}
- PGUSER=${PGUSER:-postgres}
- PGPASSWORD=${PGPASSWORD}
- PGDATABASE=${PGDATABASE:-postgres}
- SECURE_COOKIES=${SECURE_COOKIES:-false}
- TRUST_PROXY=${TRUST_PROXY:-false}
- LIGHTDASH_SECRET=${LIGHTDASH_SECRET}
- PORT=${PORT:-8080}
- LIGHTDASH_LOG_LEVEL=${LIGHTDASH_LOG_LEVEL}
- LIGHTDASH_INSTALL_ID=${LIGHTDASH_INSTALL_ID}
- LIGHTDASH_INSTALL_TYPE=${LIGHTDASH_INSTALL_TYPE:-docker_image}
- LIGHTDASH_MIGRATION_EXECUTION_MODE=${LIGHTDASH_MIGRATION_EXECUTION_MODE:-compose}
- LIGHTDASH_LICENSE_KEY=${LIGHTDASH_LICENSE_KEY}
- LIGHTDASH_LICENSE_CERTIFICATE=${LIGHTDASH_LICENSE_CERTIFICATE}
- AUTH_DISABLE_PASSWORD_AUTHENTICATION=${AUTH_DISABLE_PASSWORD_AUTHENTICATION}
- AUTH_ENABLE_GROUP_SYNC=${AUTH_ENABLE_GROUP_SYNC}
- AUTH_GOOGLE_ENABLED=${AUTH_GOOGLE_ENABLED}
- AUTH_GOOGLE_OAUTH2_CLIENT_ID=${AUTH_GOOGLE_OAUTH2_CLIENT_ID}
- AUTH_GOOGLE_OAUTH2_CLIENT_SECRET=${AUTH_GOOGLE_OAUTH2_CLIENT_SECRET}
- SITE_URL=${SITE_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_USER=${EMAIL_SMTP_USER}
- EMAIL_SMTP_PASSWORD=${EMAIL_SMTP_PASSWORD}
- 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}
- ALLOW_MULTIPLE_ORGS=${ALLOW_MULTIPLE_ORGS:-false}
- LIGHTDASH_QUERY_MAX_LIMIT=${LIGHTDASH_QUERY_MAX_LIMIT}
- LIGHTDASH_MAX_PAYLOAD=${LIGHTDASH_MAX_PAYLOAD:-5mb}
- HEADLESS_BROWSER_HOST=headless-browser
- HEADLESS_BROWSER_PORT=3000
- USE_SECURE_BROWSER=${USE_SECURE_BROWSER}
- RUDDERSTACK_WRITE_KEY=${RUDDERSTACK_WRITE_KEY}
- RUDDERSTACK_DATA_PLANE_URL=${RUDDERSTACK_DATA_PLANE_URL}
- SCHEDULER_ENABLED=true
- SAVED_METRICS_TREE_ENABLED=${SAVED_METRICS_TREE_ENABLED:-false}
- HEADWAY_ENABLED=${HEADWAY_ENABLED:-true}
- 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}
- GOOGLE_DRIVE_API_KEY=${GOOGLE_DRIVE_API_KEY}
- 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}
- S3_ENDPOINT=${S3_ENDPOINT:-http://minio:9000}
- S3_REGION=${S3_REGION:-us-east-1}
- S3_BUCKET=${S3_BUCKET:-default}
- S3_ACCESS_KEY=${S3_ACCESS_KEY:-minioadmin}
- S3_SECRET_KEY=${S3_SECRET_KEY:-minioadmin}
- S3_FORCE_PATH_STYLE=${S3_FORCE_PATH_STYLE:-true}
- 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}
- TURBO_TOKEN=${TURBO_TOKEN}
- TURBO_TEAM=${TURBO_TEAM}
- TURBO_API=${TURBO_API}
- SIGNUP_URL=${SIGNUP_URL}
- HELP_MENU_URL=${HELP_MENU_URL}
- ATHENA_WAREHOUSE_IAM_ROLE_AUTH=${ATHENA_WAREHOUSE_IAM_ROLE_AUTH}
# volumes:
# - '${DBT_PROJECT_DIR}:/usr/app/dbt'
ports:
- ${PORT:-8080}:${PORT:-8080}
db:
image: pgvector/pgvector:pg15
restart: always
environment:
POSTGRES_PASSWORD: ${PGPASSWORD}
POSTGRES_USER: ${PGUSER:-postgres}
POSTGRES_DB: ${PGDATABASE:-postgres}
volumes:
- db-data:/var/lib/postgresql/data
headless-browser:
build:
dockerfile: docker/Dockerfile.headless-browser
restart: always
volumes:
db-data: