I Tried Traefik Manager in My Home Lab and It Makes Traefik Much Easier

Traefik made easy

If you have been running Traefik or you have thought about running Traefik, you probably fall into one of two schools of thought. You probably either love Traefik due to the fact that it is so “infrastructure as code” friendly. Or, you hate the fact that it doesn’t really have a GUI for configuration like Nginx Proxy Manager for easy configuration. Let’s face it. Managing YAML files for configuration, including routes, middlewares, TLS certificates, and services can be tedious. This is why I was really interested when I came across Traefik Manager. It is a relatively new project that I think may change the game when it comes to managing Traefik. Let’s take a look at this new tool and see how you can get it running and managing your Traefik installation.

What is Traefik Manager?

Traefik Manager is a self hosted web UI designed to simplify the management of Traefik. Instead of writing and maintaining configuration files manually, it gives you a graphical interface where you can create and manage routes, services, middlewares, and certificates. So if you have a Proxmox Server at home running containers with Traefik sitting in front, this will make the process of management and configuration much easier.

As you can see with the screenshot from the official GitHub repository, it is not just a static dashboard like the Traefik Dashboard that comes with Traefik. This is active in that you can do things like add routes.

Traefik manager dashboard 2
Traefik manager dashboard

Under the hood, it integrates directly with Traefik’s API and configuration model. It does not replace Traefik. Instead, it acts as a management layer on top of it. The goal of this project is simple. It helps to make Traefik easier to use without changing what it does at its core.

Note the following features:

  • Manage routes and services from a web UI instead of editing labels or YAML
  • Create and reuse middlewares like redirects, auth, headers, and rate limits
  • View TLS certificates, expiration dates, and troubleshoot issues
  • Access logs and basic monitoring in the browser
  • Back up and restore your configuration
  • Secure the UI with OIDC and TOTP

Why I think Traefik Manager matters in a home lab

I think a lot of home labbers, especially those that are just beginning, are intimidated by Traefik. It is definitely not as user friendly as something like Nginx Proxy Manager from the start. I have definitely strongly recommended NPM in the past for those that are starting into their self-hosting journey and want to stand up a reverse proxy for SSL termination, etc.

Nginx Proxy Manager makes this a process of simply point and clicking your way through setting up your Proxy and SSL certs. With Traefik, there are more moving parts and pieces, like editing Docker labels, modifying configuration files, restarting services, and the logs are a bit more complicated to deal with.

I think a UI that is bolted onto Traefik can make that experience much better. Instead of you editing config YAML, you can add routes in just a couple of seconds, attach middleware, visualize your routing config, and also more quickly identify misconfigurations.

For me this is something that really works well with how I manage and configure other parts of my home lab. I like using tools like this that can help you get better visibility and speed in your management and configuration.

How Traefik manager works

Traefik Manager works by interacting with Traefik’s API and dynamic configuration system. Note the following overview diagram of how Traefik Manager “talks” to Traefik:

Traefik manager architecture
Traefik manager architecture

Things you need to have configured on the Traefik side

For Traefik Manager to work properly, your Traefik instance needs a few things enabled.

Here is a simplified example:

api:
dashboard: true
insecure: trueproviders:
docker:
exposedByDefault: falseentryPoints:
web:
address: ":80"
websecure:
address: ":443"

In a production or internet exposed environment, you should not leave the API insecure. Instead, secure it using authentication or limit access to internal networks.

Installing Traefik Manager with Docker compose

Let’s look at how to install Traefik Manager using Docker compose and see how we can stand it up in our environment.

Here is a basic example to get you up and running.

services:
  traefik-manager:
    image: ghcr.io/chr0nzz/traefik-manager:latest
    container_name: traefik-manager
    restart: unless-stopped
    ports:
      - "5000:5000"
    environment:
      - TM_TRAEFIK_URL=http://traefik:8080
    volumes:
      - ./data:/app/data

A few important notes about this configuration:

  • TM_TRAEFIK_URL should point to your Traefik API endpoint
  • Make sure Traefik API is enabled in your Traefik configuration
  • Persist the /app/data directory so your configuration is not lost

Once you have your compose file ready, you can bring it up with:

docker compose up -d
Bringing up the traefik manager docker compose stack
Bringing up the traefik manager docker compose stack

After that, you should be able to access the UI at:

http://your-server-ip:5000

Setup wizard after bringing up the container

There is a short setup wizard that you will see when you bring up the Traefik Manager container. When you browse out to the address of your container host port 5000, login with the password provided in the logs for Traefik Manager. Then, you will see the following workflow. Click the Get started button.

Welcome to traefik manager setup workflow
Welcome to traefik manager setup workflow

The first box has you input the connection and domains information.

Connection and domains configuration
Connection and domains configuration

Next, you can configure a self-route to allow Traefik to route traeffic to this Traefik Manager instance. It creates a new YAML file in your config directory called traefik-manager-self.yml.

Configuring a self route to traefik manager
Configuring a self route to traefik manager

Next, you can configure optional monitoring. Here we can enable extra views for deeper insights into Traefik configuration. These are optional.

Configuring optional monitoring with traefik manager
Configuring optional monitoring with traefik manager

Next, we are asked to change the admin password to something permanent. So, we don’t keep the autogenerated password in the docker logs long. We get it set at the end of the setup wizard.

Setting a new admin password
Setting a new admin password

Once you set the password, you are taken to the default dashboard.

The default dashboard in traefik manager
The default dashboard in traefik manager

Adding routes and middleware

Once you have Traefik Manager up and running, adding routes and Middleware are just a few clicks operation. Below, you can see the configuration dialog box after clicking to Add Route.

Adding a route to traefik using the traefik manager
Adding a route to traefik using the traefik manager

Below is adding middleware using the Traefik Manager. You will see a “Template” dropdown that has a whole list of predefined templates you can readily use in your configuration.

Adding middlewares using traefik manager
Adding middlewares using traefik manager

Pros and cons

Below are a few of the pros and cons to think about when using the Traefik Manager in your environment. It isn’t perfect, but definitely has benefits:

ProsCons
Makes Traefik much easier to manageAdds another service to manage
Reduces manual YAML editingStill a relatively new project
Provides visibility into routes and certificatesDepends on Traefik API being accessible
Speeds up troubleshootingMay not replace advanced configuration use cases
Adds backup and restore capabilitiesCan be confusing to setup with the configuration
Supports modern authentication methods

Wrapping up

After testing out Traefik manager, I can say that it definitely feels like something that should have been there a long time ago. We all like managing using a GUI as it gives us a quick and easy way to look over everything at a very high level. I think it allows Traefik to still maintain all the strengths that it has in terms of infrastructure as code, but adds the right GUI that allows us to manage things the way that makes sense as well. How about you? Do you run Traefik in your home lab? Is this something that you would consider testing out?

Google
Add as a preferred source on Google

Google is updating how articles are shown. Don’t miss our leading home lab and tech content, written by humans, by setting Virtualization Howto as a preferred source.

About The Author

Brandon Lee

Brandon Lee

Brandon Lee is the Senior Writer, Engineer and owner at Virtualizationhowto.com, and a 7-time VMware vExpert, with over two decades of experience in Information Technology. Having worked for numerous Fortune 500 companies as well as in various industries, He has extensive experience in various IT segments and is a strong advocate for open source technologies. Brandon holds many industry certifications, loves the outdoors and spending time with family. Also, he goes through the effort of testing and troubleshooting issues, so you don't have to.

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments