网页秒变控制台!Docker一键部署OliveTin安全执行Shell命令

网页秒变控制台!Docker一键部署OliveTin安全执行Shell命令

兄弟们,有没有遇到过这种场景:半夜服务器抽风,你摸黑爬起来开电脑输命令?团队新人死活记不住复杂指令,每次都要你远程救火?今天二冰给大家安利个神器——OliveTin,让你在浏览器里点点按钮就能执行高危操作,妈妈再也不用担心我手抖输错rm -rf了!

项目简介

OliveTin(GitHub项目地址:github.com/OliveTin/Oli)是一款开源的Web化Shell命令执行平台。简单来说,它能把复杂的Linux命令封装成网页按钮,通过权限控制实现安全操作。比如:

  • • 一键重启服务器
  • • 定时获取系统状态
  • • 安全执行sudo命令

OliveTin操作界面

四大核心优势

  1. 1. 军工级安全:细粒度权限控制,杜绝越权操作
  2. 2. 小白也能玩:可视化按钮配置,告别命令行恐惧
  3. 3. 跨平台神器:Docker全平台兼容,NAS/树莓派都能跑
  4. 4. 审计无忧:完整操作日志记录,背锅侠终结者

Docker极速部署(Dockge版)

准备工作:在/docker/olivetin目录新建config.yaml(文末附配置模板)

# docker-compose.yaml
version: "3.8"
services:
  olivetin:
    image: jamesread/olivetin
    container_name: olivetin
    restart: unless-stopped
    ports:
      - "1337:1337"
    volumes:
      - ./config:/config:ro
    user: root  # 关键!解决权限问题
    privileged: true  # 允许执行sudo命令

部署步骤

打开Dockge面板 -> 创建堆栈 -> 设置堆栈名称 -> 粘贴compose代码 -> 30秒启动成功!

实战演示

场景1:监控服务器状态

- title: 检查系统负载
  shell: uptime && free -h
  icon: " "
  
- title: 磁盘空间监控
  shell: df -h | grep -v tmpfs
  icon: " "

场景2:安全重启服务

- title: 优雅重启Nginx
  shell: sudo systemctl restart nginx
  timeout: 30
  arguments:  # 需要二次确认
    - name: confirm
      type: confirm
      message: "确定要重启服务?"

点击按钮后实时查看执行日志:

命令执行日志

避坑指南

  1. 1. 权限问题:务必在compose中添加user: rootprivileged: true
  2. 2. SSH连接:推荐使用密钥认证,config.yaml示例:
- title: 远程备份
  shell: ssh -i /config/id_rsa user@host "tar -zcf /backup/$(date +%F).tar.gz /data"

总结

经过实测,OliveTin特别适合以下场景:
✅ 运维团队统一操作入口
✅ 外包人员受限权限操作✅ 家庭NAS的自动化管理

虽然初期配置需要熟悉YAML语法,但一旦部署完成简直就是效率神器!二冰给个综合评分:⭐⭐⭐⭐☆(4.5星),扣分点在于文档对docker部署的说明不够详细。想要解放双手的兄弟,赶紧部署起来吧!

如果觉得有用,欢迎点赞收藏评论走一波~

最后,奉上我的超级无敌至尊docker库,二冰平时玩过的docker都整理到了这个仓库中了,一直在更新中,希望有github账号的兄弟能去给点个star,不知道玩啥的,都去这里面找,都给你们分好类了
仓库链接:github.com/TWO-ICE/Awes