前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CeSI - 管理多个 Supervisor 的Web界面

CeSI - 管理多个 Supervisor 的Web界面

作者头像
崔哥
发布2023-10-23 10:43:54
4740
发布2023-10-23 10:43:54
举报
文章被收录于专栏:崔哥的专栏

CeSI(Centralized Supervisor Interface),它是一个用于管理多个监督者(Supervisor)的Web界面。监督者本身具有自己的Web用户界面,但是使用单独的界面来管理多个监督者安装是复杂的。CeSI的目标是通过基于监督者的RPC接口创建一个集中式的Web用户界面,以解决这个问题。

docker-compose.yml

https://github.com/chudaozhe/docker-compose-samples/tree/main/cesi

关于ui

这个项目的前端部分是用React写的,正常情况构建镜像 需要先yarn build,然后把构建好的html,css,js等打包到基于nginx的镜像中,

但是作者构建的镜像,是直接把开发环境搬到了容器中:镜像基于node:14.4.0-alpine3.12,在容器内执行yarn start开启的服务,这样大大增加了镜像的体积

失败的尝试

我尝试把构建好的html,css,js等打包到基于nginx的镜像中,但是失败,主要因为:

  • 跨域问题:作者的后端代码 登录状态保持 用的session,跨域不能自动携带cookie

解决办法:登录成功后响应头里有Set-Cookie:session=eyJsb2dnZWRfaW4iOnRydWUsInVzZXJuYW1lIjoiYWRtaW4ifQ.ZSDCMQ.dgiruPrR9x-YWYT8nFg44EJ_jG4; HttpOnly; Path=/,把这个值持久化存储;然后其他接口访问时header里都带上Cookie,如:curl --location 'http://localhost:8092/test/aa.php' \ --header 'Cookie: session=eyJsb2dnZWRfaW4iOnRydWUsInVzZXJuYW1lIjoiYWRtaW4ifQ.ZSDCMQ.dgiruPrR9x-YWYT8nFg44EJ_jG4'

调试UI

老的nodejs项目,先确认他用到nodejs版本 (如果你的node是新的,他的是几年前的,肯定要升级各种依赖才能跑起来)

代码语言:javascript
复制
npm install -g yarn
D:\DockerProjects\cesi\cesi\ui> nvm use 15
Now using node v15.14.0 (64-bit)

安装依赖

代码语言:javascript
复制
D:\DockerProjects\cesi\cesi\ui> yarn

编译

代码语言:javascript
复制
yarn build

得到build目录

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • docker-compose.yml
  • 关于ui
    • 失败的尝试
    • 调试UI
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档