50 lines
1.2 KiB
YAML
50 lines
1.2 KiB
YAML
version: "3"
|
|
|
|
services:
|
|
|
|
db:
|
|
image: postgres:12.0-alpine # Image will be pulled directly from docker hub
|
|
ports:
|
|
- ${DB_PORT}:5432
|
|
volumes:
|
|
- db-data:/var/lib/postgresql/data
|
|
environment:
|
|
POSTGRES_USER: ${POSTGRES_USER}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
|
POSTGRES_DB: ${POSTGRES_DB}
|
|
|
|
|
|
color-service:
|
|
build:
|
|
context: ./color-service
|
|
dockerfile: ./Dockerfile
|
|
ports:
|
|
- ${COLOR_SERVICE_PORT}:4000
|
|
environment:
|
|
HTTP_PORT: 4000
|
|
volumes:
|
|
- ./data.json:/app/data.json # example of how to mount external files into the container (e.g. a data set)
|
|
|
|
|
|
api:
|
|
build:
|
|
context: ./api
|
|
dockerfile: ./Dockerfile
|
|
depends_on:
|
|
- db # example of a depency between services, the api service will be started after the db service
|
|
ports:
|
|
- ${API_PORT}:3000
|
|
volumes:
|
|
- ${DATA_PATH}:/app/data.json # example of how to mount external files into the container (e.g. a data set)
|
|
|
|
|
|
frontend:
|
|
build:
|
|
context: ./frontend
|
|
dockerfile: ./Dockerfile
|
|
ports:
|
|
- ${FRONTEND_PORT}:8000 # example of how to bind to a different port
|
|
|
|
|
|
volumes:
|
|
db-data: # db-data is a volume that will be generated by docker compose |