boulder:
    image: containous/boulder:release
    environment:
        FAKE_DNS: ${DOCKER_HOST_IP}
        PKCS11_PROXY_SOCKET: tcp://boulder-hsm:5657
    extra_hosts:
      - le.wtf:127.0.0.1
      - boulder:127.0.0.1
    ports:
      - 4000:4000 # ACME
      - 4002:4002 # OCSP
      - 4003:4003 # OCSP
      - 4500:4500 # ct-test-srv
      - 8000:8000 # debug ports
      - 8001:8001
      - 8002:8002
      - 8003:8003
      - 8004:8004
      - 8055:8055 # dns-test-srv updates
      - 9380:9380 # mail-test-srv
      - 9381:9381 # mail-test-srv
    links:
      - bhsm:boulder-hsm
      - bmysql:boulder-mysql
      - brabbitmq:boulder-rabbitmq

bhsm:
    # To minimize the fetching of various layers this should match
    # the FROM image and tag in boulder/Dockerfile
    image: letsencrypt/boulder-tools:2016-11-02
    environment:
        PKCS11_DAEMON_SOCKET: tcp://0.0.0.0:5657
    command: /usr/local/bin/pkcs11-daemon /usr/lib/softhsm/libsofthsm.so
    expose:
      - 5657
bmysql:
    image: mariadb:10.1
    environment:
        MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
    log_driver: none
brabbitmq:
    image: rabbitmq:3-alpine
    environment:
        RABBITMQ_NODE_IP_ADDRESS: "0.0.0.0"
