Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/blazor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ name: blazor

on:
push:
branches: ["main"]
branches: ["open_telemetric_and_docker_fixes"]
paths: ["src/apps/blazor/**"]

pull_request:
branches: ["main"]
branches: ["open_telemetric_and_docker_fixes"]
paths: ["src/apps/blazor/**"]

jobs:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/webapi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ name: webapi

on:
push:
branches: ["main"]
branches: ["open_telemetric_and_docker_fixes"]
paths: ["src/api/**"]

pull_request:
branches: ["main"]
branches: ["open_telemetric_and_docker_fixes"]
paths: ["src/api/**"]

jobs:
Expand Down
11 changes: 11 additions & 0 deletions compose/.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#BASE_PATH=/mnt/c/docker-services/fsh-dotnet-starter-kit
BASE_PATH=.
############################################################################################################################################################################
# API Services
############################################################################################################################################################################
FSH_DOTNETSTARTERKIT_WEBAPI_IMAGE=ghcr.io/maxiar/webapi:latest

############################################################################################################################################################################
# Websites
############################################################################################################################################################################
FSH_DOTNETSTARTERKIT_BLAZOR_IMAGE=ghcr.io/maxiar/blazor:latest
94 changes: 73 additions & 21 deletions compose/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
version: "4"
name: fullstackhero
version: "4" #on wsl linux replace 3.8
name: fullstackhero #on wsl linux replace with export COMPOSE_PROJECT_NAME=fullstackhero before docker-compose up command

services:
webapi:
image: ghcr.io/fullstackhero/webapi:latest
image: ${FSH_DOTNETSTARTERKIT_WEBAPI_IMAGE}
pull_policy: always
container_name: webapi
networks:
Expand All @@ -29,9 +29,12 @@ services:
CorsOptions__AllowedOrigins__1: http://localhost:7100
CorsOptions__AllowedOrigins__2: https://localhost:7020
OpenTelemetryOptions__Endpoint: http://otel-collector:4317
RateLimitOptions__EnableRateLimiting: false
RateLimitOptions__EnableRateLimiting: "false"
OTEL_EXPORTER_OTLP_ENDPOINT: http://otel-collector:4317
OTEL_SERVICE_NAME: FSH.Starter.WebApi.Host
volumes:
- ~/.aspnet/https:/https:ro
- ~/.aspnet/https:/https:ro #on wsl linux
#- /mnt/c/Users/eduar/.aspnet/https:/https:ro
ports:
- 7000:7000
- 5000:5000
Expand All @@ -41,23 +44,30 @@ services:
restart: on-failure

blazor:
image: ghcr.io/fullstackhero/blazor:latest
image: ${FSH_DOTNETSTARTERKIT_BLAZOR_IMAGE}
pull_policy: always
container_name: blazor
environment:
ASPNETCORE_ENVIRONMENT: docker
ASPNETCORE_URLS: https://+:7100;http://+:5010
ASPNETCORE_HTTPS_PORT: 7100
ASPNETCORE_Kestrel__Certificates__Default__Password: password!
ASPNETCORE_Kestrel__Certificates__Default__Path: /https/cert.pfx
ApiBaseUrl: http://webapi:7000
Frontend_FSHStarterBlazorClient_Settings__AppSettingsTemplate: /usr/share/nginx/html/appsettings.json.TEMPLATE
Frontend_FSHStarterBlazorClient_Settings__AppSettingsJson: /usr/share/nginx/html/appsettings.json
FSHStarterBlazorClient_ApiBaseUrl: https://localhost:7000
ApiBaseUrl: https://localhost:7000
networks:
- fullstackhero
entrypoint:
[
"/bin/sh",
"-c",
"envsubst <
$${Frontend_FSHStarterBlazorClient_Settings__AppSettingsTemplate} >
$${Frontend_FSHStarterBlazorClient_Settings__AppSettingsJson} && find
/usr/share/nginx/html -type f | xargs chmod +r && exec nginx -g
'daemon off;'"
]
volumes:
- ~/.aspnet/https:/https:ro
ports:
- 7100:7100
- 5100:5100
- 7100:80
depends_on:
postgres:
condition: service_healthy
Expand Down Expand Up @@ -97,27 +107,69 @@ services:
grafana:
container_name: grafana
image: grafana/grafana:latest
user: '472'
environment:
GF_INSTALL_PLUGINS: 'grafana-clock-panel,grafana-simple-json-datasource'
ports:
- 3000:3000
volumes:
- grafana-data:/var/lib/grafana
- ./grafana/provisioning/:/etc/grafana/provisioning/
depends_on:
- prometheus
restart: unless-stopped
networks:
- fullstackhero

otel-collector:
image: otel/opentelemetry-collector:0.95.0
image: otel/opentelemetry-collector-contrib:latest
container_name: otel-collector
command: ["--config=/etc/otel-collector-config.yaml"]
command: --config /etc/otel/config.yaml
environment:
JAEGER_ENDPOINT: "jaeger:4317"
LOKI_ENDPOINT: "http://loki:3100/loki/api/v1/push"
volumes:
- $BASE_PATH/otel-collector/otel-config.yaml:/etc/otel/config.yaml
- $BASE_PATH/otel-collector/log:/log/otel
depends_on:
- jaeger
- loki
- prometheus
ports:
- 8888:8888 # Prometheus metrics exposed by the collector
- 8889:8889 # Prometheus metrics exporter (scrape endpoint)
- 13133:13133 # health_check extension
- "55679:55679" # ZPages extension
- 4317:4317 # OTLP gRPC receiver
- 4318:4318 # OTLP Http receiver (Protobuf)
networks:
- fullstackhero

jaeger:
container_name: jaeger
image: jaegertracing/all-in-one:latest
command: --query.ui-config /etc/jaeger/jaeger-ui.json
environment:
- METRICS_STORAGE_TYPE=prometheus
- PROMETHEUS_SERVER_URL=http://prometheus:9090
- COLLECTOR_OTLP_ENABLED=true
volumes:
- $BASE_PATH/jaeger/jaeger-ui.json:/etc/jaeger/jaeger-ui.json
depends_on:
- prometheus
ports:
- "16686:16686"
networks:
- fullstackhero

loki:
container_name: loki
image: grafana/loki:3.1.0
command: -config.file=/mnt/config/loki-config.yml
volumes:
- ./otel/otel-collector-config.yaml:/etc/otel-collector-config.yaml
- $BASE_PATH/loki/loki.yml:/mnt/config/loki-config.yml
ports:
- 8888:8888
- 8889:8889
- 13133:13133
- 4317:4317
- "3100:3100"
networks:
- fullstackhero

Expand Down
Loading