version: '3' services: db: image: "mysql" restart: always ports: - "3306:3306" environment: - "MYSQL_DATABASE=funcs" - "MYSQL_ROOT_PASSWORD=root" mq: image: "redis" restart: always ports: - "6379:6379" fnserver: depends_on: - mq - db build: . ports: - "8080:8080" links: - "db" - "mq" environment: - DB_URL=mysql://root:root@tcp(db:3306)/funcs - MQ_URL=redis://mq:6379/ volumes: - /var/run/docker.sock:/var/run/docker.sock deploy: mode: replicated replicas: 3 grafana: image: grafana/grafana restart: always ports: - "3000:3000" links: - fnserver - prometheus depends_on: - fnserver - prometheus prometheus: image: prom/prometheus restart: always depends_on: - fnserver ports: - "9090:9090" links: - fnserver volumes: - ${GOPATH}/src/github.com/fnproject/fn/examples/grafana/prometheus.yml:/etc/prometheus/prometheus.yml fnserver-ui: depends_on: - fnserver image: fnproject/ui restart: always ports: - "4000:4000" links: - "fnserver" environment: - API_URL=http://fnserver:8080