Self-hosting. Traefik

Многофункциональный реверс прокси со сложной системой динамических и статических настроек. Имеет большое количество примеров и различных интеграций. Предназначен в первую очередь для использования в динамических системах на базе docker контейнеров.

Основные настройки проксирования выполняются на уровне конкретного контейнера с использованием меток.

Сайт проекта: Traefik Labs: Say Goodbye to Connectivity Chaos

Репозиторий: GitHub - traefik/traefik: The Cloud Native Application Proxy

Документация: Traefik Proxy Documentation - Traefik

Пример docker файла:

type: docker-compose
tags:
aliases: Traefik docker cpmpose
program: Traefik
modified: 2025-05-05T18:23:28+03:00
МОС:

    • Docker Compose
      dg-publish: true

Обязательно надо настроить файлы конфигурации [[Хобби/Конфиги/Traefik|Traefik]]

services:
  traefik:
    image: traefik:latest
    container_name: traefik
    restart: always
    security_opt:
      - no-new-privileges:true
    networks:
      - proxy
    ports:
      - 80:80
      - 443:443
      - 8082:8082
      - 22:22
    environment:
      - CF_API_EMAIL=$CF_API_EMAIL
      - CF_DNS_API_TOKEN=$CF_DNS_API_TOKEN
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./traefik.yml:/traefik.yml:ro
      - ./acme.json:/acme.json
      - ./logs:/var/log/traefik
      - ./dynamic:/config:ro
networks:
  proxy:
    name: proxy
    external: true

Настройка прокси

Так же в папке /config размещаются файлы динамической конфигурации в которую вносятся все настройки проксирования.

[!idea]
Для удобной навигации в конфигурации применяются следующие правила именования:

  • _<name>.yml - служебный файл содержащий настройки промежуточного слоя middlewares
  • !out-<name>.yml - конфигурация приложения которое размещается в общем доступе из интернета. В нем отсутствует настройка ip-allow-list
  • <name>.yml - обычное приложение для внутренней сети

Используются два основных файла конфигурации:

  • acme.json - создается пустым и предназначен для хранения данных о сертификатах
  • traefik.yml - файл глобальных настроек, общие настройки применяемые ко всему серверу traefik

[!check] Примеры конфигураций:

  • [[Хобби/Конфиги/Traefik|Основные настройки]]
  • [[Traefik общий шаблон]]
  • [[Traefik ipAllowList]]
  • [[Traefik Crowdsec]]
  • [[Traefik Authentik]]
  • [[Traefik Nextcloud]]
  • [[Traefik Authentik базовая аутентификация]]
  • [[Traefik Remnaweve]]

[!warning]
Метки докера и динамическая конфигурация взаимоисключающие настройки. Надежнее использовать динамическую конфигурацию.


[!urls]- Упоминания:

  • [[Self-hosting программы]]
  • [[Сервер Gateway]]

[!description]- Примечание
Примечание:: Реверс прокси