Merge pull request #455 from getlago/feat/improv-dev-env

feat(docker): Use .env files for dev environment
This commit is contained in:
Julien Bourdeau 2025-01-29 09:57:27 +01:00 committed by GitHub
commit 0a67ac08c7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 74 additions and 271 deletions

54
.env.development.default Normal file
View File

@ -0,0 +1,54 @@
LAGO_API_URL=https://api.lago.dev
LAGO_FRONT_URL=https://app.lago.dev
# Feature flags
LAGO_SIDEKIQ_WEB=true
LAGO_CLICKHOUSE_ENABLED=true
LAGO_CLICKHOUSE_MIGRATIONS_ENABLED=true
LAGO_DISABLE_SEGMENT=true
LAGO_DISABLE_WALLET_REFRESH=true
LAGO_USE_AWS_S3=false
# DB Seeding
LAGO_CREATE_ORG=true
LAGO_ORG_USER_EMAIL=email@example.com
LAGO_ORG_USER_PASSWORD=password
LAGO_ORG_NAME=Acme
# Accessories (DB, pdf, kafka)
POSTGRES_USER=lago
POSTGRES_DB=lago
POSTGRES_PASSWORD=changeme
DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB}
REDIS_URL=redis://redis:6379
LAGO_REDIS_CACHE_URL=redis://redis:6379
LAGO_PDF_URL=http://pdf:3000
LAGO_LICENSE_URL=http://license:3000
LAGO_KAFKA_BOOTSTRAP_SERVERS=redpanda:9092
LAGO_KAFKA_RAW_EVENTS_TOPIC=events-raw
LAGO_KAFKA_ENRICHED_EVENTS_TOPIC=events_enriched
LAGO_KAFKA_CLICKHOUSE_CONSUMER_GROUP=clickhouse
# Misc
LAGO_FROM_EMAIL=noreply@getlago.com
LAGO_PARALLEL_THREADS_COUNT=4
# Use dedicated services to process certain queues
# If you enable one, make sure the related service is started
# Ex: SIDEKIQ_WEBHOOK=true means `api-webhook-worker` must be running or webhooks-related jobs won't be processed
SIDEKIQ_EVENTS=false
SIDEKIQ_PDFS=false
SIDEKIQ_BILLING=false
SIDEKIQ_CLOCK=false
SIDEKIQ_WEBHOOK=false
# External API keys
LAGO_LICENSE="35be6ead-a590-4593-9a45-01f62c248faa"
NANGO_SECRET_KEY=
SEGMENT_WRITE_KEY=
# Salts and similar
SECRET_KEY_BASE=your-secret-key-base-hex-64
LAGO_ENCRYPTION_PRIMARY_KEY=your-encrpytion-primary-key
LAGO_ENCRYPTION_DETERMINISTIC_KEY=your-encrpytion-deterministic-key
LAGO_ENCRYPTION_KEY_DERIVATION_SALT=your-encrpytion-derivation-salt

1
.gitignore vendored
View File

@ -1,6 +1,7 @@
*.code-workspace
.DS_Store
.env
.env.development
.rsa_private.pem
.vscode
/extra/ssl/certbot

View File

@ -92,40 +92,14 @@ services:
dockerfile: $LAGO_PATH/api/Dockerfile.dev
volumes:
- $LAGO_PATH/api:/app:delegated
env_file:
- path: ./.env.development.default
- path: ./.env.development
required: false
environment:
- LAGO_API_URL=https://api.lago.dev
- DATABASE_URL=postgresql://${POSTGRES_USER:-lago}:${POSTGRES_PASSWORD:-changeme}@db:5432/${POSTGRES_DB:-lago}
- DATABASE_TEST_URL=postgresql://${POSTGRES_USER:-lago}:${POSTGRES_PASSWORD:-changeme}@db:5432/${POSTGRES_DB:-lago_test}
- REDIS_URL=redis://redis:6379
- SECRET_KEY_BASE=${SECRET_KEY_BASE:-your-secret-key-base-hex-64}
- LAGO_FRONT_URL=${LAGO_FRONT_URL:-https://app.lago.dev}
- LAGO_ENCRYPTION_PRIMARY_KEY=${ENCRYPTION_PRIMARY_KEY:-your-encrpytion-primary-key}
- LAGO_ENCRYPTION_DETERMINISTIC_KEY=${ENCRYPTION_DETERMINISTIC_KEY:-your-encrpytion-deterministic-key}
- LAGO_ENCRYPTION_KEY_DERIVATION_SALT=${ENCRYPTION_KEY_DERIVATION_SALT:-your-encrpytion-derivation-salt}
- LAGO_USE_AWS_S3=${LAGO_USE_AWS_S3:-false}
- LAGO_PARALLEL_THREADS_COUNT=${LAGO_PARALLEL_THREADS_COUNT:-4}
- LAGO_PDF_URL=${LAGO_PDF_URL:-http://pdf:3000}
- LAGO_REDIS_CACHE_URL=redis://redis:6379
- SEGMENT_WRITE_KEY=${SEGMENT_WRITE_KEY:-}
- LAGO_DISABLE_SEGMENT=${LAGO_DISABLE_SEGMENT:-}
- LAGO_DISABLE_WALLET_REFRESH=${LAGO_DISABLE_WALLET_REFRESH:-}
- LAGO_LICENSE=${LAGO_LICENSE:-}
- LAGO_FROM_EMAIL=${LAGO_FROM_EMAIL:-noreply@getlago.com}
- LAGO_SIDEKIQ_WEB=true
- SIDEKIQ_EVENTS=true
- SIDEKIQ_PDFS=true
- SIDEKIQ_BILLING=true
- SIDEKIQ_CLOCK=true
- SIDEKIQ_WEBHOOK=true
- LAGO_CLICKHOUSE_ENABLED=true
- LAGO_CLICKHOUSE_MIGRATIONS_ENABLED=true
- LAGO_KAFKA_BOOTSTRAP_SERVERS=redpanda:9092
- LAGO_KAFKA_RAW_EVENTS_TOPIC=events-raw
- LAGO_KAFKA_ENRICHED_EVENTS_TOPIC=events_enriched
- LAGO_KAFKA_CLICKHOUSE_CONSUMER_GROUP=clickhouse
- DATABASE_TEST_URL=postgresql://${POSTGRES_USER:-lago}:${POSTGRES_PASSWORD:-changeme}@db:5432/lago_test
- GOOGLE_AUTH_CLIENT_ID=${GOOGLE_AUTH_CLIENT_ID:-}
- GOOGLE_AUTH_CLIENT_SECRET=${GOOGLE_AUTH_CLIENT_SECRET:-}
- NANGO_SECRET_KEY=${NANGO_SECRET_KEY:-}
labels:
- "traefik.enable=true"
- "traefik.http.routers.api_http.rule=Host(`api.lago.dev`)"
@ -138,7 +112,7 @@ services:
- "traefik.http.routers.api.tls=true"
- "traefik.http.services.api.loadbalancer.server.port=3000"
api-worker:
api-worker: &api_worker
image: api_dev
container_name: lago_api_worker
restart: unless-stopped
@ -150,245 +124,35 @@ services:
dockerfile: $LAGO_PATH/api/Dockerfile.dev
volumes:
- $LAGO_PATH/api:/app:delegated
environment:
- LAGO_API_URL=https://api.lago.dev
- DATABASE_URL=postgresql://${POSTGRES_USER:-lago}:${POSTGRES_PASSWORD:-changeme}@db:5432/${POSTGRES_DB:-lago}
- REDIS_URL=redis://redis:6379
- SECRET_KEY_BASE=${SECRET_KEY_BASE:-your-secret-key-base-hex-64}
- LAGO_ENCRYPTION_PRIMARY_KEY=${ENCRYPTION_PRIMARY_KEY:-your-encrpytion-primary-key}
- LAGO_ENCRYPTION_DETERMINISTIC_KEY=${ENCRYPTION_DETERMINISTIC_KEY:-your-encrpytion-deterministic-key}
- LAGO_ENCRYPTION_KEY_DERIVATION_SALT=${ENCRYPTION_KEY_DERIVATION_SALT:-your-encrpytion-derivation-salt}
- LAGO_USE_AWS_S3=${LAGO_USE_AWS_S3:-false}
- LAGO_FRONT_URL=${LAGO_FRONT_URL:-https://app.lago.dev}
- LAGO_PARALLEL_THREADS_COUNT=${LAGO_PARALLEL_THREADS_COUNT:-4}
- LAGO_PDF_URL=${LAGO_PDF_URL:-http://pdf:3000}
- LAGO_REDIS_CACHE_URL=redis://redis:6379
- SEGMENT_WRITE_KEY=${SEGMENT_WRITE_KEY:-}
- LAGO_DISABLE_SEGMENT=${LAGO_DISABLE_SEGMENT:-}
- LAGO_DISABLE_WALLET_REFRESH=${LAGO_DISABLE_WALLET_REFRESH:-}
- LAGO_FROM_EMAIL=${LAGO_FROM_EMAIL:-noreply@getlago.com}
- SIDEKIQ_EVENTS=true
- SIDEKIQ_PDFS=true
- SIDEKIQ_BILLING=true
- SIDEKIQ_CLOCK=true
- SIDEKIQ_WEBHOOK=true
- LAGO_CLICKHOUSE_ENABLED=true
- LAGO_CLICKHOUSE_MIGRATIONS_ENABLED=true
- LAGO_KAFKA_BOOTSTRAP_SERVERS=redpanda:9092
- LAGO_KAFKA_RAW_EVENTS_TOPIC=events_raw
- LAGO_KAFKA_ENRICHED_EVENTS_TOPIC=events_enriched
- LAGO_KAFKA_CLICKHOUSE_CONSUMER_GROUP=clickhouse
- NANGO_SECRET_KEY=${NANGO_SECRET_KEY:-}
- LAGO_LICENSE=${LAGO_LICENSE:-}
env_file:
- path: ./.env.development.default
- path: ./.env.development
required: false
api-events-worker:
image: api_dev
<<: *api_worker
container_name: lago_api_events_worker_dev
depends_on:
- api
restart: unless-stopped
command: bash -c "bundle install && ./scripts/start.events.worker.sh"
build:
context: ./api
dockerfile: $LAGO_PATH/api/Dockerfile.dev
volumes:
- $LAGO_PATH/api:/app:delegated
environment:
- LAGO_API_URL=https://api.lago.dev
- DATABASE_URL=postgresql://${POSTGRES_USER:-lago}:${POSTGRES_PASSWORD:-changeme}@db:5432/${POSTGRES_DB:-lago}
- REDIS_URL=redis://redis:6379
- SECRET_KEY_BASE=${SECRET_KEY_BASE:-your-secret-key-base-hex-64}
- LAGO_ENCRYPTION_PRIMARY_KEY=${ENCRYPTION_PRIMARY_KEY:-your-encrpytion-primary-key}
- LAGO_ENCRYPTION_DETERMINISTIC_KEY=${ENCRYPTION_DETERMINISTIC_KEY:-your-encrpytion-deterministic-key}
- LAGO_ENCRYPTION_KEY_DERIVATION_SALT=${ENCRYPTION_KEY_DERIVATION_SALT:-your-encrpytion-derivation-salt}
- LAGO_USE_AWS_S3=${LAGO_USE_AWS_S3:-false}
- LAGO_FRONT_URL=${LAGO_FRONT_URL:-https://app.lago.dev}
- LAGO_PARALLEL_THREADS_COUNT=${LAGO_PARALLEL_THREADS_COUNT:-4}
- LAGO_PDF_URL=${LAGO_PDF_URL:-http://pdf:3000}
- LAGO_REDIS_CACHE_URL=redis://redis:6379
- SEGMENT_WRITE_KEY=${SEGMENT_WRITE_KEY:-}
- LAGO_DISABLE_SEGMENT=${LAGO_DISABLE_SEGMENT:-}
- LAGO_DISABLE_WALLET_REFRESH=${LAGO_DISABLE_WALLET_REFRESH:-}
- LAGO_FROM_EMAIL=${LAGO_FROM_EMAIL:-noreply@getlago.com}
- SIDEKIQ_EVENTS=true
- SIDEKIQ_BILLING=true
- SIDEKIQ_CLOCK=true
- SIDEKIQ_WEBHOOK=true
- LAGO_CLICKHOUSE_ENABLED=true
- LAGO_CLICKHOUSE_MIGRATIONS_ENABLED=true
- LAGO_KAFKA_BOOTSTRAP_SERVERS=redpanda:9092
- LAGO_KAFKA_RAW_EVENTS_TOPIC=events-raw
- LAGO_KAFKA_ENRICHED_EVENTS_TOPIC=events_enriched
- LAGO_KAFKA_CLICKHOUSE_CONSUMER_GROUP=clickhouse
- NANGO_SECRET_KEY=${NANGO_SECRET_KEY:-}
- LAGO_LICENSE=${LAGO_LICENSE:-}
api-pdfs-worker:
image: api_dev
<<: *api_worker
container_name: lago_api_pdfs_worker_dev
depends_on:
- api
restart: unless-stopped
command: bash -c "bundle install && ./scripts/start.pdfs.worker.sh"
build:
context: ./api
dockerfile: $LAGO_PATH/api/Dockerfile.dev
volumes:
- $LAGO_PATH/api:/app:delegated
environment:
- LAGO_API_URL=https://api.lago.dev
- DATABASE_URL=postgresql://${POSTGRES_USER:-lago}:${POSTGRES_PASSWORD:-changeme}@db:5432/${POSTGRES_DB:-lago}
- REDIS_URL=redis://redis:6379
- SECRET_KEY_BASE=${SECRET_KEY_BASE:-your-secret-key-base-hex-64}
- LAGO_ENCRYPTION_PRIMARY_KEY=${ENCRYPTION_PRIMARY_KEY:-your-encrpytion-primary-key}
- LAGO_ENCRYPTION_DETERMINISTIC_KEY=${ENCRYPTION_DETERMINISTIC_KEY:-your-encrpytion-deterministic-key}
- LAGO_ENCRYPTION_KEY_DERIVATION_SALT=${ENCRYPTION_KEY_DERIVATION_SALT:-your-encrpytion-derivation-salt}
- LAGO_USE_AWS_S3=${LAGO_USE_AWS_S3:-false}
- LAGO_FRONT_URL=${LAGO_FRONT_URL:-https://app.lago.dev}
- LAGO_PARALLEL_THREADS_COUNT=${LAGO_PARALLEL_THREADS_COUNT:-4}
- LAGO_PDF_URL=${LAGO_PDF_URL:-http://pdf:3000}
- LAGO_REDIS_CACHE_URL=redis://redis:6379
- SEGMENT_WRITE_KEY=${SEGMENT_WRITE_KEY:-}
- LAGO_DISABLE_SEGMENT=${LAGO_DISABLE_SEGMENT:-}
- LAGO_DISABLE_WALLET_REFRESH=${LAGO_DISABLE_WALLET_REFRESH:-}
- LAGO_FROM_EMAIL=${LAGO_FROM_EMAIL:-noreply@getlago.com}
- SIDEKIQ_PDFS=true
- SIDEKIQ_CLOCK=true
- SIDEKIQ_WEBHOOK=true
- LAGO_CLICKHOUSE_ENABLED=true
- LAGO_CLICKHOUSE_MIGRATIONS_ENABLED=true
- LAGO_KAFKA_BOOTSTRAP_SERVERS=redpanda:9092
- LAGO_KAFKA_RAW_EVENTS_TOPIC=events-raw
- LAGO_KAFKA_ENRICHED_EVENTS_TOPIC=events_enriched
- LAGO_KAFKA_CLICKHOUSE_CONSUMER_GROUP=clickhouse
- NANGO_SECRET_KEY=${NANGO_SECRET_KEY:-}
- LAGO_LICENSE=${LAGO_LICENSE:-}
api-billing-worker:
image: api_dev
<<: *api_worker
container_name: lago_api_billing_worker_dev
depends_on:
- api
restart: unless-stopped
command: bash -c "bundle install && ./scripts/start.billing.worker.sh"
build:
context: ./api
dockerfile: $LAGO_PATH/api/Dockerfile.dev
volumes:
- $LAGO_PATH/api:/app:delegated
environment:
- LAGO_API_URL=https://api.lago.dev
- DATABASE_URL=postgresql://${POSTGRES_USER:-lago}:${POSTGRES_PASSWORD:-changeme}@db:5432/${POSTGRES_DB:-lago}
- REDIS_URL=redis://redis:6379
- SECRET_KEY_BASE=${SECRET_KEY_BASE:-your-secret-key-base-hex-64}
- LAGO_ENCRYPTION_PRIMARY_KEY=${ENCRYPTION_PRIMARY_KEY:-your-encrpytion-primary-key}
- LAGO_ENCRYPTION_DETERMINISTIC_KEY=${ENCRYPTION_DETERMINISTIC_KEY:-your-encrpytion-deterministic-key}
- LAGO_ENCRYPTION_KEY_DERIVATION_SALT=${ENCRYPTION_KEY_DERIVATION_SALT:-your-encrpytion-derivation-salt}
- LAGO_USE_AWS_S3=${LAGO_USE_AWS_S3:-false}
- LAGO_FRONT_URL=${LAGO_FRONT_URL:-https://app.lago.dev}
- LAGO_PARALLEL_THREADS_COUNT=${LAGO_PARALLEL_THREADS_COUNT:-4}
- LAGO_PDF_URL=${LAGO_PDF_URL:-http://pdf:3000}
- LAGO_REDIS_CACHE_URL=redis://redis:6379
- SEGMENT_WRITE_KEY=${SEGMENT_WRITE_KEY:-}
- LAGO_DISABLE_SEGMENT=${LAGO_DISABLE_SEGMENT:-}
- LAGO_DISABLE_WALLET_REFRESH=${LAGO_DISABLE_WALLET_REFRESH:-}
- LAGO_FROM_EMAIL=${LAGO_FROM_EMAIL:-noreply@getlago.com}
- SIDEKIQ_PDFS=true
- SIDEKIQ_BILLING=true
- SIDEKIQ_CLOCK=true
- SIDEKIQ_WEBHOOK=true
- LAGO_CLICKHOUSE_ENABLED=true
- LAGO_CLICKHOUSE_MIGRATIONS_ENABLED=true
- LAGO_KAFKA_BOOTSTRAP_SERVERS=redpanda:9092
- LAGO_KAFKA_RAW_EVENTS_TOPIC=events-raw
- LAGO_KAFKA_ENRICHED_EVENTS_TOPIC=events_enriched
- LAGO_KAFKA_CLICKHOUSE_CONSUMER_GROUP=clickhouse
- NANGO_SECRET_KEY=${NANGO_SECRET_KEY:-}
- LAGO_LICENSE=${LAGO_LICENSE:-}
api-clock-worker:
image: api_dev
<<: *api_worker
container_name: lago_api_clock_worker_dev
depends_on:
- api
restart: unless-stopped
command: bash -c "bundle install && ./scripts/start.clock.worker.sh"
build:
context: ./api
dockerfile: $LAGO_PATH/api/Dockerfile.dev
volumes:
- $LAGO_PATH/api:/app:delegated
environment:
- LAGO_API_URL=https://api.lago.dev
- DATABASE_URL=postgresql://${POSTGRES_USER:-lago}:${POSTGRES_PASSWORD:-changeme}@db:5432/${POSTGRES_DB:-lago}
- REDIS_URL=redis://redis:6379
- SECRET_KEY_BASE=${SECRET_KEY_BASE:-your-secret-key-base-hex-64}
- LAGO_ENCRYPTION_PRIMARY_KEY=${ENCRYPTION_PRIMARY_KEY:-your-encrpytion-primary-key}
- LAGO_ENCRYPTION_DETERMINISTIC_KEY=${ENCRYPTION_DETERMINISTIC_KEY:-your-encrpytion-deterministic-key}
- LAGO_ENCRYPTION_KEY_DERIVATION_SALT=${ENCRYPTION_KEY_DERIVATION_SALT:-your-encrpytion-derivation-salt}
- LAGO_USE_AWS_S3=${LAGO_USE_AWS_S3:-false}
- LAGO_FRONT_URL=${LAGO_FRONT_URL:-https://app.lago.dev}
- LAGO_PARALLEL_THREADS_COUNT=${LAGO_PARALLEL_THREADS_COUNT:-4}
- LAGO_PDF_URL=${LAGO_PDF_URL:-http://pdf:3000}
- LAGO_REDIS_CACHE_URL=redis://redis:6379
- SEGMENT_WRITE_KEY=${SEGMENT_WRITE_KEY:-}
- LAGO_DISABLE_SEGMENT=${LAGO_DISABLE_SEGMENT:-}
- LAGO_DISABLE_WALLET_REFRESH=${LAGO_DISABLE_WALLET_REFRESH:-}
- LAGO_FROM_EMAIL=${LAGO_FROM_EMAIL:-noreply@getlago.com}
- SIDEKIQ_PDFS=true
- SIDEKIQ_BILLING=true
- SIDEKIQ_CLOCK=true
- SIDEKIQ_WEBHOOK=true
- LAGO_CLICKHOUSE_ENABLED=true
- LAGO_CLICKHOUSE_MIGRATIONS_ENABLED=true
- LAGO_KAFKA_BOOTSTRAP_SERVERS=redpanda:9092
- LAGO_KAFKA_RAW_EVENTS_TOPIC=events-raw
- LAGO_KAFKA_ENRICHED_EVENTS_TOPIC=events_enriched
- LAGO_KAFKA_CLICKHOUSE_CONSUMER_GROUP=clickhouse
- NANGO_SECRET_KEY=${NANGO_SECRET_KEY:-}
- LAGO_LICENSE=${LAGO_LICENSE:-}
api-webhook-worker:
image: api_dev
<<: *api_worker
container_name: lago_api_webhook_worker_dev
depends_on:
- api
restart: unless-stopped
command: bash -c "bundle install && ./scripts/start.webhook.worker.sh"
build:
context: ./api
dockerfile: $LAGO_PATH/api/Dockerfile.dev
volumes:
- $LAGO_PATH/api:/app:delegated
environment:
- LAGO_API_URL=https://api.lago.dev
- DATABASE_URL=postgresql://${POSTGRES_USER:-lago}:${POSTGRES_PASSWORD:-changeme}@db:5432/${POSTGRES_DB:-lago}
- REDIS_URL=redis://redis:6379
- SECRET_KEY_BASE=${SECRET_KEY_BASE:-your-secret-key-base-hex-64}
- LAGO_ENCRYPTION_PRIMARY_KEY=${ENCRYPTION_PRIMARY_KEY:-your-encrpytion-primary-key}
- LAGO_ENCRYPTION_DETERMINISTIC_KEY=${ENCRYPTION_DETERMINISTIC_KEY:-your-encrpytion-deterministic-key}
- LAGO_ENCRYPTION_KEY_DERIVATION_SALT=${ENCRYPTION_KEY_DERIVATION_SALT:-your-encrpytion-derivation-salt}
- LAGO_USE_AWS_S3=${LAGO_USE_AWS_S3:-false}
- LAGO_FRONT_URL=${LAGO_FRONT_URL:-https://app.lago.dev}
- LAGO_PARALLEL_THREADS_COUNT=${LAGO_PARALLEL_THREADS_COUNT:-4}
- LAGO_PDF_URL=${LAGO_PDF_URL:-http://pdf:3000}
- LAGO_REDIS_CACHE_URL=redis://redis:6379
- SEGMENT_WRITE_KEY=${SEGMENT_WRITE_KEY:-}
- LAGO_DISABLE_SEGMENT=${LAGO_DISABLE_SEGMENT:-}
- LAGO_DISABLE_WALLET_REFRESH=${LAGO_DISABLE_WALLET_REFRESH:-}
- LAGO_FROM_EMAIL=${LAGO_FROM_EMAIL:-noreply@getlago.com}
- SIDEKIQ_PDFS=true
- SIDEKIQ_BILLING=true
- SIDEKIQ_CLOCK=true
- SIDEKIQ_WEBHOOK=true
- LAGO_CLICKHOUSE_ENABLED=true
- LAGO_CLICKHOUSE_MIGRATIONS_ENABLED=true
- LAGO_KAFKA_BOOTSTRAP_SERVERS=redpanda:9092
- LAGO_KAFKA_RAW_EVENTS_TOPIC=events-raw
- LAGO_KAFKA_ENRICHED_EVENTS_TOPIC=events_enriched
- LAGO_KAFKA_CLICKHOUSE_CONSUMER_GROUP=clickhouse
- NANGO_SECRET_KEY=${NANGO_SECRET_KEY:-}
- LAGO_LICENSE=${LAGO_LICENSE:-}
api-clock:
image: api_dev
@ -402,26 +166,10 @@ services:
dockerfile: $LAGO_PATH/api/Dockerfile.dev
volumes:
- $LAGO_PATH/api:/app:delegated
environment:
- LAGO_API_URL=https://api.lago.dev
- DATABASE_URL=postgresql://${POSTGRES_USER:-lago}:${POSTGRES_PASSWORD:-changeme}@db:5432/${POSTGRES_DB:-lago}
- REDIS_URL=redis://redis:6379
- SECRET_KEY_BASE=${SECRET_KEY_BASE:-your-secret-key-base-hex-64}
- LAGO_ENCRYPTION_PRIMARY_KEY=${ENCRYPTION_PRIMARY_KEY:-your-encrpytion-primary-key}
- LAGO_ENCRYPTION_DETERMINISTIC_KEY=${ENCRYPTION_DETERMINISTIC_KEY:-your-encrpytion-deterministic-key}
- LAGO_ENCRYPTION_KEY_DERIVATION_SALT=${ENCRYPTION_KEY_DERIVATION_SALT:-your-encrpytion-derivation-salt}
- SEGMENT_WRITE_KEY=${SEGMENT_WRITE_KEY:-}
- LAGO_DISABLE_SEGMENT=${LAGO_DISABLE_SEGMENT:-}
- LAGO_DISABLE_WALLET_REFRESH=${LAGO_DISABLE_WALLET_REFRESH:-}
- LAGO_CLICKHOUSE_ENABLED=true
- LAGO_CLICKHOUSE_MIGRATIONS_ENABLED=true
- LAGO_KAFKA_BOOTSTRAP_SERVERS=redpanda:9092
- LAGO_KAFKA_RAW_EVENTS_TOPIC=events-raw
- LAGO_KAFKA_ENRICHED_EVENTS_TOPIC=events_enriched
- LAGO_KAFKA_CLICKHOUSE_CONSUMER_GROUP=clickhouse
- NANGO_SECRET_KEY=${NANGO_SECRET_KEY:-}
- LAGO_LICENSE=${LAGO_LICENSE:-}
- SIDEKIQ_CLOCK=true
env_file:
- path: ./.env.development.default
- path: ./.env.development
required: false
pdf:
image: getlago/lago-gotenberg:7