Files
meshcore-hub/docker-compose.traefik.yml
T
Louis King b5fc4c06a0 Rename receiver profile to observer, packet-capture service to observer, hub-dev fallback to hub
- Rename compose profile 'receiver' -> 'observer' across all docs
- Rename docker-compose service 'packet-capture' -> 'observer' and volume
  'packetcapture_data' -> 'observer_data'
- Change COMPOSE_PROJECT_NAME fallback from 'hub-dev' to 'hub' across all
  compose files, Makefile, .env, docs
- Remove legacy interface-mock service from test compose file
2026-04-16 23:12:22 +01:00

34 lines
1.5 KiB
YAML

# MeshCore Hub - Traefik Docker Compose Override
#
# Adds Traefik auto-discovery labels to core services.
# Requires docker-compose.prod.yml (for the proxy-net network).
#
# Set TRAEFIK_DOMAIN in your .env file to the hostname for this instance.
#
# Prerequisites:
# - Traefik configured with Docker provider and attached to proxy-net
# - TRAEFIK_DOMAIN set in .env (e.g., TRAEFIK_DOMAIN=meshcore.example.com)
#
# Usage:
# docker compose -f docker-compose.yml -f docker-compose.prod.yml -f docker-compose.traefik.yml up -d
services:
api:
labels:
- "traefik.enable=true"
- "traefik.http.services.${COMPOSE_PROJECT_NAME:-hub}-api.loadbalancer.server.port=8000"
- "traefik.http.routers.${COMPOSE_PROJECT_NAME:-hub}-api.rule=Host(`${TRAEFIK_DOMAIN}`) && (PathPrefix(`/api`) || PathPrefix(`/metrics`) || PathPrefix(`/health`))"
- "traefik.http.routers.${COMPOSE_PROJECT_NAME:-hub}-api.entrypoints=websecure"
- "traefik.http.routers.${COMPOSE_PROJECT_NAME:-hub}-api.tls=true"
- "traefik.docker.network=proxy-net"
web:
labels:
- "traefik.enable=true"
- "traefik.http.services.${COMPOSE_PROJECT_NAME:-hub}-web.loadbalancer.server.port=8080"
- "traefik.http.routers.${COMPOSE_PROJECT_NAME:-hub}-web.rule=Host(`${TRAEFIK_DOMAIN}`)"
- "traefik.http.routers.${COMPOSE_PROJECT_NAME:-hub}-web.entrypoints=websecure"
- "traefik.http.routers.${COMPOSE_PROJECT_NAME:-hub}-web.tls=true"
- "traefik.http.routers.${COMPOSE_PROJECT_NAME:-hub}-web.priority=1"
- "traefik.docker.network=proxy-net"