Особенность OliveTin в том, что сделана красиво, аккуратно, удобно. Очевидно, что подобные задачи можно решать очень большим количеством способов. Например, когда мне нужно было отдать кому-то возможность запуска скриптов, я устанавливал Webmin и оказывал, куда там тыкать. В OliveTin это настроить проще и удобнее.
Сразу приведу примеры некоторых задач, которые можно решать с помощью OliveTin:
✅ Запуск какой-то личной инфраструктуры через WOL. Я, кстати, эту же задачу решаю через скрипты в Mikrotik. Подключаюсь к домашнему микроту и запускаю то, что мне нужно. Уже много лет так делаю. То же самое можно сделать через OliveTin. Это будет удобнее, если есть постоянно работающая виртуалка. У меня иногда выключено всё, поэтому Mikrotik мне подходит.
✅ Запуск скриптов на каком-то тестовом сервере, которые будут накатывать свежую версию исходников или базы данных. Можно настроить OliveTin, скрипты и отдать всё это дело разработчикам. Пусть сами актуализируют свой тестовый сервер.
✅ Можно настроить какой-то сервер в качестве тестового для проверки на нём бэкапов. Написать скрипты, которые будут забирать бэкапы и разворачивать их тут локально. Время от времени запускать это вручную и проверять результат. Как я уже писал ранее в заметках, я рекомендую время от времени вручную проверять свои бэкапы на возможность восстановления.
✅ Настроить дома веб панель для того, чтобы жена могла с одной страницы потушить различное оборудование дома. Не знаю, насколько это актуально для других, но у меня дома полно компов и ноутов, которые желательно на ночь выключать. Я это делаю через дашборд Zabbix Server сам. Писал об этом заметку. Если делегировать другим, то лучше использовать более простое и понятное решение, типа OliveTin.
В основном всё это актуально тогда, когда задачи нужно делегировать кому-то, кто не умеет, не хочет или ему не положено ходить в консоль. На работе можно каким-то помощникам скинуть рутину, дома домашним что-то настроить.
Установить OliveTin максимально просто. Есть пакеты, контейнеры, экзешники под все популярные системы и архитектуры. Полный список в репозитории. Показываю на примере Debian:
# wget https://github.com/OliveTin/OliveTin/releases/download/2024.09.11/OliveTin_linux_amd64.deb# dpkg -i OliveTin_linux_amd64.deb# systemctl start OliveTinМожно идти по ip адресу на порт 1337 и смотреть, как это выглядит. Там уже будут настроены полтора десятка различных действий для демонстрации возможностей. Можно быстро оценить как это всё выглядит.
Все настройки хранятся в директории /etc/OliveTin, в том числе в основном файле config.yaml. Формат конфига, как можно понять из названия, yaml. В нём уже присутствуют и хорошо прокомментированы все настроенные действия. По аналогии можно настраивать свои.
Вот пример для запуска локального скрипта:
- title: Run backup script
shell: /opt/backupScript.sh
shellAfterCompleted: "apprise -t 'Notification: Backup script completed' -b 'The backup script completed with code {{ exitCode}}. The log is: \n {{ output }} '"
maxConcurrent: 1
timeout: 10
icon: backup
popupOnStart: execution-dialogА вот для рестарта Docker контейнеров:
- title: Restart Docker Container
icon: restart
shell: docker restart {{ container }}
arguments:
- name: container
title: Container name
choices:
- value: plex
- value: traefik
- value: grafanaМожно выполнить что-то на удалённом сервере через подключение по SSH:
- title: Restart httpd on server1
id: restart_httpd
icon: restart
timeout: 1
shell: ssh -F /config/ssh/easy.cg root@server1 'service httpd restart'Думаю, логика понятна.
⇨ 🌐 Сайт / 4️⃣ Исходники / ▶️ Обзор
#управление
