|  | @@ -1,9 +1,15 @@
 | 
	
		
			
				|  |  | -version: "3"
 | 
	
		
			
				|  |  | +# version is now using "compose spec"
 | 
	
		
			
				|  |  | +# v2 and v3 are now combined!
 | 
	
		
			
				|  |  | +# docker-compose v1.27+ required
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  services:
 | 
	
		
			
				|  |  |    vote:
 | 
	
		
			
				|  |  |      build: ./vote
 | 
	
		
			
				|  |  | +    # use python rather than gunicorn for local dev
 | 
	
		
			
				|  |  |      command: python app.py
 | 
	
		
			
				|  |  | +    depends_on:
 | 
	
		
			
				|  |  | +      redis:
 | 
	
		
			
				|  |  | +        condition: service_healthy 
 | 
	
		
			
				|  |  |      volumes:
 | 
	
		
			
				|  |  |       - ./vote:/app
 | 
	
		
			
				|  |  |      ports:
 | 
	
	
		
			
				|  | @@ -14,7 +20,11 @@ services:
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    result:
 | 
	
		
			
				|  |  |      build: ./result
 | 
	
		
			
				|  |  | +    # use nodemon rather than node for local dev
 | 
	
		
			
				|  |  |      command: nodemon server.js
 | 
	
		
			
				|  |  | +    depends_on:
 | 
	
		
			
				|  |  | +      db:
 | 
	
		
			
				|  |  | +        condition: service_healthy 
 | 
	
		
			
				|  |  |      volumes:
 | 
	
		
			
				|  |  |        - ./result:/app
 | 
	
		
			
				|  |  |      ports:
 | 
	
	
		
			
				|  | @@ -28,26 +38,35 @@ services:
 | 
	
		
			
				|  |  |      build:
 | 
	
		
			
				|  |  |        context: ./worker
 | 
	
		
			
				|  |  |      depends_on:
 | 
	
		
			
				|  |  | -      - "redis"
 | 
	
		
			
				|  |  | -      - "db"
 | 
	
		
			
				|  |  | +      redis:
 | 
	
		
			
				|  |  | +        condition: service_healthy 
 | 
	
		
			
				|  |  | +      db:
 | 
	
		
			
				|  |  | +        condition: service_healthy 
 | 
	
		
			
				|  |  |      networks:
 | 
	
		
			
				|  |  |        - back-tier
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    redis:
 | 
	
		
			
				|  |  |      image: redis:5.0-alpine3.10
 | 
	
		
			
				|  |  | -    container_name: redis
 | 
	
		
			
				|  |  | +    volumes:
 | 
	
		
			
				|  |  | +      - "./healthchecks:/healthchecks"
 | 
	
		
			
				|  |  | +    healthcheck:
 | 
	
		
			
				|  |  | +      test: /healthchecks/redis.sh
 | 
	
		
			
				|  |  | +      interval: "5s"
 | 
	
		
			
				|  |  |      ports: ["6379"]
 | 
	
		
			
				|  |  |      networks:
 | 
	
		
			
				|  |  |        - back-tier
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    db:
 | 
	
		
			
				|  |  |      image: postgres:9.4
 | 
	
		
			
				|  |  | -    container_name: db
 | 
	
		
			
				|  |  |      environment:
 | 
	
		
			
				|  |  |        POSTGRES_USER: "postgres"
 | 
	
		
			
				|  |  |        POSTGRES_PASSWORD: "postgres"
 | 
	
		
			
				|  |  |      volumes:
 | 
	
		
			
				|  |  |        - "db-data:/var/lib/postgresql/data"
 | 
	
		
			
				|  |  | +      - "./healthchecks:/healthchecks"
 | 
	
		
			
				|  |  | +    healthcheck:
 | 
	
		
			
				|  |  | +      test: /healthchecks/postgres.sh
 | 
	
		
			
				|  |  | +      interval: "5s"
 | 
	
		
			
				|  |  |      networks:
 | 
	
		
			
				|  |  |        - back-tier
 | 
	
		
			
				|  |  |  
 |