version: "3.8" volumes: lago_postgres_data: lago_redis_data: services: db: image: postgres:14.0-alpine container_name: lago-db restart: unless-stopped environment: POSTGRES_DB: ${POSTGRES_DB:-lago} POSTGRES_USER: ${POSTGRES_USER:-lago} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-changeme} PGDATA: /data/postgres volumes: - lago_postgres_data:/data/postgres ports: - ${POSTGRES_PORT:-5432}:5432 redis: image: redis:6.2-alpine container_name: lago-redis restart: unless-stopped volumes: - lago_redis_data:/data ports: - ${REDIS_PORT:-6379}:6379 api: container_name: lago-api image: getlago/api:v0.3.1-alpha restart: unless-stopped depends_on: - db - redis command: ["./scripts/start.sh"] environment: - DATABASE_URL=postgresql://${POSTGRES_USER:-lago}:${POSTGRES_PASSWORD:-changeme}@${POSTGRES_HOST:-db}:${POSTGRES_PORT:-5432}/${POSTGRES_DB:-lago} - REDIS_URL=redis://${REDIS_HOST:-redis}:${REDIS_PORT:-6379} - SECRET_KEY_BASE=${SECRET_KEY_BASE:-your-secret-key-base-hex-64} - RAILS_ENV=production - SENTRY_DSN=${SENTRY_DSN} - LAGO_FRONT_URL=${LAGO_FRONT_URL:-http://localhost} - RSA_PRIVATE_KEY=${LAGO_RSA_PRIVATE_KEY} # Should be base64 encoded - LAGO_SIDEKIQ_WEB=${LAGO_SIDEKIQ_WEB} - ENCRYPTION_PRIMARY_KEY=${LAGO_ENCRYPTION_PRIMARY_KEY:-your-encrpytion-primary-key} - ENCRYPTION_DETERMINISTIC_KEY=${LAGO_ENCRYPTION_DETERMINISTIC_KEY:-your-encrpytion-deterministic-key} - ENCRYPTION_KEY_DERIVATION_SALT=${LAGO_ENCRYPTION_KEY_DERIVATION_SALT:-your-encrpytion-derivation-salt} - LAGO_USE_AWS_S3=${LAGO_USE_AWS_S3} - LAGO_AWS_S3_ACCESS_KEY_ID=${LAGO_AWS_S3_ACCESS_KEY_ID} - LAGO_AWS_S3_SECRET_ACCESS_KEY=${LAGO_AWS_S3_SECRET_ACCESS_KEY} - LAGO_AWS_S3_REGION=${LAGO_AWS_S3_REGION} - LAGO_AWS_S3_BUCKET=${LAGO_AWS_S3_BUCKET} - LAGO_PDF_URL=${LAGO_PDF_URL:-http://pdf:3000} - LAGO_REDIS_CACHE_URL=redis://${LAGO_REDIS_CACHE_HOST:-redis}:${LAGO_REDIS_CACHE_PORT:-6379} ports: - ${API_PORT:-3000}:3000 front: container_name: lago-front image: getlago/front:v0.3.1-alpha restart: unless-stopped depends_on: - api environment: - API_URL=${LAGO_API_URL:-http://localhost:3000} - APP_ENV=${APP_ENV:-production} - CODEGEN_API=${LAGO_API_URL:-http://localhost:3000} ports: - ${FRONT_PORT:-80}:80 api-worker: container_name: lago-worker image: getlago/api:v0.3.1-alpha restart: unless-stopped depends_on: - api command: ["./scripts/start.worker.sh"] environment: - LAGO_API_URL=${LAGO_API_URL:-http://localhost:3000} - DATABASE_URL=postgresql://${POSTGRES_USER:-lago}:${POSTGRES_PASSWORD:-changeme}@${POSTGRES_HOST:-db}:${POSTGRES_PORT:-5432}/${POSTGRES_DB:-lago} - REDIS_URL=redis://${REDIS_HOST:-redis}:${REDIS_PORT:-6379} - SECRET_KEY_BASE=${SECRET_KEY_BASE:-your-secret-key-base-hex-64} - RAILS_ENV=production - SENTRY_DSN=${SENTRY_DSN} - RSA_PRIVATE_KEY=${LAGO_RSA_PRIVATE_KEY} # Should be base64 encoded - ENCRYPTION_PRIMARY_KEY=${LAGO_ENCRYPTION_PRIMARY_KEY:-your-encrpytion-primary-key} - ENCRYPTION_DETERMINISTIC_KEY=${LAGO_ENCRYPTION_DETERMINISTIC_KEY:-your-encrpytion-deterministic-key} - ENCRYPTION_KEY_DERIVATION_SALT=${LAGO_ENCRYPTION_KEY_DERIVATION_SALT:-your-encrpytion-derivation-salt} - LAGO_USE_AWS_S3=${LAGO_USE_AWS_S3} - LAGO_AWS_S3_ACCESS_KEY_ID=${LAGO_AWS_S3_ACCESS_KEY_ID} - LAGO_AWS_S3_SECRET_ACCESS_KEY=${LAGO_AWS_S3_SECRET_ACCESS_KEY} - LAGO_AWS_S3_REGION=${LAGO_AWS_S3_REGION} - LAGO_AWS_S3_BUCKET=${LAGO_AWS_S3_BUCKET} - LAGO_PDF_URL=${LAGO_PDF_URL:-http://pdf:3000} - LAGO_REDIS_CACHE_URL=redis://${LAGO_REDIS_CACHE_HOST:-redis}:${LAGO_REDIS_CACHE_PORT:-6379} api-clock: container_name: lago-clock image: getlago/api:v0.3.1-alpha restart: unless-stopped depends_on: - api command: ["./scripts/start.clock.sh"] environment: - LAGO_API_URL=${LAGO_API_URL:-http://localhost:3000} - DATABASE_URL=postgresql://${POSTGRES_USER:-lago}:${POSTGRES_PASSWORD:-changeme}@${POSTGRES_HOST:-db}:${POSTGRES_PORT:-5432}/${POSTGRES_DB:-lago} - REDIS_URL=redis://${REDIS_HOST:-redis}:${REDIS_PORT:-6379} - SECRET_KEY_BASE=${SECRET_KEY_BASE:-your-secret-key-base-hex-64} - RAILS_ENV=production - SENTRY_DSN=${SENTRY_DSN} - RSA_PRIVATE_KEY=${LAGO_RSA_PRIVATE_KEY} # Should be base64 encoded - ENCRYPTION_PRIMARY_KEY=${LAGO_ENCRYPTION_PRIMARY_KEY:-your-encrpytion-primary-key} - ENCRYPTION_DETERMINISTIC_KEY=${LAGO_ENCRYPTION_DETERMINISTIC_KEY:-your-encrpytion-deterministic-key} - ENCRYPTION_KEY_DERIVATION_SALT=${LAGO_ENCRYPTION_KEY_DERIVATION_SALT:-your-encrpytion-derivation-salt} pdf: image: gotenberg/gotenberg:7