db:
  image: postgres:9.4

redis:
  image: redis:latest

rabbitmq:
  image: rabbitmq:latest

camo:
  image: pypa/warehouse-camo:latest
  ports:
    - "9000:9000"
  environment:
    CAMO_KEY: "insecure camo key"

app:
  build: .
  volumes:
    - .:/app/
  environment:
    WAREHOUSE_ENV: development
    WAREHOUSE_TOKEN: insecuretoken
    AMQP_URL: amqp://guest@rabbitmq:5672//
    DATABASE_URL: postgresql://postgres@db/warehouse
    REDIS_URL: redis://redis:6379/0
    SESSION_SECRET: "an insecure development secret"
    CAMO_URL: "{request.scheme}://{request.domain}:9000/"
    CAMO_KEY: "insecure camo key"
    DOCS_URL: "https://pythonhosted.org/{project}/"
    FILES_BACKEND: "warehouse.packaging.services.LocalFileStorage path=/app/data/packages/"

web:
  extends:
    service: app
  command: uwsgi --ini=uwsgi.ini --processes=1 --py-autoreload=3
  environment:
    PORT: 8000
  ports:
    - "80:8000"
  links:
    - db
    - redis
    - rabbitmq

worker:
  extends:
    service: app
  command: celery -A warehouse worker -l info --autoreload
  links:
    - db
    - redis
    - rabbitmq

db:
  image: postgres:9.4

redis:
  image: redis:latest

rabbitmq:
  image: rabbitmq:latest

elasticsearch:
  image: elasticsearch:1.7

camo:
  image: pypa/warehouse-camo:latest
  ports:
    - "9000:9000"
  environment:
    CAMO_KEY: "insecure camo key"

app:
  build: .
  volumes:
    - .:/app/
  environment:
    WAREHOUSE_ENV: development
    WAREHOUSE_TOKEN: insecuretoken
    AMQP_URL: amqp://guest@rabbitmq:5672//
    DATABASE_URL: postgresql://postgres@db/warehouse
    REDIS_URL: redis://redis:6379/0
    SESSION_SECRET: "an insecure development secret"
    CAMO_URL: "{request.scheme}://{request.domain}:9000/"
    CAMO_KEY: "insecure camo key"
    DOCS_URL: "https://pythonhosted.org/{project}/"
    FILES_BACKEND: "warehouse.packaging.services.LocalFileStorage path=/app/data/packages/"

web:
  extends:
    service: app
  command: uwsgi --ini=uwsgi.ini --processes=1 --py-autoreload=3
  environment:
    PORT: 8000
  ports:
    - "80:8000"
  links:
    - db
    - redis
    - rabbitmq
    - elasticsearch

worker:
  extends:
    service: app
  command: celery -A warehouse worker -l info --autoreload
  links:
    - db
    - redis
    - rabbitmq
    - elasticsearch

Add Elasticsearch into our development infrastructure
Add Elasticsearch into our development infrastructure
