Independent testing Updated April 2026 387 self-hosting guides 5 VPS providers tested

guide

How to Self-Host Traefik on a VPS (Complete Guide)

A complete guide to self-hosting Traefik on a VPS: install, configure, and secure Traefik step by step, with recommended specs and common gotchas.

How to Self-Host Traefik on a VPS (Complete Guide)

Traefik is a modern reverse proxy and load balancer that makes deploying microservices easy. When combined with Docker, it becomes a powerful tool for managing traffic to your self-hosted applications on a VPS. In this guide, you will learn how to self-host Traefik on a VPS, specifically focusing on the installation process and basic configurations.

Step 1: Choose a VPS Provider

Before you begin, you need to select a VPS provider. Here are some top options that cater to developers and homelabbers:

ProviderPriceFeaturesLink
Contabo VPS5.99 EUR/mo200 GB SSD, 8 GB RAM, 3 coresContabo
Hetzner Cloud4.15 EUR/moFlexible plans, great performance, scalableHetzner
DigitalOcean6 USD/moSimple interface, excellent documentationDigitalOcean
Vultr6 USD/mo100% SSD, multiple locationsVultr
Linode5 USD/moHigh-performance SSD, robust APILinode

You can find a full VPS comparison at selfhostvps.com/en/best/.

Step 2: Set Up Your VPS Instance

Once you have selected your VPS provider, create a new instance with the following specifications:

Connect to your server using SSH:

ssh user@your_vps_ip

Replace user with your username and your_vps_ip with the actual IP address.

Step 3: Install Docker

You need Docker to run Traefik. Run the following commands to install Docker:

sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install -y docker-ce

Verify Docker installation:

docker --version

Step 4: Install Docker Compose

Docker Compose is vital for managing multi-container Docker applications. Install it with:

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Check the version to confirm installation:

docker-compose --version

Step 5: Configure Traefik

Create a directory for your Traefik setup and navigate into it:

mkdir traefik && cd traefik

Inside the traefik directory, create a docker-compose.yml file:

version: "3.7"

services:
  traefik:
    image: "traefik:v2.5"
    command:
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--entrypoints.web.address=:80"
    ports:
      - "80:80"     # HTTP
      - "8080:8080" # Traefik Dashboard
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"

Step 6: Start Traefik

Run the following command in the traefik directory to start your Traefik service:

docker-compose up -d

You can access the Traefik dashboard at http://your_vps_ip:8080.

Step 7: Adding Your Applications

To route traffic through Traefik, you need to label your Docker containers.

For example, if you have a web application running in a container, modify its docker-compose.yml with the following labels:

version: '3.7'

services:
  myapp:
    image: your-app-image
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.myapp.rule=Host(`yourdomain.com`)"
      - "traefik.http.services.myapp.loadbalancer.server.port=80"

Make sure to replace your-app-image with the Docker image of your application and yourdomain.com with your actual domain.

Common Queries About Self-Hosting Traefik

1. Is Traefik suitable for small applications?

Yes, Traefik is highly flexible and can scale from small to large applications with ease. Its ability to automatically configure routes based on Docker labels makes it ideal for developers hosting multiple applications on a VPS. This can improve your workflow while managing application traffic. Additionally, its built-in dashboard allows for easy monitoring, making it convenient for smaller setups without the complexity of larger solutions.

2. How secure is Traefik for production environments?

Traefik is designed with security in mind, offering features such as HTTPS support through Let’s Encrypt integration. When properly configured, it provides secure communication channels. However, ensure to use strong authentication measures for the dashboard and secure your network settings. Regular updates from the Traefik team also help to protect against vulnerabilities.

3. Can I use Traefik with other orchestration tools?

Absolutely! Traefik is not limited to Docker. It can also work seamlessly with Kubernetes, Docker Swarm, and other orchestration tools. This flexibility allows developers accustomed to these ecosystems to integrate Traefik without major changes. When used in Kubernetes, it can manage the ingress resources, simplifying the routing of external traffic to the services running inside the cluster.

In conclusion, self-hosting Traefik on a VPS is a straightforward process when broken down into clear steps. By utilizing Docker, you not only benefit from a user-friendly interface for your applications but also gain an efficient way to manage traffic with flexibility. Happy self-hosting!