V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
zkw111
V2EX  ›  Linux

公司要开发一款类似宝塔的软件,大家提点意见

  •  1
     
  •   zkw111 · 331 天前 · 8920 次点击
    这是一个创建于 331 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题 公司可能要开一个新的产品线,做类似宝塔的软件,全部开源 最近看了宝塔、AMH 、Cockpit 等,感觉功能都大同小异 当然很多高手肯定是不用这些的,我们的目标用户就是小白和有这些需求的运维或者研发人员 想知道大家对这方面有什么需求 PS:我们的代码都会开源,企业版也主要是卖服务,会有几个企业用到的小功能收费,比如 LDAP 用户登陆之类的,核心功能肯定全部开源

    第 1 条附言  ·  101 天前

    内测开始了,有想体验的小伙伴可以扫下面的二维码入群 提示:内测版 BUG 较多,请酌情使用

    第 2 条附言  ·  80 天前
    1Panel 已经正式发布
    地址 :
    [github] https://github.com/1Panel-dev/1Panel
    [官网] https://1panel.cn/
    第 3 条附言  ·  22 天前
    78 条回复    2023-03-16 11:30:47 +08:00
    estk
        1
    estk  
       331 天前 via Android   ❤️ 6
    强制手机号登录吗?
    收集服务器信息吗?
    zkw111
        2
    zkw111  
    OP
       331 天前
    @estk 不会,我司有很多开源软件,没有一款需要手机号注册,全部都是可以离线安装.至于收集服务器信息更不可能了.
    Huelse
        3
    Huelse  
       331 天前
    全部采用最新的技术栈,不要破坏 linux 目录、软件包和用户结构,最好可单文件独立部署
    lavard
        4
    lavard  
       331 天前
    主要是是 UI 现代化 , 其他功能感觉哪个都大同小异
    imydou
        5
    imydou  
       331 天前
    建议你们看看 plesk cpanel
    zkw111
        6
    zkw111  
    OP
       331 天前
    @Huelse 应该会用 go 写,前端 vue3.0,容器化部署,用 agent 来操作服务器
    zkw111
        7
    zkw111  
    OP
       331 天前
    @imydou 好的
    xiaofan305
        8
    xiaofan305  
       331 天前
    个人看法,可以根据常用技术栈来设计,做到开箱即用。用宝塔大多数是 apache+php+mysql ,现在可能是 ngnix+php+mysql ,如果用这种技术栈,宝塔算得上好用。至于 java 技术栈和 docker ,也就是最近才有,用起来总感觉怪怪的,但也说不清怪在哪里,可能是我技术菜吧
    zkw111
        9
    zkw111  
    OP
       331 天前
    @xiaofan305 我感觉技术栈是其次,只要功能好用就行
    rekulas
        10
    rekulas  
       331 天前
    先赞
    结合宝塔优缺点提几点建议
    最好编译语言不用脚本以免后期投入更多精力在环境上,宝塔踩的环境坑都可以吹一晚上了,而且他们脚本语言还有性能问题-可能是统计等功能导致的
    登录入口最好更加隐蔽,宝塔的登录虽然有 path 但默认页面还是宝塔提示感觉不够隐私,毕竟面板程序也算隐私之一,我一般安装之后把常用路径都 502
    登录最好能结合手机(app 、小程序、非对称?)保存一份快捷登录方式,但你做的开源最好是可以去中心化的,举个例子,小程序将非对称密钥保存手机本地扫码即可登录不依赖任何中心服务器
    上 ssl 自动申请和分发功能-吐槽一句宝塔的 ssl 申请功能真的是没法用
    如果还能加上 mysql bin 解析 /回滚的话,那就真的是神器了-举个例子,开启 log 的情况下基于全备+binlog 将指定数据库回滚到指定时间点,虽然懂技术的手工也能操作,但操作起来很麻烦,而且用面板的用户小白非常多
    如果还能加上 binlog 分发的话,那就更完美了。。。例如基于 canal 分发给从节点、消息队列、es 。。。
    暂时想到这几点,等有新 idea 再来吹
    kingjpa
        11
    kingjpa  
       331 天前
    可以看下宝塔 本身就是开源的 python3 脚本
    zkw111
        12
    zkw111  
    OP
       331 天前
    @rekulas 感谢提的宝贵建议,我们会参考.等做起来了会邀请您试用
    imes
        13
    imes  
       331 天前 via Android   ❤️ 15
    我是 mdserver-web( https://github.com/midoks/mdserver-web)的参与者之一,项目是开源的宝塔替代品,已经有 1.2k stars 。简单的说几个踩过的坑:1. 不要用 Python 开发,最好 golang 一把梭,不然会存在无数个环境配置问题,极其消耗精力。2. 插件实现标准化开发,最好有个 github repo 等让别人提交规范化插件。3. 宝塔的 UI/UX 很值得参考,也久经用户考验。4. 给用户充分的选择权,不要按照开发者(特指写代码的人)的想法来,用户都是某种意义上的运维,不是 dev 。5. 开源,开源,还是 TMD 的开源!
    让我们一起干掉宝塔!
    zkw111
        14
    zkw111  
    OP
       331 天前
    @imes 老哥很棒,已 star.开源我们一定会坚持下去的
    zhengjianyang
        15
    zhengjianyang  
       331 天前
    我是宝塔的轻度使用者、感觉宝塔的问题也挺大的、经常服务崩溃、web 服务无法访问
    再就插件开发限制太多、官方插件挺多的功能都不提供接口、自己想省钱自己做都没法
    再就编辑器如果能用 vscode 就好了
    另外实名账户登录也烦人、可能是由于国内特殊的环境吧
    抛开这些不谈、感觉宝塔还是个不错的产品的
    lower
        16
    lower  
       331 天前
    别默认用 8888 端口……😂
    docx
        17
    docx  
       331 天前 via iPhone
    不要用 python ,不要破坏系统文件,宝塔装上就卸载不干净了,只能重装系统,真的头疼

    然后尽可能轻便,优化好性能占用
    weak
        18
    weak  
       331 天前 via iPhone
    我主要担心用宝塔的安全问题,虽然换了国际版
    kingjpa
        19
    kingjpa  
       331 天前
    @zhengjianyang 感觉是你使用问题,我维护着数十台服务器国内外都有,可以说从来都没有你说的经常服务崩溃,web 服务无法访问, 唯一有一台老是面板服务和 mysql 挂掉,是因为内存只有 512 。

    宝塔本身只是图形化工具,提供 web 服务本身的还是 nginx 、apache 自身,就算 web 服务挂掉和宝塔又有什么关系呢?
    Kaiyuan
        20
    Kaiyuan  
       331 天前 via iPhone
    会有图型化管理 Docker 吗?群晖的 Docker 套件 真的很好用。
    Bingchunmoli
        21
    Bingchunmoli  
       331 天前
    目前在用 https://oneinstack.com/auto/ 除了没有 GUI , 都挺好,java 能用,php 用的 php + nginx -> apache + mysql 自带了备份等脚本,并没有对系统和软件做了私有化变更(bt 神奇的 bug) 安全化及私有,我的电脑不允许第三方公司控制(例如我的 windows 可以被 360 随时查看等我就会跳脚)
    akira
        22
    akira  
       331 天前   ❤️ 1
    不大喜欢宝塔这种 实现方式,需要装一堆东西到服务器上面去 。
    类似 ansible 这样的工作模式,然后是有 ui 的,应该就完美了
    zx900930
        23
    zx900930  
       331 天前 via Android
    @Kaiyuan 不是吧...是 portainer 不好用了吗?
    MonoLogueChi
        24
    MonoLogueChi  
       331 天前 via Android   ❤️ 1
    建议别强制用户设置强安全规则,如果非要考虑安全问题,建议做一个一键关闭强制安全措施的功能。
    我最近在写一篇教程,要被宝塔的安全规则搞疯了,我只是部署在内网环境的测试机上,你非让我设置登录接口,用户名还要 3 个字母以上,然后这也不让搞,那也不让搞,我就简简单单搞个测试环境,你非让我搞个记不住的登录接口,再搞一个记不住的用户名,简直有病。再有就是,一直提示我设置的密码 123456 为弱密码,有风险,如果这玩意真有风险,你明文提示我密码不是风险更大?我搞不安全环境,就是快速搭建测试环境,搞完两天直接就重置了,不需要过于安全的配置,能把安全规则一键关闭是最省事的
    jiuhuicinv
        25
    jiuhuicinv  
       331 天前
    能离线使用
    jorneyr
        26
    jorneyr  
       330 天前
    例如银行、电信等大型企业内网都是和外网隔离的,他们也非常需要各种自动化的安装部署,我觉得可以瞄准离线部署升级等作为核心功能。
    小企业就别想从他们手里赚钱了,企业不赚钱是不道德的。
    wbrobot
        27
    wbrobot  
       330 天前
    @zkw111 别学 bt, 应该服务器装个 agent 或者都不用直接 ssh+key, 客户端在本地! 建议开源,我来给你贡献代码.
    ersic
        28
    ersic  
       330 天前 via Android
    @kingjpa 跟版本有关系,后面有的版本,面板连不上宝塔的服务器就会崩,所以最好用离线模式,但离线模式又用不了商店。
    lujiaosama
        29
    lujiaosama  
       330 天前
    持续关注. 宝塔确实不太爱用.
    FlyingShark
        30
    FlyingShark  
       330 天前
    @zkw111 用 go 写后端,那不就是 appnode 面板走过的路,推荐楼主先研究下 appnode ,取长补短
    zxcslove
        31
    zxcslove  
       330 天前
    尽量绿色化,对系统修改小,尽量不影响已安装的东西。
    对迁移友好,比如 [绿化.bat/卸载.bat] 那种模式。
    毕竟都是非专业运营单位用的多一点,还有很多人拿来在本机当测试环境用。
    Huelse
        32
    Huelse  
       330 天前
    @zkw111 #6 可以考虑向下兼容,几百兆内存的微机也能用,这样受众会大很多
    zkw111
        33
    zkw111  
    OP
       330 天前
    @wbrobot 好的
    zkw111
        34
    zkw111  
    OP
       330 天前
    @FlyingShark OK 我们会看的
    liuzhedash
        35
    liuzhedash  
       330 天前   ❤️ 1
    @jorneyr
    赞同。
    互联网时代,离线部署是个看起来没啥用,没做过的时候感觉不算难,实际用处很广,做起来很棘手的事。
    mengdodo
        36
    mengdodo  
       330 天前
    确实不要使用 python, 用 go 写至少编译后都差不多,那既然都用 go 了,为什么不再升级下用 rust 呢哈哈
    zkw111
        37
    zkw111  
    OP
       330 天前
    @liuzhedash 我们的产品都是可以在线离线部署的,毕竟需要交付去现场实施
    zkw111
        38
    zkw111  
    OP
       330 天前
    @mengdodo 哈哈哈 我为了做项目从 JAVA 转到 GO,现在再转 rust 力不从心啊
    zhengjianyang
        39
    zhengjianyang  
       330 天前
    @kingjpa 那可能你更轻度吧、或者点子正吧😄
    宝塔崩溃问题不是一天两天了、也不是我一个人会遇到
    就装了 nginx 、php 、mysql 、几个不大不小的站、指不定啥时候宝塔面板就打不开了、站点不影响可以正常打开
    挂几个站能有啥使用问题😄
    zhuangzhuang1988
        40
    zhuangzhuang1988  
       330 天前 via Android
    ui 一定要设计得漂亮,可以学下微软云的 ui 交互
    wonderfulcxm
        41
    wonderfulcxm  
       330 天前 via iPhone
    宝塔这种是面向小白用户的吧,有些根本不懂技术,v2ex 哥们的意见。技术上的可以听听,需求上可能截然不同。
    lemonda
        42
    lemonda  
       330 天前
    看下 ApisCP 。
    希望能考虑到系统升级回滚,比如要从一个旧的 PHP 版本一步步升上来时,很多系统一过了支持期就不方便升级了,前天遇到个 CentOS 6.5 上装了 LNMP 1.3 ,证书问题折腾了一下午没解决,干脆重装了。
    JoeoooLAI
        43
    JoeoooLAI  
       330 天前
    plesk cpanel 都用过一小段时间,感觉挺好的,面板作用就是简化环境搭建还有在维护和巡视上如果能做到可视化会比较方便。

    宝塔其实算是个不错的产品,但是频频搞些恶心事情出来。

    面板我认为受众相对来说还是比较广泛的,无非就是针对环境快速搭建,和后期维护更容易而已。其实不要老是觉得小白才会使用面板,敲一堆命令和望一眼 dashboard 就知道服务正不正常,反正我就选择更方便快捷的方式了。

    如果是打算面向企业,重点就是技术支持和口碑。
    flyqie
        44
    flyqie  
       330 天前 via Android   ❤️ 1
    正如楼上老哥所说,感觉你问错地方了。

    像这种面板,主力用户基本都是小白。

    你来 v2 问。。没啥意义啊,还不如去宝塔什么的论坛蹲点收集。
    Zy143L
        45
    Zy143L  
       330 天前 via Android
    如果你是国内公司 请做好关系划分
    否则有可能会出现第二个警方直接进驻公司场面
    以及有人用你的面板做菠菜诈骗 你是否会出现连带责任的问题
    zkw111
        46
    zkw111  
    OP
       330 天前
    @JoeoooLAI 老哥说的对,用面板就是突出一个方便
    devcai
        47
    devcai  
       330 天前   ❤️ 1
    宝塔使用者来说一下。
    我是一个客户端开发,因为个人开发一些 app 有一些收益,需要后台提供接口,当时调研购买了轻量服务器刚好默认集成了宝塔,就体验一段时间,对于一个非后台开发来说,感觉还挺好用的。
    1 省去了研究搭建环境的各种操作。
    2 提供可视化操作。
    3 写好的 spingboot 或者 php 项目快速拖进去就能 run 起来
    4 我使用一年,没有崩过,稳定性感觉还好。
    至于说宝塔会多占用一点内存完全可以接受 日接口访问量 50w 2g 内存完全够用, 实在做大了收益高了 肯定找专业后台了, 所以这种东西一定要方便, 方便好用才是核心点。
    id7368
        48
    id7368  
       330 天前 via iPhone
    期待
    Creling
        49
    Creling  
       330 天前
    希望有比较好的多节点管理 /监控 /告警功能,具体样式或实现可以参考 AppNode (这也是一款很棒的面板,看题主没有提到,特此补充一下)。
    zkw111
        50
    zkw111  
    OP
       330 天前
    @Creling 嗯 我下午已经体验了一下,确实很不错
    Envov
        51
    Envov  
       330 天前 via iPhone
    把 docker compose 做成可视化的就足够好了
    shynome
        52
    shynome  
       330 天前 via Android
    @mengdodo zig 岂不是更好( dog
    SunsetShimmer
        53
    SunsetShimmer  
       330 天前
    如果可能的话,尽量使用发行版自带的包管理器,不要自动下载源码编译。
    LeeReamond
        54
    LeeReamond  
       330 天前 via Android
    以前用过一段时间宝塔,感觉项目规模不大时候开封即用挺不错的。

    感觉宝塔在用户设计方面比较成熟的几个点:
    1.整个 webui 的安全管理方面不能为服务器引入安全隐患,这是能让开发长期挂面板的基础。比如它本身的登录防洪+预警,端口防扫,证书,外面还套一层 basic auth 。然后程序目录权限等等,起码我不担心在我不知道的时候被人拿了 shell 。
    2.nginx 到 php 相关链路设计的比较方便,nginx 配置文件管理,证书续签等等,网上绝大多数依赖 php+mysql 的开源项目基本上经过简单的配置就能使用,这大概也是为什么这么多人用宝塔。虽然我个人不喜欢他污染环境的安装方式,但是如果要容器化的话又要考虑小机器上的内存开销,只能说取舍吧。
    3.其他常用功能,防火墙可视化界面很有用,还有服务器基础数据监控,宝塔做的很粗糙,但我感觉这是个很有用的功能,可以省一个探针的麻烦
    zkw111
        55
    zkw111  
    OP
       329 天前
    @LeeReamond 感谢建议.从交付和商业化的角度考虑,我们应该会选择容器化部署.
    Creling
        56
    Creling  
       329 天前
    @zkw111 有一款服务器管理面板叫 URLOS ,就是采用的类似思路,楼主可以体验下?

    我一直没太想明白,容器化服务器管理面板,和 k8s dashboard ,portainer 这类专业的 docker 管理面板,有多大优势?专业程度上肯定是比不过后者的,最多可能多提供一个”nginx 自动反向代理“的功能?

    我一直觉得,容器管理可以是服务器管理面板的一个重要功能,提供一些满足常用需求的 docker 管理操作,但如果整个面板都依托在容器之上,一方面没有兼顾小白用户(纯容器化部署基本上断绝了小白用户通过 ssh 手动 debug 的可能性),另一方面也不太能满足高阶用户( k8s 等)。

    一家之言,也期待楼主在容器化部署上走出不同的路。
    LeeReamond
        57
    LeeReamond  
       329 天前 via Android
    @zkw111 容器化部署感觉跟本地互动是个麻烦,比如面板改防火墙端口规则是个很基础的功能,容器内的面板怎么修改容器外呢
    zkw111
        58
    zkw111  
    OP
       329 天前
    @LeeReamond 考虑的是通过 go 写一个 agent,agent 二进制部署到服务器,然后通过 agent 实现服务器操作,获取服务器信息等.
    zkw111
        59
    zkw111  
    OP
       329 天前
    @Creling 具体的实现还没有确定,这个月就会开始定.您说的这个情况我们会考虑.
    zkw111
        60
    zkw111  
    OP
       329 天前
    @Creling 不过我们有 k8s 的 dashboard 了,叫 kubepi 可以在 github 搜一下
    huobazi
        61
    huobazi  
       329 天前
    期待!
    Creling
        62
    Creling  
       329 天前
    @zkw111 原来是 JumpServer 和 Dataease 的开发组织,赞 :)
    rekulas
        63
    rekulas  
       328 天前
    @LeeReamond
    @zkw111
    换个思路改为全部 host 网络只修改容器内防火墙呢?这样宿主机兼容性都不用去适配了只需支持内部防火墙更新就 ok 了
    我之前也有用宝塔打包成镜像这样操作的,实际运行中没发现什么大毛病,只是你无法控制 docker 外部应用访问
    9136347
        64
    9136347  
       324 天前
    提个很重要意见,多机管理,现在谁没几个小鸡啊,一个小鸡装一个面板,真心有点浪费和麻烦。
    suyuyu
        65
    suyuyu  
       324 天前
    免费,不收集隐私就够了 (逃
    kernelt4sk
        66
    kernelt4sk  
       316 天前
    开源 独立部署 不回传数据 在用你们的商业版 jumpserver 还不错。
    franklight
        67
    franklight  
       260 天前
    我希望支持 openLitespeed
    ysicing
        68
    ysicing  
       238 天前
    op 开干了么
    zkw111
        69
    zkw111  
    OP
       238 天前
    @ysicing 开干了
    ysicing
        70
    ysicing  
       238 天前
    @zkw111 计划啥时候面世哈哈哈哈,期待
    zkw111
        71
    zkw111  
    OP
       238 天前
    @ysicing 这个还不确定 预计明年初吧
    qiz
        72
    qiz  
       133 天前 via Android
    比较喜欢 cockpit 这种,
    suyuyu
        73
    suyuyu  
       118 天前
    考古,快了吗 [doge]
    ThinkStu
        74
    ThinkStu  
       117 天前
    @suyuyu +1
    zkw111
        75
    zkw111  
    OP
       117 天前
    @suyuyu
    @ThinkStu
    大概 3 月 20 日
    follow
        76
    follow  
       85 天前
    20 号快到了
    chilaoqi
        77
    chilaoqi  
       85 天前
    快发布了吗?
    zkw111
        78
    zkw111  
    OP
       84 天前
    @follow
    @chilaoqi
    已经发布了 代码已经开源
    https://github.com/1Panel-dev/1Panel
    关于   ·   帮助文档   ·   博客   ·   nftychat   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   831 人在线   最高记录 5634   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 21:07 · PVG 05:07 · LAX 14:07 · JFK 17:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.