+
This commit is contained in:
285
Traefik_install_CCALM.md
Normal file
285
Traefik_install_CCALM.md
Normal file
@ -0,0 +1,285 @@
|
||||
# Устанавливаю Traefik на туречский сервер
|
||||
|
||||
```sh
|
||||
ssh igor@156.244.31.209 -p 2200
|
||||
```
|
||||
|
||||
# Установка Traefik на Linux Mint / Ubuntu
|
||||
|
||||
## 📥 Шаг 1. Установка зависимостей
|
||||
Убедитесь, что установлены `wget` и `systemd`:
|
||||
```sh
|
||||
sudo apt update &&
|
||||
sudo apt install wget
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📥 Шаг 2. Скачать последнюю версию Traefik
|
||||
Проверь актуальную версию на: [Traefik Releases](https://github.com/traefik/traefik/releases)
|
||||
|
||||
Пример для версии `v3.0.0`:sudo mc
|
||||
```sh
|
||||
cd ~ &&
|
||||
wget https://github.com/traefik/traefik/releases/download/v3.3.4/traefik_v3.3.4_linux_amd64.tar.gz
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📥 Шаг 3. Распаковка и установка
|
||||
```sh
|
||||
cd ~ &&
|
||||
tar -xvzf traefik_v3.3.4_linux_amd64.tar.gz &&
|
||||
sudo mv traefik /usr/local/bin/
|
||||
```
|
||||
|
||||
Проверь версию:
|
||||
```sh
|
||||
traefik version
|
||||
```
|
||||
|
||||
```conf
|
||||
Version: 3.3.4
|
||||
Codename: saintnectaire
|
||||
Go version: go1.23.6
|
||||
Built: 2025-02-25T10:11:01Z
|
||||
OS/Arch: linux/amd64
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📁 Шаг 4. Создание директории и базового конфига
|
||||
```sh
|
||||
sudo mkdir -p /etc/traefik &&
|
||||
cd /etc/traefik
|
||||
```
|
||||
|
||||
### Пример `traefik.yml`
|
||||
```sh
|
||||
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`
|
||||
```sh
|
||||
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
|
||||
```
|
||||
|
||||
Для хранения сертификатов файл:
|
||||
```sh
|
||||
sudo touch /etc/traefik/acme.json &&
|
||||
sudo chmod 600 /etc/traefik/acme.json
|
||||
```
|
||||
|
||||
|
||||
---
|
||||
## ⚙️ Шаг 5. Настройка systemd для автозапуска
|
||||
Создайте файл сервиса:
|
||||
```sh
|
||||
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
|
||||
```
|
||||
|
||||
|
||||
Примените:
|
||||
```sh
|
||||
sudo systemctl daemon-reload &&
|
||||
sudo systemctl enable traefik &&
|
||||
sudo systemctl start traefik &&
|
||||
sudo systemctl status traefik
|
||||
```
|
||||
|
||||
```sh
|
||||
sudo systemctl restart traefik
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔎 Шаг 6. Проверка работы
|
||||
Откройте в браузере:
|
||||
```sh
|
||||
open http://localhost:8080/dashboard/
|
||||
```
|
||||
|
||||
> ⚠️ Доступ к дашборду открыт только с localhost. Для удалённого доступа настройте правила.
|
||||
|
||||
---
|
||||
|
||||
## ✅ Готово!
|
||||
Traefik установлен, запущен как сервис и готов к работе.
|
||||
|
||||
Проверяем какие порты слушает:
|
||||
```sh
|
||||
sudo lsof -i -P -n | grep traefik
|
||||
```
|
||||
|
||||
```sh
|
||||
sudo journalctl -u traefik -f
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
## 🐳 Как вариант можно установить через Docker
|
||||
|
||||
|
||||
Если Docker не установлен, установим его:
|
||||
```sh
|
||||
sudo apt update && sudo apt upgrade -y
|
||||
sudo apt install -y docker.io docker-compose
|
||||
sudo systemctl enable --now docker
|
||||
```
|
||||
Проверим версию:
|
||||
```sh
|
||||
docker --version
|
||||
docker-compose --version
|
||||
```
|
||||
|
||||
```sh
|
||||
sudo mkdir -p /opt/traefik
|
||||
cd /opt/traefik
|
||||
```
|
||||
|
||||
```sh
|
||||
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
|
||||
```
|
||||
|
||||
## Запуск контейнера
|
||||
```sh
|
||||
cd /opt/traefik &&
|
||||
sudo docker-compose up -d
|
||||
```
|
||||
```sh
|
||||
cd /opt/traefik &&
|
||||
sudo docker-compose down
|
||||
```
|
||||
|
||||
Откройте в браузере:
|
||||
```sh
|
||||
open http://192.168.200.85:8080/dashboard/
|
||||
```
|
||||
|
||||
```sh
|
||||
sudo docker logs traefik
|
||||
```
|
||||
Reference in New Issue
Block a user