feat(FN-002): complete Step 5 — Docker Compose and Portainer/Traefik Skeleton

This commit is contained in:
Fusion
2026-05-14 01:58:18 +02:00
parent 2e8a558b71
commit 7b45344237
8 changed files with 215 additions and 0 deletions
+27
View File
@@ -0,0 +1,27 @@
# Example Traefik labels for Headquarter services
# These labels are applied automatically by docker-compose.traefik.yml.
# Use this file as a reference when adding custom tool container labels later.
# API service labels
api_labels: &api
- "traefik.enable=true"
- "traefik.http.routers.headquarter-api.rule=Host(`api.example.com`)"
- "traefik.http.routers.headquarter-api.entrypoints=websecure"
- "traefik.http.routers.headquarter-api.tls.certresolver=letsencrypt"
- "traefik.http.services.headquarter-api.loadbalancer.server.port=8000"
# Web service labels
web_labels: &web
- "traefik.enable=true"
- "traefik.http.routers.headquarter-web.rule=Host(`example.com`)"
- "traefik.http.routers.headquarter-web.entrypoints=websecure"
- "traefik.http.routers.headquarter-web.tls.certresolver=letsencrypt"
- "traefik.http.services.headquarter-web.loadbalancer.server.port=80"
# Tool instance labels (template for dynamically spawned containers)
tool_labels: &tool
- "traefik.enable=true"
- "traefik.http.routers.{tool_name}.rule=Host(`{subdomain}`)"
- "traefik.http.routers.{tool_name}.entrypoints=websecure"
- "traefik.http.routers.{tool_name}.tls.certresolver=letsencrypt"
- "traefik.http.services.{tool_name}.loadbalancer.server.port={port}"