Golang Stack

The example below demonstrates a composition of Go, PostgreSQL with the pre-defined Sidecar.
docker-compose.yml
version: "3.8"
services:
web:
container_name: go-app
build: ./
ports:
- "5000:5000"
environment:
DD_DB_HOST: db
command: /server
depends_on:
- db
db:
container_name: go-app-db
image: postgres:14.1-alpine
ports:
- "5432:5432"
environment:
POSTGRES_USER: goland
POSTGRES_PASSWORD: goland
POSTGRES_DB: goland
volumes:
- ./init.sql:/docker-entrypoint-initdb.d/init.sql
sidecar:
image: industryapps.azurecr.io/service-discovery-sidecar
container_name: { my-apps-name-sidecar }
restart: always
environment:
NODE_ENV: production
DEPLOYMENT_MODE: public
EUREKA_INSTANCE_IP: { IP }
EUREKA_INSTANCE_PORT: { PORT }
EUREKA_INSTANCE_APP: { app-code }
EUREKA_INSTANCE_HOST_NAME: { my-app-domain }/
EUREKA_INSTANCE_HOME_PAGE_URL: https://<your_domain>/{APPCODE}
EUREKA_HOST: servicediscovery.uat.industryapps.net
EUREKA_PORT: 443
networks:
default:
driver: bridge
Inside the docker-compose.yml file, add the necessary information which is tagged with curly braces ' { } '.
  • IP -> The IP of the web service which you are running, such as on AWS EC2 Ubuntu, Lightsail instance or Azure Web services as an example.
  • PORT -> The port which the app client-side is served at (e.g. Port 80).
  • APPCODE -> Navigate to Developer dashboard > Applications > {App Name} > App Data, the Application code will be available there.
  • HOSTNAME -> Can be found on the Developer dashboard, the boilerplate is the hostname of the application: https://<your_domain>/{APPCODE}
If the application container is pushed onto IndustryApps, the HOSTNAME is the Application ID.