5.7 KiB
5.7 KiB
Устанавливаю Traefik на туречский сервер
ssh igor@156.244.31.209 -p 2200
Установка Traefik на Linux Mint / Ubuntu
📥 Шаг 1. Установка зависимостей
Убедитесь, что установлены wget и systemd:
sudo apt update &&
sudo apt install wget
📥 Шаг 2. Скачать последнюю версию Traefik
Проверь актуальную версию на: Traefik Releases
Пример для версии v3.0.0:sudo mc
cd ~ &&
wget https://github.com/traefik/traefik/releases/download/v3.3.4/traefik_v3.3.4_linux_amd64.tar.gz
📥 Шаг 3. Распаковка и установка
cd ~ &&
tar -xvzf traefik_v3.3.4_linux_amd64.tar.gz &&
sudo mv traefik /usr/local/bin/
Проверь версию:
traefik version
Version: 3.3.4
Codename: saintnectaire
Go version: go1.23.6
Built: 2025-02-25T10:11:01Z
OS/Arch: linux/amd64
📁 Шаг 4. Создание директории и базового конфига
sudo mkdir -p /etc/traefik &&
cd /etc/traefik
Пример traefik.yml
cd /etc/traefik &&
sudo tee /etc/traefik/traefik.yml > /dev/null <<'EOF'
entryPoints:
web:
address: ":80"
http:
redirections:
entryPoint:
to: websecure
scheme: https
permanent: true
websecure:
address: ":443"
traefik:
address: ":8080"
api:
dashboard: true
insecure: true
providers:
file:
filename: "/etc/traefik/dynamic.yml"
# Настройка сертификатов (пример с Let's Encrypt)
certificatesResolvers:
myresolver:
acme:
email: "irigm@mail.ru"
storage: "/etc/traefik/acme.json"
httpChallenge:
entryPoint: web
log:
level: DEBUG
EOF
Пример dynamic.yml
cd /etc/traefik &&
sudo tee /etc/traefik/dynamic.yml > /dev/null <<'EOF'
http:
routers:
dashboard:
entryPoints:
- traefik
rule: "Host(`localhost`)"
service: api@internal
geovizor-api-zones:
rule: "Host(`geovizor.top`) && PathPrefix(`/api/v1/servers/localhost/zones/`)"
service: top_geovizor_api_zones_v01
entryPoints:
- websecure
tls:
certresolver: myresolver
geovizor-default:
rule: "Host(`geovizor.top`)"
service: top_geovizor_default
entryPoints:
- websecure
tls:
certresolver: myresolver
services:
top_geovizor_api_zones_v01:
loadBalancer:
servers:
- url: "http://156.244.31.209:8081"
healthCheck:
path: "/"
interval: "5s"
# Бэкенд по умолчанию top_geovizor
top_geovizor_default:
loadBalancer:
servers:
- url: "http://127.0.0.1:8082"
healthCheck:
path: "/"
interval: "5s"
# Определяем транспорт для отключения проверки SSL
serversTransports:
insecureTransport:
insecureSkipVerify: true
# Добавляем сертификаты
tls:
certificates:
EOF
Для хранения сертификатов файл:
sudo touch /etc/traefik/acme.json &&
sudo chmod 600 /etc/traefik/acme.json
⚙️ Шаг 5. Настройка systemd для автозапуска
Создайте файл сервиса:
cd /etc/systemd/system &&
sudo tee /etc/systemd/system/traefik.service > /dev/null <<'EOF'
[Unit]
Description=Traefik
After=network.target
[Service]
ExecStart=/usr/local/bin/traefik --configFile=/etc/traefik/traefik.yml
Restart=always
[Install]
WantedBy=multi-user.target
EOF
Примените:
sudo systemctl daemon-reload &&
sudo systemctl enable traefik &&
sudo systemctl start traefik &&
sudo systemctl status traefik
sudo systemctl restart traefik
🔎 Шаг 6. Проверка работы
Откройте в браузере:
open http://localhost:8080/dashboard/
⚠️ Доступ к дашборду открыт только с localhost. Для удалённого доступа настройте правила.
✅ Готово!
Traefik установлен, запущен как сервис и готов к работе.
Проверяем какие порты слушает:
sudo lsof -i -P -n | grep traefik
sudo journalctl -u traefik -f
🐳 Как вариант можно установить через Docker
Если Docker не установлен, установим его:
sudo apt update && sudo apt upgrade -y
sudo apt install -y docker.io docker-compose
sudo systemctl enable --now docker
Проверим версию:
docker --version
docker-compose --version
sudo mkdir -p /opt/traefik
cd /opt/traefik
cd /opt/traefik &&
sudo tee docker-compose.yml > /dev/null <<'EOF'
services:
traefik:
image: traefik:latest
container_name: traefik
restart: unless-stopped
ports:
- "80:80" # HTTP
- "443:443" # HTTPS
- "8080:8080" # Dashboard
volumes:
- /etc/traefik:/etc/traefik
- /var/run/docker.sock:/var/run/docker.sock:ro
command:
- "--configFile=/etc/traefik/traefik.yml"
networks:
- traefik-net
networks:
traefik-net:
driver: bridge
EOF
Запуск контейнера
cd /opt/traefik &&
sudo docker-compose up -d
cd /opt/traefik &&
sudo docker-compose down
Откройте в браузере:
open http://192.168.200.85:8080/dashboard/
sudo docker logs traefik