version: "3" services: web: build: ./web volumes: - ./web:/usr/src/app ports: - "3000:3000" command: bash -c "yarn && yarn start" links: - api_server api_server: build: ./api_server ports: - "3001:3001" volumes: - ./api_server:/usr/src/app links: - db # diesel infer_schema macro gives warnings with this flag. # environment: # - CARGO_INCREMENTAL=1 command: bash -c "bash ./wait-for-it.sh db:5432 -q -- diesel setup && cargo watch -x run" db: image: "postgres:9" ports: - "5432:5432" volumes: - pgdata:/var/lib/postgresql/data/pgdata environment: POSTGRES_PASSWORD: supersecretpassword PGDATA: /var/lib/postgresql/data/pgdata browser: image: "scrapinghub/splash" ports: - "8050:8050" # cargo will try to redownload packages @ docker-compose up so store them here. volumes: pgdata: {}