#version: '2.4' networks: backend: driver: bridge volumes: shared-pkg: build-cache: services: ############################################# # workspace ############################################# workspace: image: eqemulator/spire:go-workspace build: context: ./containers/workspace hostname: go-workspace tty: true volumes: - ./:/home/go/src - build-cache:/home/go/.cache/ - shared-pkg:/home/go/pkg environment: TZ: America/Chicago CGO_ENABLED: 0 APP_ENV: local TERM: xterm-256color ports: - ${IP_ADDRESS:-0.0.0.0}:3010:3010 - ${IP_ADDRESS:-0.0.0.0}:8080:8080 networks: - backend command: "/bin/bash -c 'sudo chown go -R /home/go/pkg && go get || true && bash'" ############################################# # mysql ############################################# mysql: restart: unless-stopped build: context: ./containers/mariadb args: - INNODB_BUFFER_POOL_SIZE=${INNODB_BUFFER_POOL_SIZE:-512MB} ports: - ${IP_ADDRESS:-0.0.0.0}:33066:3306 volumes: - ./_data/mariadb:/var/lib/mysql:delegated environment: - MYSQL_DATABASE=${MYSQL_DATABASE} - MYSQL_USER=${MYSQL_USERNAME} - MYSQL_PASSWORD=${MYSQL_PASSWORD} - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} - MYSQL_ALLOW_EMPTY_PASSWORD=NO - TZ=${TZ:-US/Central} networks: - backend ############################################# # influxdb / grafana ############################################# influxdb: restart: unless-stopped image: influxdb:latest volumes: - ./_data/influxdb/:/var/lib/influxdb environment: - INFLUXDB_DB=db0 - INFLUXDB_ADMIN_USER=${INFLUXDB_USERNAME:-admin} - INFLUXDB_ADMIN_PASSWORD=${INFLUXDB_PASSWORD:-admin} - INFLUXDB_REPORTING_DISABLED=true networks: - backend grafana: restart: unless-stopped build: context: ./containers/grafana ports: - ${IP_ADDRESS:-0.0.0.0}:3030:3010 volumes: - ./_data/grafana/:/var/lib/grafana depends_on: - influxdb environment: - GF_SECURITY_ADMIN_USER=${GRAFANA_USERNAME:-admin} - GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PASSWORD:-admin} networks: - backend ############################################# # redis (currently not in use) ############################################# redis: image: redis:latest expose: - 6379 networks: - backend ############################################# # jaeger tracing (currently not in use) ############################################# jaeger: image: jaegertracing/all-in-one:1.18 environment: - COLLECTOR_ZIPKIN_HTTP_PORT=9411 ports: - 5775:5775/udp - 6831:6831/udp - 6832:6832/udp - 5778:5778 - 16686:16686 - 14268:14268 - 14250:14250 - 9411:9411 networks: - backend