Sign inSign up

motionninja/trafik-labelizer

By motionninja

Updated 9 months ago

Traefik Labelizer – YAML-to-Traefik Label Generator

Image
Networking
Machine learning & AI
Web servers
0

906

motionninja/trafik-labelizer repository overview

Traefik Labelizer

Traefik Labelizer is a web UI that takes your existing docker-compose.yml and injects production‑ready Traefik labels for routing, TLS and authentication. Paste your compose on the left, get a Traefik‑ready version on the right, and copy it back into your stack.

Runs in two modes:

  • Local (Live) – deterministic, instant label generation in the browser
  • AI Engine – optional Gemini / OpenAI / OpenRouter mode for smarter, commented YAML refactors
Quick start
docker run --rm -p 9412:9412 motionninja/trafik-labelizer:latest

Then open:

http://localhost:9412
Docker Compose example
services:
  traefik-labelizer:
    image: motionninja/trafik-labelizer:latest
    container_name: traefik-labelizer
    restart: unless-stopped
    ports:
      - 9412:9412
    environment:
      API_KEY: ${API_KEY}
      API_PROVIDER: ${API_PROVIDER}
      DOMAIN: ${DOMAIN:-example.com}
      MIDDLEWARE: ${MIDDLEWARE}
      COMMENT_OUT_PORTS: ${COMMENT_OUT_PORTS:-true}
      SYNC_SCROLL: ${SYNC_SCROLL:-true}
      NETWORK: ${NETWORK:-frontend}
      WORD_WRAP: ${WORD_WRAP:-false}
      AI_MODEL: ${AI_MODEL:-}
Key features
  • Adds Traefik routers, services and middlewares to existing services
  • Per‑port label control (enable/disable labels for specific service:port pairs)
  • Optional automatic commenting of ports: when routing through Traefik
  • Built‑in helpers for TinyAuth, Authentik and VoidAuth
  • Synchronized editors with optional word wrap and scroll sync
  • Ready‑to‑copy base Traefik infrastructure YAML
Core environment variables
  • DOMAIN – base domain used in Traefik Host rules (default example.com)
  • NETWORK – Docker network name Traefik uses (default frontend)
  • MIDDLEWARE – tinyauth, authentik, voidauth or none
  • COMMENT_OUT_PORTS – "true" / "false" (default "true")
  • SYNC_SCROLL – "true" / "false" (default "true")
  • WORD_WRAP – "true" / "false" (default "false")
AI configuration (optional)
  • API_KEY – API key for the selected AI provider
  • API_PROVIDER – gemini, openai or openrouter (default gemini)
  • AI_MODEL – shared model name (e.g. gemini-3-flash-preview, gpt-4.1-mini, deepseek/deepseek-v3.2)
  • GEMINI_MODEL / OPENAI_MODEL / OPENROUTER_MODEL – provider‑specific overrides (take precedence over AI_MODEL)
  • OPENAI_BASE_URL – custom OpenAI‑compatible base URL (default https://api.openai.com/v1)
  • OPENROUTER_BASE_URL – custom OpenRouter base URL (default https://openrouter.ai/api/v1)

The container serves the UI via nginx on port 9412, so mapping 9412:9412 is usually all you need.

Tag summary

Content type

Image

Digest

sha256:9b370df15

Size

22.4 MB

Last updated

9 months ago

docker pull motionninja/trafik-labelizer