Secure web GUI for managing Traefik v3.7
- Go 59.6%
- TypeScript 37.7%
- CSS 2.3%
- Dockerfile 0.2%
- Makefile 0.1%
| .github/workflows | ||
| backend | ||
| docker | ||
| frontend | ||
| .env.example | ||
| .gitignore | ||
| ARCHITECTURE.md | ||
| Makefile | ||
| README.md | ||
Traefik GUI
Web-based GUI for managing Traefik v3.7.
See ARCHITECTURE.md for design.
⚠️ Security Notice
Never commit the SQLite database file (data/traefik-gui.db). It contains session data, CSRF tokens, and potentially sensitive configuration snapshots. The .gitignore excludes *.db and data/ by default.
Setup for Testers
-
Copy the environment example:
cp .env.example .envThen edit
.envand replace placeholder values with your own secrets:GUI_SESSION_SECRET: Must be at least 32 random charactersGUI_ADMIN_PASSWORD: Minimum 12 characters for production- Adjust
GUI_CORS_ORIGINif accessing from a different origin
-
Start the backend:
cd backend go run ./cmd/traefik-gui --dev --session-secret $(grep GUI_SESSION_SECRET .env | cut -d= -f2-) --addr :8080Or via Docker Compose:
docker compose up -
Start the frontend (separate terminal):
cd frontend npm install && npm run dev -
Open http://localhost:5173 (Vite) → login with admin/changeme (or the password you set via
GUI_ADMIN_PASSWORD) -
API health check:
http://localhost:8080/api/health
Quick Start
# Backend
cd backend && go run ./cmd/traefik-gui --dev --session-secret dev-secret-32-chars-min --addr :8080
# Frontend (separate terminal)
cd frontend && npm install && npm run dev
# Open http://localhost:5173 (Vite) -> login admin/changeme
# API at http://localhost:8080/api/health
Docker Compose
docker compose -f docker/docker-compose.yml up