lsm/micromono

View on GitHub
example/docker-compose.yml

Summary

Maintainability
Test Coverage
installation:
  image: node:6
  command: node /opt/index.js
  working_dir: /opt
  volumes:
    - ./:/opt
    - ../:/opt/micromono
  environment:
    - DEBUG=micromono*
    - MICROMONO_LOG_LEVEL=debug
    - NODE_ENV=development
    - NPM_CONFIG_LOGLEVEL=warn

micromono:
  extends: installation
  volumes:
    - ../:/opt/node_modules/micromono

#
# UDP discovery backend
#

balancer:
  extends: micromono
  command: node /opt/balancer/server.js
  ports:
    - "3000:3000"
  links:
    - account
    - channel
    - home
    - io
  # volumes:
  #   - ../../socketmq:/opt/balancer/public/jspm_packages/npm/socketmq@0.7.1
  environment:
    - MICROMONO_PORT=3000
    - MICROMONO_SERVICES=account,channel,home,io

account:
  extends: micromono
  ports:
    - "4545:4545"
  command: node /opt/account/index.js --health-port 4545

channel:
  extends: micromono
  command: node /opt/channel/index.js

home:
  extends: micromono
  ports:
    - "4646:4646"
  command: node /opt/home/index.js --health-port 4646

io:
  extends: micromono
  command: node /opt/io/index.js

#
# nightwatch + selenium
#

balancer-istanbul:
  extends: micromono
  command: istanbul cover --config /opt/.istanbul.yml --dir /opt/balancer/coverage /opt/balancer/server.js
  ports:
    - "3000:3000"
  links:
    - account
    - channel
    - home
    - io
  environment:
    - MICROMONO_SERVICES=account,channel,home,io

account-istanbul:
  extends: micromono
  command: istanbul cover --config /opt/.istanbul.yml --dir /opt/account/coverage /opt/account/index.js

channel-istanbul:
  extends: micromono
  command: istanbul cover --config /opt/.istanbul.yml --dir /opt/channel/coverage /opt/channel/index.js

home-istanbul:
  extends: micromono
  command: istanbul cover --config /opt/.istanbul.yml --dir /opt/home/coverage /opt/home/index.js

io-istanbul:
  extends: micromono
  command: istanbul cover --config /opt/.istanbul.yml --dir /opt/io/coverage /opt/io/index.js

hub:
  image: selenium/hub:3
chrome:
  image: selenium/node-chrome:3
  links:
    - hub
    - balancer
chromedebug:
  image: selenium/node-chrome-debug:3
  links:
    - hub
    - balancer
  ports:
    - "5900:5900"
firefox:
  image: selenium/node-firefox:3
  links:
    - hub
    - balancer-istanbul
firefoxdebug:
  image: selenium/node-firefox-debug:3
  links:
    - hub
    - balancer
  ports:
    - 5901:5900
nightwatch:
  image: blueimp/nightwatch:0.9
  links:
    - hub
  volumes:
    - ./test/e2e:/home/node
  environment:
    - APP_URL=http://balancer:3000


#
# NATS as service discovery backend
#

balancer-nats:
  extends: micromono
  command: node /opt/balancer/server.js --services account,channel,home,io
  links:
    - account-nats
    - channel-nats
    - home-nats
    - io-nats
    - nats:nats.dev
  environment:
    - MICROMONO_DISCOVERY_BACKEND=nats
    - MICROMONO_DISCOVERY_NATS_SERVERS=nats://nats.dev:4222

nats:
  image: nats:0.9.6

account-nats:
  extends: account
  links:
    - nats:nats.dev
  environment:
    - MICROMONO_DISCOVERY_BACKEND=nats
    - MICROMONO_DISCOVERY_NATS_SERVERS=nats://nats.dev:4222

home-nats:
  extends: home
  links:
    - nats:nats.dev
  environment:
    - MICROMONO_DISCOVERY_BACKEND=nats
    - MICROMONO_DISCOVERY_NATS_SERVERS=nats://nats.dev:4222

io-nats:
  extends: io
  links:
    - nats:nats.dev
  environment:
    - MICROMONO_DISCOVERY_BACKEND=nats
    - MICROMONO_DISCOVERY_NATS_SERVERS=nats://nats.dev:4222

channel-nats:
  extends: channel
  links:
    - nats:nats.dev
  environment:
    - MICROMONO_DISCOVERY_BACKEND=nats
    - MICROMONO_DISCOVERY_NATS_SERVERS=nats://nats.dev:4222