如何在 Rocky Linux 上安装和使用 OliveTin¶
简介¶
您是否厌倦了一遍又一遍地输入相同的 CLI 命令?您是否曾希望您家里的每个人都能在您不干预的情况下重启 Plex 服务器?您是否只想在 Web 面板中输入一个名称,按下一个按钮,然后看着一个定制的 Docker/LXD 容器神奇地出现?
那么您可能想了解一下 OliveTin。OliveTin literally 只是一个应用程序,允许您根据配置文件生成一个网页,该网页带有按钮。按下按钮,OliveTin 将运行您自己设置的预设 bash 命令。
当然,如果您拥有足够的编程经验,理论上可以从头开始创建类似的东西……但这要容易得多。设置好后,它看起来大致是这样的(图片来自 OliveTin 仓库)
切勿在公共服务器上运行此应用程序
此应用程序的设计和创建者的说法都是如此,它旨在用于本地网络,可能也用于开发环境。但是,它目前没有用户身份验证系统,并且(在开发者修复之前)默认以 root 身份运行。
所以,是的,您可以在安全且已防火墙保护的网络上随意使用它。不要将其放在任何面向公众的设备上。目前是这样。
先决条件和假设¶
遵循本指南,您将需要
- 一台运行 Rocky Linux 的计算机
- 对命令行有基本的了解或经验。
- Root 权限,或使用 `sudo` 的能力。
- 学习 YAML 的基础知识。这并不难,您将在下面掌握它。
安装 OliveTin¶
OliveTin 包含预构建的 RPM 包。只需在此处下载最新版本以供您的架构使用,然后进行安装。如果您正在带有图形桌面的工作站上遵循本指南,只需下载文件并在您选择的文件管理器中双击它。
如果您要在一台服务器上安装此应用程序,那么您可以在您的工作机器上下载它,并通过 SSH/SCP/SFTP 上传它,或者做一些人说不要做的事情,那就是使用 `wget` 下载它。
例如
wget https://github.com/OliveTin/OliveTin/releases/download/2022-04-07/OliveTin_2022-04-07_linux_amd64.rpm
然后使用(同样,仅作示例)安装应用程序
sudo rpm -i OliveTin_2022-04-07_linux_amd64.rpm
OliveTin 可以作为一个普通的 `systemd` 服务运行,但暂时不要启用它。您需要先设置配置文件。
注意
经过一些测试,我确定这些相同的安装说明在 Rocky Linux LXD 容器中也能很好地工作。对于喜欢 Docker 的人来说,也有预构建的镜像可用。
配置 OliveTin 操作¶
OliveTin 可以执行 bash 可以做的任何事情,甚至更多。您可以使用它来运行带 CLI 选项的应用程序、运行 bash 脚本、重启服务等。要开始,请使用您选择的文本编辑器以 root/sudo 权限打开配置文件
sudo nano /etc/OliveTin/config.yaml
最基本的操作类型是一个按钮;您单击它,命令就会在主机上运行。您可以在 YAML 文件中这样定义它
actions:
- title: Restart Nginx
shell: systemctl restart nginx
您还可以为每个操作添加自定义图标,就像使用 unicode emoji 一样
actions:
- title: Restart Nginx
icon: "F504"
shell: systemctl restart nginx
我不会详细介绍所有自定义选项,但您还可以使用文本输入和下拉菜单为要运行的命令添加变量和选项。如果您这样做,OliveTin 将在命令运行前提示您输入。
通过这样做,您可以运行任何程序,使用 SSH 控制远程计算机,触发 Webhooks,等等。有关更多想法,请查看官方文档。
但这里有一个我自己的例子:我有一个个人脚本,用于生成预装了 Web 服务器的 LXD 容器。使用 OliveTin,我能够快速为该脚本创建一个 GUI,如下所示
actions:
- title: Build Container
shell: sh /home/ezequiel/server-scripts/rocky-host/buildcontainer -c {{ containerName }} -d {{ domainName }} {{ softwarePackage }}
timeout: 60
arguments:
- name: containerName
title: Container Name
type: ascii_identifier
- name: domainName
title: Domain
type: ascii_identifier
- name: softwarePackage
title: Default Software
choices:
- title: None
value:
- title: Nginx
value: -s nginx
- title: Nginx & PHP
value: -s nginx-php
- title: mariadb
value: -s mariadb
前端看起来是这样的(是的,OliveTin 有黑暗模式,而且我确实需要更改那个图标)
启用 OliveTin¶
一旦您的配置文件按您想要的方式构建好,只需使用以下命令启用并启动 OliveTin
sudo systemctl enable --now OliveTin
每次编辑配置文件后,都需要按照常规方式重启服务
sudo systemctl restart OliveTin
结论¶
OliveTin 是一个非常好的工具,可以运行从 bash 命令到一些相当复杂的操作的脚本。请记住,默认情况下所有内容都以 root 身份运行,除非您在 shell 命令中使用 su/sudo 来更改该特定命令的用户。
因此,您应该谨慎设置整个过程,特别是如果您计划(例如)授予家人访问权限来控制家庭服务器和电器等。
再次强调,除非您准备好自行保护页面,否则不要将其放在公共服务器上。
否则,尽情享受吧。它是一个很棒的小工具。
作者:Ezequiel Bruni
贡献者:Steven Spencer, Ganna Zhyrnova