version: '3' services: sql: image: msolution/trackit2-sql environment: - MYSQL_USER=${TRACKIT_SQL_USER:-trackit} - MYSQL_PASSWORD=${TRACKIT_SQL_PASSWORD:-trackitpassword} - MYSQL_DATABASE=${TRACKIT_SQL_DATABASE:-trackit} - MYSQL_RANDOM_ROOT_PASSWORD=yes networks: - app ports: - '127.0.0.1:3306:3306' es: image: docker.elastic.co/elasticsearch/elasticsearch:5.5.3 environment: - "ES_JAVA_OPTS=-Xms3g -Xmx3g" networks: - app ports: - '127.0.0.1:9200:9200' redis: image: redis:latest command: ["redis-server", "--requirepass changeme"] networks: - app ports: - '127.0.0.1:6379:6379' api: image: msolution/trackit2-api links: - sql - redis command: - -sql-address=${TRACKIT_SQL_USER:-trackit}:${TRACKIT_SQL_PASSWORD:-trackitpassword}@tcp(sql:3306)/${TRACKIT_SQL_DATABASE:-trackit}?parseTime=true - -es-address=${TRACKIT_ES_ADDRESS:-http://es:9200} - -redis-address=${TRACKIT_REDIS_ADDRESS:-redis:6379} - -http-address=[::]:80 environment: - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} - AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} - AWS_SESSION_TOKEN=${AWS_SESSION_TOKEN} - AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION} ports: - 8080:80 networks: - app networks: app: driver: bridge ipam: driver: default config: - subnet: 10.19.84.0/24