【Docker】使用Docker部署IT运维管理平台CAT

作者怀揣着一个美好的愿景,旨在提升管理效率、推动开源项目的蓬勃发展。

来一杯咖啡与茶,为 IT 运维从业者减轻管理负担,提升管理效率,从繁重无序的工作中解压出来,利用剩余时间多喝一杯休息一下。 这是一个专为 IT 运维从业者打造的一站式解决方案平台,包含资产管理、工单、工作流、仓储等功能模块。 ❤ 感谢各位支持。CAT提倡与各位使用者、开发者一起创建健康生态,让本项目变得更好,欢迎提供 PR 贡献。

在这里插入图片描述
☕ CAT(Coffee And Tea)是一个开源的、开放的一站式 IT 运维管理平台。资产管理、工单、盘点以及可靠的移动端应用支持。

CAT的前世今生

CAT是对celaraze/chemex 重构版。原项目 chemex 名称弃用,需要老版本即 chemex IT资产管理系统的,请访问:https://github.com/celaraze/chemex.git 。

与 chemex 对比,CAT 有什么不同:

  1. CAT 采用全新架构设计,大量提升使用体验的细节,及紧跟最新版本潮流。
  2. CAT 大部分会还原 chemex 的基础功能,但部分设计可能由于实际业务需求将被弃用。
  3. 重做了数据导出、导入功能,现在将提供一个更加人性化的方式。
  4. 简化了部署需求。
  5. 增加各类资产编号自动生成规则。

Docker部署

  1. 执行 docker volume create cat_database 使数据库持久化。
  2. 执行 docker volume create cat_storage 使存储路径持久化,用于保存上传的文件、图片、以及应用产生的日志文件。
  3. 执行以下命令启动容器:
# 第一次启动容器,用于构建本地使用环境,包括生成配置文件。
docker run -itd -p 8000:8000 \
-v cat_database:/var/www/database/data \
-v cat_storage:/var/www/storage \
--name cat celaraze/cat
  1. 执行 docker cp cat:/var/www/.env /path/to/your/local/ 将应用的配置文件从容器中复制出来,配置文件应该存放在宿主机上。
  2. 停止该容器,并删除。 docker stop cat && docker rm cat
  3. 重新执行以下命令启动容器:
# 增加了 .env 配置文件持久化。
docker run -itd -p 8000:8000 \
-v cat_database:/var/www/database/data \
-v cat_storage:/var/www/storage/app/public \
-v /your/path/local/.env:/var/www/.env \
--name cat celaraze/cat

数据库更改为MySQL

如果不使用官方的sqlite存储数据,改为使用mysql数据库,和官方略有不同,请大家酌情使用

  1. 修改/your/path/local/.env
##注释掉了sqllite 使用mysql的配置
# 数据库配置
# 默认使用 sqlite
#DB_CONNECTION=sqlite
#DB_FOREIGN_KEYS=true
#DB_DATABASE=/var/www/database/data/database.sqlite
 
# 如果使用 mysql,取消注释以下配置块并设定
# 同时,注释上述 sqlite 的配置块
 
 DB_CONNECTION=mysql
 DB_HOST=192.168.***.***
 DB_PORT=3306
 DB_DATABASE=cat
 DB_USERNAME=root
 DB_PASSWORD=123456
  1. 修改完后执行 docker exec -it cat /bin/bash 进入容器内部
  2. 运行 php artisan cat:install 用来创建库和刷新权限。

Docker版本更新

  1. 先停止容器并删除容器,不用担心,你的数据库保存在 docker volume 中,执行 docker pull celaraze/cat:latest 拉取最新镜像。
  2. 执行以下命令启动容器:
docker run -itd -p 8000:8000 \
-v cat_database:/var/www/database/data \
-v cat_storage:/var/www/storage/app/public \
-v /your/path/local/.env:/var/www/.env \
--name cat celaraze/cat
  1. 执行 docker exec -it cat /bin/bash 进入容器终端。

  2. 在容器中执行 php artisan cat:update,确认是否在 /var/www 目录中,默认于此。

访问CAT首页

访问地址:http://192.168.3.166:8000,将IP替换为自己服务器IP地址,进入到CAT首页。如果无法访问,则检查服务器防火墙是否设置,云服务器的安全组端口是否放行等。

在这里插入图片描述

默认登录账号密码:admin@localhost.com/admin

部分画面截图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

官方代码仓库:https://github.com/celaraze/cat

官方文档:https://celaraze.com/wiki/cat.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/453216.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

英伟达推出免训练,可生成连贯图片的文生图模型ConsiStory,生成角色一致性解决新方案

目前,多数文生图模型皆使用的是随机采样模式,使得每次生成的图像效果皆不同,在生成连贯的图像方面非常差。 例如,想通过AI生成一套图像连环画,即便使用同类的提示词也很难实现。虽然DALLE 3和Midjourney可以对图像实现…

k8s+zabbix

一,环境: 1),k8s部署,master和node节点都部署成功 二,部署: 1),安装python3(资源中有) wget https://www.python.org/ftp/python/3.7.4/Python-…

【Python】新手入门学习:详细介绍组合/聚合复用原则(CARP)及其作用、代码示例

【Python】新手入门学习:详细介绍组合/聚合复用原则(CARP)及其作用、代码示例 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集…

为什么选择VR全景进行企业宣传,如何将VR全景运用在企业展示

引言: 随着科技的不断发展,VR全景技术逐渐成为企业宣传的热门选择。那么,为什么越来越多的企业选择使用VR全景技术进行宣传呢? 一.为什么选择VR全景技术进行企业宣传 1. 提升用户体验 VR全景技术可以为用户营造身临…

c++函数SetConsoleTextAttribute

前言 正文 1.作用: 2.函数格式(重点): 3.参数(重点): 前言 实用(真的) 正文 1.作用: 更改cmd的背景色与字体颜色 2.函数格式(重点): SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),10进制参数); …

怎么查看电脑是不是固态硬盘?简单几个步骤判断

随着科技的发展,固态硬盘(Solid State Drive,简称SSD)已成为现代电脑的标配。相较于传统的机械硬盘,固态硬盘在读写速度、稳定性和耐用性等方面都有显著优势。但是,对于不熟悉电脑硬件的用户来说&#xff0…

Java学习-Collection集合框架2

1.Set集合的特点 特点体验: 1.1 hashSet的底层实现-哈希表 以及特点 普通二叉树和二分查找树 二分查找树的缺点: 红黑树是什么? HashSet集合去重复的机制:(HashSet比较地址只要地址不同,就不算重复) 此时就需要重写Hashcode和equals方法了: 1.2linkedHashSet特点及底层原理 1.…

Apache SeaTunnel MongoDB CDC 使用指南

随着数据驱动决策的重要性日益凸显,实时数据处理成为企业竞争力的关键。SeaTunnel MongoDB CDC(Change Data Capture) 源连接器的推出,为开发者提供了一个高效、灵活的工具,以实现对 MongoDB 数据库变更的实时捕获和处理。 本文将深入探讨该连…

支付模块-01微信支付和支付宝支付接口调研

支付接口调研 一般情况下,一个网站要支持在线支付功能通常接入第三方支付平台,比如:微信支付、支付宝、其它的聚合支付平台 微信支付方式 支付方式描述应用场景付款码支付指用户展示微信钱包内的付款码给商户系统扫描后直接完成支付适用于线…

【嵌入式——QT】QPainter基本绘图

【嵌入式——QT】QPainter基本绘图 QPainter与QPaintDevicepaintEvent事件和绘图区QPainter主要属性QPen主要功能QBrush主要功能QPainter绘制基本图形方法图示代码示例 QPainter与QPaintDevice QPainter是用来进行绘图操作的类,QPaintDevice是一个可以使用QPainter…

力扣hot100题解(python版69-73题)

69、有效的括号 给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应…

YOLOv9改进策略:注意力机制 | EMA:基于跨空间学习的高效多尺度注意力,效果优于ECA、CBAM、CA

💡💡💡本文改进内容:加入EMA注意力,一种基于跨空间学习的高效多尺度注意力,效果优于ECA、CBAM、CA等经典注意力。 yolov9-c-EMA summary: 970 layers, 51011154 parameters, 51011122 gradients, 238.9 GF…

链动2+1模式与用户留存复购策略:结合消费增值模式的创新应用

大家好,我是吴军,来自一家软件开发公司的产品经理岗位。 今天,我想和大家深入探讨链动21模式,特别是它如何有效应对用户留存和复购的挑战。 尽管有些人认为链动模式已经过时,但我认为它的潜力远未被充分挖掘。链动不仅…

SpringBoot3整合mybatis

SpringBoot3整合mybatis 一、添加mybatis的依赖二、通过XML配置三、通过yum或properties文件配置四、常用注解1.Mapper2.MapperScan 一、添加mybatis的依赖 <!--mybatis--> <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>…

源聚达科技:抖音今年开店有没有什么新政策

随着电商行业的蓬勃发展&#xff0c;抖音平台作为新兴的社交电商平台&#xff0c;近年来推出了多项新政策以吸引商家入驻&#xff0c;提升用户体验。今年&#xff0c;抖音在开店政策上又有了新的调整和优化&#xff0c;这些变化对于商家来说无疑是重要的风向标。 最新的政策中&…

北京银行助力首批消费类公募REITs成功上市 担任嘉实物美消费REIT托监管行

3月12日&#xff0c;由北京银行担任托监管行并参与战配投资的嘉实物美消费REIT在上交所成功上市。这也让北京银行成为全国首家担任公募REITs托监管银行的城商行&#xff0c;亦是首家参与首批消费基础设施公募REITs战略投资的城商行&#xff0c;成功跻身商业银行综合服务公募REI…

05-ESP32-S3-IDF USART

ESP32-S3 IDF USART详解 USART简介 USART是一种串行通信协议&#xff0c;广泛应用于微控制器和计算机之间的通信。USART支持异步和同步模式&#xff0c;因此它可以在没有时钟信号的情况下&#xff08;异步模式&#xff09;或有时钟信号的情况下&#xff08;同步模式&#xff…

Java项目:48 ssm008医院门诊挂号系统+jsp(含文档)

作者主页&#xff1a;舒克日记 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 本选题则旨在通过标签分类管理等方式实现 管理员&#xff1b;个人中心、药房管理、护士管理、医生管理、病人信息管理、科室信息管理、挂号管理、诊断…

如何解决word字体大小显示不一,部分文字无法显示/显式为空白?

问题重现 今天重启后打开word&#xff0c;显示如下&#xff1a; 从第1张图看&#xff0c;字体显示大小不同&#xff0c;第2张图&#xff0c;敲“满分”&#xff0c;无法显示“满”字&#xff0c;而且“分”的大小比一般字体要大。 我的解决方案 – 修复office 采用GPT的建议…

移除元素

文章目录 移除元素删除有序数组中的重复项移动零比较含退格的字符串有序数组的平方 移除元素 双指针 删除指定项且不改变顺序 def removeElement(nums: list[int], val: int) -> int:fast slow 0while fast < len(nums):if nums[fast] ! val:nums[slow] nums[fast]sl…