Collection of cookbooks for Podman Quadlets
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Nicolas Massé cfe2a175e9 first draft of traefik integration tests with ACME! 2 weeks ago
..
config/examples first draft of traefik integration tests with ACME! 2 weeks ago
tests first draft of traefik integration tests with ACME! 2 weeks ago
Makefile reorganization 2 months ago
README.md first draft of traefik integration tests with ACME! 2 weeks ago
hooks.mk reorganization 2 months ago
overlay.bu reorganization 2 months ago
traefik.container put container images into a .image quadlet to pre-pull images before services start 1 month ago
traefik.image put container images into a .image quadlet to pre-pull images before services start 1 month ago
traefik.target first draft of traefik integration tests with ACME! 2 weeks ago

README.md

Podman Quadlet: Traefik

Overview

Traefik is a modern HTTP reverse proxy and load balancer started as a Podman Quadlet. It provides automatic service discovery, SSL termination, and routing.

This cookbook:

  • Runs Traefik as a rootless container with minimal privileges.
  • Supports automatic HTTPS with Let's Encrypt integration.
  • Includes health checks to monitor the service status.
  • Stores configuration in /etc/quadlets/traefik/ and state in /var/lib/quadlets/traefik/.
  • Supports automatic container image updates via Podman auto-update.

Configuration

The v3 version of Traefik expects the load its configuration from one (and only one) of the following sources:

  • A static configuration file (e.g. traefik.yaml) mounted into the /etc/traefik of the container.
  • TRAEFIK_* Environment variables.
  • Command-line arguments.

If you want to use a static configuration file, you can place it in /etc/quadlets/traefik/traefik.yaml and it will be mounted into the container. Since it is the default location for Traefik's configuration, no additional configuration is needed.

To use the environment variables, you can set them in the override.conf file for the container. That is to say, you can create the file /etc/containers/systemd/traefik.container.d/override.conf with the following content:

Environment=TRAEFIK_FOO=bar TRAEFIK_BAZ=qux ...

Regarding command-line arguments, you can create the file /etc/containers/systemd/traefik.container.d/override.conf with the following content:

EntryPoint=/usr/local/bin/traefik
Exec=--foo=bar --baz=qux ...

Usage

In a separate terminal, follow the logs.

sudo make tail-logs

Install the Podman Quadlets and start Traefik.

sudo make clean install

You should see the traefik.service starting up.

Verify Traefik is running:

curl -sSf -H 'Host: ping' http://127.0.0.1/

Access the Traefik dashboard (if enabled in configuration):

curl http://127.0.0.1:8080/dashboard/

Restart the traefik.target unit.

sudo systemctl restart traefik.target

Finally, remove the quadlets, their configuration and their data.

sudo make uninstall clean

Integration tests

sudo make test