Skip to content

chr0nzz/traefik-stack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 

Repository files navigation

traefik-stack

One-command installer for Traefik and Traefik Manager.

An interactive script that asks what you want to install and how, then generates all required config files and starts the services.


Quick start

curl -fsSL https://get-traefik.xyzlab.dev | bash

Or if you prefer to review the script before running:

curl -fsSL https://get-traefik.xyzlab.dev -o setup.sh
chmod +x setup.sh
./setup.sh

Install modes

The script starts by asking what you want to install:

What would you like to install?
  1) Traefik + Traefik Manager (full stack)
  2) Traefik Manager only

If you choose Traefik Manager only, it then asks how to deploy it:

Deployment method
  1) Docker
  2) Linux service (systemd)

Mode 1 - Traefik + Traefik Manager (full stack)

Installs both via Docker Compose. Best for a fresh server with nothing running yet.

The script walks you through:

  • Deployment type - external (internet-facing) or internal (LAN / VPN / Tailscale). If external, it shows which ports to open and waits for confirmation.
  • Domain + subdomains - hostnames for the Traefik dashboard and Traefik Manager.
  • TLS / certificates - Let's Encrypt HTTP challenge, DNS challenge (Cloudflare, Route 53, DigitalOcean, Namecheap, DuckDNS), or no TLS.
  • Dynamic config layout - single dynamic.yml file or a directory where each service gets its own .yml.
  • Optional mounts - access logs, acme.json, and traefik.yml for the Logs, Certs, and Plugins tabs in Traefik Manager.
  • Docker - if Docker is not installed, the script offers to install it for you.

What gets created

~/traefik-stack/
- docker-compose.yml
- traefik/
  - traefik.yml
  - acme.json
  - logs/
    - access.log
  - config/
    - dynamic.yml        (single file mode)
    - *.yml              (directory mode)
- traefik-manager/
  - config/
  - backups/

Mode 2 - Traefik Manager only (Docker)

Installs just Traefik Manager as a Docker container. Use this when Traefik is already running.

The script asks:

  • Whether to connect to an existing Traefik Docker network
  • Whether to expose via Traefik labels (with domain + TLS) or a direct host port
  • Dynamic config layout and optional mounts - you provide paths to your existing Traefik files

Mode 3 - Traefik Manager only (Linux service)

Installs Traefik Manager as a native systemd service. No Docker required.

Requirements: Python 3.11+, git, systemd.

The script handles cloning the repo, creating a Python venv, installing dependencies, writing the systemd unit file, and enabling the service.


Notes

Docker group: if the script installs Docker, it exits after installation with a prompt to re-run. The new docker group requires a fresh shell to take effect - just run the curl command again.


Documentation

Full setup guide and configuration reference: traefik-manager.xyzlab.dev/traefik-stack


Related


License

GPL-3.0

About

One-command setup for Traefik + Traefik Manager

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages