# This configuration file is for the **development** setup. # For a production example please refer to setup/docker-compose.yml. version: '3.2' services: server: build: . command: dev_server depends_on: - postgres - redis ports: - "5000:5000" - "5678:5678" volumes: - ".:/app" environment: PYTHONUNBUFFERED: 0 REDASH_LOG_LEVEL: "INFO" REDASH_REDIS_URL: "redis://redis:6379/0" REDASH_DATABASE_URL: "postgresql://postgres@postgres/postgres" REDASH_RATELIMIT_ENABLED: "false" scheduler: build: . command: dev_scheduler volumes: - type: bind source: . target: /app depends_on: - server environment: REDASH_REDIS_URL: "redis://redis:6379/0" REDASH_MAIL_DEFAULT_SENDER: redash@example.com REDASH_MAIL_SERVER: email worker: build: . command: dev_worker volumes: - type: bind source: . target: /app depends_on: - server environment: PYTHONUNBUFFERED: 0 REDASH_LOG_LEVEL: "INFO" REDASH_REDIS_URL: "redis://redis:6379/0" REDASH_DATABASE_URL: "postgresql://postgres@postgres/postgres" celery-worker: build: . command: dev_celery_worker volumes: - type: bind source: . target: /app depends_on: - server - email environment: PYTHONUNBUFFERED: 0 REDASH_LOG_LEVEL: "INFO" REDASH_REDIS_URL: "redis://redis:6379/0" REDASH_DATABASE_URL: "postgresql://postgres@postgres/postgres" QUEUES: "queries,scheduled_queries" WORKERS_COUNT: 2 REDASH_MAIL_DEFAULT_SENDER: redash@example.com REDASH_MAIL_SERVER: email redis: image: redis:3-alpine restart: unless-stopped postgres: image: postgres:9.5-alpine # The following turns the DB into less durable, but gains significant performance improvements for the tests run (x3 # improvement on my personal machine). We should consider moving this into a dedicated Docker Compose configuration for # tests. ports: - "15432:5432" command: "postgres -c fsync=off -c full_page_writes=off -c synchronous_commit=OFF" restart: unless-stopped email: image: djfarrelly/maildev ports: - "1080:80" restart: unless-stopped