Skip to content
Get your own services running - within just a few minutes and with automatic SSL.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Traefik reverse proxy with backend services

Get your own services running - within just a few minutes and with automatic SSL.

This project uses Docker and traefik as automatic SSL proxy with auto-redirect from http to https in front of a flexible infrastructure of backend services, like this one:


How to use


  • Hardware: a computer (localhost) or a server with a public domain pointing to that server, i.e. in the DNS zone file of the Domain, the A record must contain the IP address of the server.
  • Software: docker, docker-Compose and git (all latest) must be installed.

Step 1/2: Start up frontend proxy

  • Clone this repo by running:

    git clone

  • Go into folder frontend-traefik, create empty file acme.json as store for SSL certificate data, and set correct permissions by running:

    cd frontend-traefik && touch traefik-conf/acme.json && chmod 600 traefik-conf/acme.json

  • Customize the config file traefik-conf/traefik.toml to your environment. Change domain and email. Use localhost as domain if you use a local machine.

  • Create docker network for the proxy:

    docker network create proxy

  • Start traefik:

    docker-compose up -d

  • Now continue with starting up at least one backend service in next section "Step 2/2". Don't worry about SSL. Traefik will automatically issue a valid SSL certificate from Let's encrypt. If you run on localhost, traefik will issue a self-signed cert. In that case, some browsers will ask you to accept this self-signed cert before you can access the services.

Step 2/2: Start up backend services

  • Go into a folder of the backend services and follow the specific README. The service backend-whoami is a simple first service to start with.


Thanks to firecyberice for the basic architectural idea of this deployment and baez90 for providing a working example!

Support this project

If you want this project to get better, support me with a few cents:

Donate using Liberapay


The project is licensed unter the GPLv3.

Copyright (C) Mathias Renner

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

See fore more information.

You can’t perform that action at this time.