podinfo Docker & Self-Hosted Deployment

GitHub

Go microservice template for Kubernetes

RAW Compose
1. Pull Image (DOCKERHUB) docker pull otel/opentelemetry-collector-contrib
2. Docker Run (1-Click Launch) docker run -d --name podinfo -p 9898:9898 --restart always otel/opentelemetry-collector-contrib:0.116.1
3. Podman Run podman run -d --name podinfo -p 9898:9898 --restart always otel/opentelemetry-collector-contrib:0.116.1
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/otel/opentelemetry-collector-contrib:0.116.1
5. ORAS Pull (OCI Artifact) oras pull otel/opentelemetry-collector-contrib:0.116.1
6. Compose Deployment docker compose up -d
otel/docker-compose.yaml
Download .yml
version: '2'

services:
  podinfo_frontend:
    build: ..
    command: ./podinfo --backend-url http://podinfo_backend:9899/status/200 --otel-service-name=podinfo_frontend
    environment:
      - OTEL_EXPORTER_OTLP_ENDPOINT=http://otel:4317
    ports:
      - "9898:9898"
  podinfo_backend:
    build: ..
    command: ./podinfo --port 9899 --otel-service-name=podinfo_backend
    environment:
      - OTEL_EXPORTER_OTLP_ENDPOINT=http://otel:4317
    ports:
      - "9899:9899"
  otel:
    command: --config otel-config.yaml
    image: otel/opentelemetry-collector-contrib:0.116.1
    ports:
      - "4317:4317"
    volumes:
      - ${PWD}/otel-config.yaml:/otel-config.yaml
  loki:
    image: grafana/loki:3.0.0
    ports:
      - "3100:3100"
    command: -config.file=/etc/loki/local-config.yaml
  grafana:
    image: grafana/grafana:10.4.0
    ports:
      - "3000:3000"
    environment:
      - GF_AUTH_ANONYMOUS_ENABLED=true
      - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
    volumes:
      - ${PWD}/grafana-datasources.yaml:/etc/grafana/provisioning/datasources/datasources.yaml
  jaeger:
    image: jaegertracing/all-in-one:1.57.0
    ports:
      - "16686:16686"