DEV Community

Marco
Marco

Posted on • Originally published at blog.disane.dev

Migrating from Nginx Proxy Manager to Traefik 🚀

Migration from Nginx Proxy Manager to Traefik: What you need to consider and what the benefits are. Discover the differences and advantages! 🚀


If you are migrating from Nginx Proxy Manager to Traefik, you are facing an exciting task that can bring many improvements to your infrastructure. While Nginx Proxy Manager is a proven solution for routing HTTP(S) traffic, Traefik offers a more modern and flexible alternative, especially for dynamic environments such as Docker- or Kubernetes-based systems.

This is exactly what I did recently and would like to show you the benefits it brings.

Preview image

Why the switch makes sense 🤔

Nginx Proxy Manager is ideal for users looking for a simple solution for reverse proxy and SSL management. It has a user-friendly web interface that allows you to conveniently manage domains, SSL certificates and services. For smaller projects and simple setups, it's an excellent choice. However, the more complex your environment becomes, the sooner you reach the limits of flexibility and scalability.

Traefik, on the other hand, has been specially developed for dynamic environments. It is natively capable of interacting with Docker, Kubernetes, Consul and other orchestration solutions, and can automatically perform routing configurations as new services are brought up. This eliminates the need for manual configuration adjustments and makes it particularly interesting if you run many container services. You no longer have to manually enter IP addresses for new services, Traefik simply does this for you automatically.

Traefik also offers an API that you can access to automate things.

Preview image

Important aspects when migrating ⚙️

If you want to switch from Nginx Proxy Manager to Traefik, there are a few points you should keep in mind to ensure a smooth migration.

SSL management and Let's Encrypt certificates 🔐

Nginx Proxy Manager offers an easy way to manage SSL certificates via the web interface, especially with Let's Encrypt. Traefik also integrates Let's Encrypt natively and offers similar automation. However, with Traefik, certificate management is done via its dynamic configuration. You must ensure that you set the correct labels in the Docker containers or the corresponding annotations in Kubernetes in order to obtain SSL certificates for your domains.

Example of Docker labels

labels:
  - "traefik.http.routers.my-app.rule=Host(`my-domain.com`)"
  - "traefik.http.routers.my-app.tls=true"
  - "traefik.http.routers.my-app.tls.certresolver=myresolver"

Enter fullscreen mode Exit fullscreen mode

Preview image

Dynamic Service Discovery 🔍

One of the main advantages of Traefik over Nginx Proxy Manager is the dynamic service discovery. Traefik actively monitors your Docker or Kubernetes environment and automatically creates routing rules when new containers or pods are started. This is particularly useful if you run many microservices, as you no longer need to write static proxy configurations. Instead, Traefik does this work for you automatically.

With Traefik, the setup for Docker containers looks very simple once they are configured with the right labels. As soon as a new service starts up, Traefik immediately recognizes it and makes sure it is available under the right domain.

Preview image

Authentication and security 🔒

Nginx Proxy Manager offers you options to use basic authentication (Basic Auth) or integrated OAuth solutions such as Google OAuth. Traefik also supports this, often in a deeper and more flexible way. It allows you to add custom middlewares, such as authentication mechanisms, IP whitelisting or rate limiting.

An example of configuring a middleware in Traefik:

middlewares:
  my-auth:
    basicAuth:
      users:
        - "admin:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/"

Enter fullscreen mode Exit fullscreen mode

This allows you to ensure, for example, that sensitive services are only accessible after entering a password.

Integration with monitoring and logging 📊

Another big advantage of Traefik is its close integration with monitoring tools such as Prometheus or Grafana. While you often have to manually integrate additional solutions with the Nginx Proxy Manager, Traefik offers out-of-the-box support for metrics and extended logs. This makes it easier for you to keep an eye on the performance of your services and quickly identify problems.

Preview image

Advantages-of-traefik-versus-nginx-proxy-manager 🌟

Automatic certificate renewal and management 📜

Traefik takes over the complete management of your SSL certificates via Let's Encrypt, even for multiple domains at the same time. This runs in the background without your intervention. This means that you no longer have to manually renew or reissue certificates, which saves you a lot of effort.

Easier scalability 📈

Since Traefik was developed specifically for containerized and dynamic environments, it scales much better as your infrastructure grows. With Nginx Proxy Manager, you would have to manually add every new domain and every new service. With Traefik, all you have to do is start the service - Traefik automatically recognizes it and makes it available under the desired domain. That was one of the main reasons for me to switch.

Seamless integration with Docker and Kubernetes 🐳

One clear advantage of Traefik is its native integration with Docker and Kubernetes. While the Nginx Proxy Manager requires manual configuration, Traefik runs directly in these environments and dynamically adjusts its routing configurations without you having to do anything. Especially with a large number of services or an environment that changes frequently, this is a huge advantage.

Modern routing with middleware 🛠️

Traefik offers a variety of middleware options that make the routing of your services more flexible and secure. For example, you can configure authentication mechanisms, rate limiting or caching directly in Traefik, which offers you additional layers of security and performance.

Preview image

Better support for different protocols 🔄

Traefik supports a variety of protocols, not just HTTP and HTTPS. You can also easily run websockets, gRPC and TCP services with Traefik, which Nginx Proxy Manager does not offer in this depth. This makes it the ideal choice for more modern applications that use multiple protocols simultaneously.

Conclusion 🎉

Migrating from Nginx Proxy Manager to Traefik brings you many benefits, especially if you work in a dynamic environment where services change frequently. Traefik is more flexible, scales better and offers a variety of modern features that make it easier for you to manage your services. If you plan the switch carefully, you will quickly realize that it is worth it in the long run.

Traefik not only offers you the opportunity to make your infrastructure more flexible, but also ensures more automation and less manual intervention. Especially with growing environments or more complex routing and security requirements, it will save you a lot of work.


If you like my posts, it would be nice if you follow my Blog for more tech stuff.

Top comments (0)