Встановлення агента (systemd / Docker)
LAN-агент - це невеликий процес на Python, який працює на вашому Linux-пристрої у внутрішній мережі та перевіряє служби, недоступні з інтернету (внутрішній DNS, інтранет, ERP, NAS, принтери). Він звертається назовні через HTTPS, тому не потребує жодних відкритих портів усередину мережі.
Що вам знадобиться
- Будь-який Linux із доступом root (Debian, Ubuntu, Raspberry Pi OS, Fedora, Alma/Rocky, Arch, openSUSE, Alpine)
- Архітектура x86_64, aarch64 (Raspberry Pi 4/5), armv7l (Raspberry Pi 3) або armv6l (RPi Zero)
- Вихідне HTTPS-з'єднання до
epulz.io(порт 443) - Python 3.8 або новіший (якщо його немає, інсталятор додасть його з менеджера пакетів)
Агент займає приблизно 20 МБ ОЗП і в стані спокою менше ніж 1 % ЦП. Він також працює в контейнері LXC, у віртуальній машині (Proxmox, VMware) або в контейнері Docker. Окрім systemd він підтримує і OpenRC (Alpine).
1. Створіть агента та скопіюйте токен
- Відкрийте Панель - LAN-агенти.
- Введіть зрозумілу назву (наприклад, "Серверна Київ" або "RPi у магазині") і натисніть + Створити агента.
- Панель відобразить токен агента (
epulzio_...) та готові команди встановлення для копіювання.
2. Виконайте команду встановлення
На цільовому пристрої в терміналі (токен замініть своїм):
curl -fsSL https://epulz.io/install-agent.sh | sudo bash -s epulzio_ВАШ_ТОКЕН
Обережніший підхід (рекомендуємо під час першого встановлення): спершу завантажте скрипт і прочитайте його:
curl -fsSL https://epulz.io/install-agent.sh -o install-agent.sh
less install-agent.sh # прочитайте, що він робить (1 хв)
sudo bash install-agent.sh epulzio_ВАШ_ТОКЕН
Інсталятор автоматично:
- Розпізнає архітектуру та дистрибутив (apt / dnf / apk / pacman / zypper)
- Перевіряє наявність Python 3.8+ та утиліти
ping, за потреби встановлює їх - Тестує з'єднання з
epulz.io - Завантажує агента до
/opt/epulzio-agent/ - Створює службу
epulzio-agent(systemd, на Alpine - OpenRC) і запускає її - Вмикає автоматичний запуск під час перезавантаження системи
Уся інсталяція триває приблизно 30 секунд.
3. Переконайтеся, що агент працює
Стан служби на пристрої:
sudo systemctl status epulzio-agent
Ви маєте побачити active (running).
У Панель - LAN-агенти статус з'явиться протягом 30 секунд:
- онлайн - останній сигнал життя (heartbeat) надійшов менше ніж 2 хвилини тому
- позначка часу - останній heartbeat був 2-10 хвилин тому
- офлайн - останній heartbeat старший за 10 хвилин (сповіщення надходить уже після 5 хвилин тиші)
Варіант через Docker
Якщо у вас немає systemd (TrueNAS, Synology, Unraid, k3s) або ви надаєте перевагу контейнеру, скористайтеся командою з панелі:
docker run -d --name epulzio-agent --restart unless-stopped \
--network host \
-e EPULZIO_AGENT_TOKEN=epulzio_ВАШ_ТОКЕН \
python:3.12-alpine sh -c "apk add -q --no-cache iputils && wget -qO /agent.py https://epulz.io/static/agent/epulzio-agent.py && python /agent.py"
Параметр --network host важливий - агент має бачити вашу мережу LAN, а не лише внутрішній міст Docker. Під час кожного перезапуску контейнера завантажується актуальна версія агента.
macOS та Windows
Для macOS (10.15+, Intel та Apple Silicon):
curl -fsSL https://epulz.io/install-agent-macos.sh -o install-agent-macos.sh
sudo bash install-agent-macos.sh epulzio_ВАШ_ТОКЕН
Для Windows (10+ / Server 2016+, PowerShell від імені адміністратора):
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force
$env:EPULZIO_AGENT_TOKEN="epulzio_ВАШ_ТОКЕН"; iwr -useb https://epulz.io/install-agent.ps1 | iex
Усунення проблем
Інсталятор повідомляє "Missing agent token"
У команді відсутній токен. Запустіть її з токеном наприкінці: ... | sudo bash -s epulzio_ВАШ_ТОКЕН.
Інсталятор повідомляє "must run as root"
Запустіть її через sudo; root потрібен лише для встановлення (служба systemd, запис до /opt).
"Cannot reach epulz.io"
Пристрій не має вихідного HTTPS-з'єднання. Перевірте вручну командою curl https://epulz.io/health. Якщо не вдасться, перевірте брандмауер, DNS і NAT.
"Python 3.8+ required"
Дуже стара система. Оновіть дистрибутив або встановіть новіший Python (на Debian, наприклад, apt install python3.9 з backports).
"Neither systemd nor OpenRC detected"
Система без підтримуваної системи ініціалізації. Скористайтеся варіантом із Docker вище.
Агент залишається офлайн у панелі навіть через 2 хвилини
Перегляньте логи: sudo journalctl -u epulzio-agent -n 50.
Найчастіші причини: неправильно вставлений токен (перевірте, що його скопійовано повністю, включно з префіксом epulzio_), HTTPS заблоковано на брандмауері або неправильний системний час (перевірте його командою date - перевірка SSL-сертифіката потребує правильного часу).
Оновлення агента
Виконайте ту саму команду встановлення знову з тим самим токеном. Інсталятор перезапише файли в /opt/epulzio-agent/ і перезапустить службу, токен залишається дійсним.
Видалення
sudo systemctl stop epulzio-agent
sudo systemctl disable epulzio-agent
sudo rm -rf /opt/epulzio-agent /etc/systemd/system/epulzio-agent.service
sudo systemctl daemon-reload
У панелі додатково позначте агента як Revoked, щоб анулювати його токен.