【云原生 | 拓展01】手把手教你搭建ferry开源工单系统

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: erry 是集工单统计、任务钩子、权限管理、灵活配置流程与模版等等于一身的开源工单系统,当然也可以称之为工作流引擎。致力于减少跨部门之间的沟通,自动任务的执行,提升工作效率与工作质量,减少不必要的工作量与人为出错率。.....................

 🍁作者简介:🏅云计算领域优质创作者🏅新星计划第三季python赛道TOP1🏅 阿里云ACE认证高级工程师🏅

✒️个人主页:小鹏linux

💊个人社区:小鹏linux(个人社区)欢迎您的加入!image.gif

目录

系统功能介绍

1.准备工作

1.1 关闭防火墙和selinux

2.安装docker

2.1 更新yum索引

2.2 卸载旧版本docker

2.3 安装依赖包

2.4 设置阿里云镜像源

2.5 安装并启动docker

3.docker中部署mysql

3.1 安装启动mysql

3.2 进入mysql实例

4.docker中部署redis

4.1 安装启动mysql

4.2 查看容器是否正常启动

5.部署启动ferry

5.1 获取本机ip

5.2 安装git命令并拉取ferry代码

5.3 修改ferry配置文件

5.4 创建needinit文件

6.启动ferry

6.1 创建ferry容器并启动

6.2 查看容器状态

7.登录工单系统页面

👑👑👑结束语👑👑👑


开源软件ferry是集工单统计、任务钩子、权限管理、灵活配置流程与模版等等于一身的开源工单系统,当然也可以称之为工作流引擎。 致力于减少跨部门之间的沟通,自动任务的执行,提升工作效率与工作质量,减少不必要的工作量与人为出错率。

系统功能介绍

工单系统相关功能:

    • 工单提交申请
    • 工单统计
    • 多维度工单列表,包括(我创建的、我相关的、我待办的、所有工单)
    • 自定义流程
    • 自定义模版
    • 任务钩子
    • 任务管理
    • 催办
    • 转交
    • 手动结单
    • 加签
    • 多维度处理人,包括(个人,变量 (创建者、创建者负责人))
    • 排他网关,即根据条件判断进行工单跳转
    • 并行网关,即多个节点同时进行审批处理
    • 通知提醒(目前仅支持邮件)
    • 流程分类管理

    权限管理相关功能,使用 casbin 实现接口权限控制:

      • 用户、角色、岗位的增删查改,批量删除,多条件搜索
      • 角色、岗位数据导出 Excel
      • 重置用户密码
      • 维护个人信息,上传管理头像,修改当前账户密码
      • 部门的增删查改
      • 菜单目录、跳转、按钮及 API 接口的增删查改
      • 登陆日志管理
      • 左菜单权限控制
      • 页面按钮权限控制
      • API 接口权限控制

      本次部署环境为CentOS7操作系统

      1.准备工作

      1.1 关闭防火墙和selinux

      [root@xiaopeng ~]# setenforce 0                      #关闭selinux
      [root@xiaopeng ~]# systemctl stop firewalld          #关闭防火墙
      [root@xiaopeng ~]# systemctl disable firewalld        #设置开机不自启

      image.gif

      2.安装docker

      2.1 更新yum索引

      [root@xiaopeng ~]# yum makecache fast

      image.gif

      2.2 卸载旧版本docker

      [root@xiaopeng ~]# yum remove docker \
                        docker-client \
                        docker-client-latest \
                        docker-common \
                        docker-latest \
                        docker-latest-logrotate \
                        docker-logrotate \
                        docker-engine

      image.gif

      2.3 安装依赖包

      [root@xiaopeng ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

      image.gif

      2.4 设置阿里云镜像源

      [root@xiaopeng ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
      [root@xiaopeng ~]# ls /etc/yum.repos.d/             #查看有docker-ce.repo生成
      bak  CentOS-7.repo  docker-ce.repo  epel.repo

      image.gif

      2.5 安装并启动docker

      [root@xiaopeng ~]# yum install -y docker-ce             #安装
      [root@xiaopeng ~]# systemctl start docker               #启动docker
      [root@xiaopeng ~]# systemctl disable docker             #设为开机自启动
      [root@xiaopeng ~]# docker version                       #查看docker版本

      image.gif

      3.docker中部署mysql

      3.1 安装启动mysql

      [root@xiaopeng ~]# docker run -d -p3306:3306 --name=mysql5 -e MYSQL_ROOT_PASSWORD=111111 mysql:5   #密码设置为111111

      image.gif

      如下图,镜像下载并完成容器启动,等待即可:

      image.gif

      3.2 进入mysql实例

      [root@xiaopeng ~]# docker exec -it mysql5 bash           #进入mysql容器
      root@df379c1e9abe:/# mysql -uroot -h127.0.0.1 -p111111   #登录mysql
      mysql> create database ferry;                            #创建数据库ferry
      mysql> exit                                              #退出mysql
      root@df379c1e9abe:/# exit                                #退出容器

      image.gif

      4.docker中部署redis

      4.1 安装启动mysql

      [root@xiaopeng ~]# docker run --name=redis6.0  -d -p 6379:6379 redis:6.0

      image.gif

      如下图,镜像下载并完成容器启动,等待即可:

      image.gif

      4.2 查看容器是否正常启动

      [root@xiaopeng ~]# docker ps -a     #STATUS列显示UP状态为容器正常启动,如下图:

      image.gif

      image.gif

      5.部署启动ferry

      5.1 获取本机ip

      [root@xiaopeng ~]# ip a

      image.gif

      5.2 安装git命令并拉取ferry代码

      [root@xiaopeng ~]# yum -y install git
      [root@xiaopeng ~]# git clone https://github.com/lanyulei/ferry.git  #拉取代码成功如下图:

      image.gif

      image.gif

      5.3 修改ferry配置文件

      [root@xiaopeng ~]# cd ferry/
      [root@xiaopeng ferry]# vim config/settings.yml
      找到如下配置:
      database:
          dbtype: mysql
          host: ferry_mysql
          name: ferry
          password: 123456
          port: 3306
          username: root
      做如下修改:
      mysql 配置(更改host 和密码为你自己的):
      host: ferry_mysql -> host: 192.168.0.3
      password: 123456 -> password: 111111
      找到如下配置:
      redis:
          url: redis://ferry_redis:6379
      做如下修改:
      redis 配置(更改host为你自己的):
      url: redis://ferry_redis:6379 -> url: redis://192.168.0.3:6379

      image.gif

      5.4 创建needinit文件

      [root@xiaopeng ferry]# touch config/needinit

      image.gif

      注意:在config 目录新建 needinit 文件, 第一次启动的时候db中没有数据,此时可以通过这命令初始化数据,服务正常启动后再删该文件(以防下次容器启动时候再次初始化)

      6.启动ferry

      6.1 创建ferry容器并启动

      [root@xiaopeng ferry]# docker run -itd --name ferry -v /root/ferry/config:/opt/workflow/ferry/config -p 8002:8002 lanyulei/ferry:1.0.1
      # 命令解释
      # docker run -it -v   宿主机目录绝对路径:容器目录绝对路径 镜像ID或NAME /bin/bash
      # -it   交互式运行容器
      # -d   在后台运行容器,并且打印容器id
      # --name ferry   容器名称为ferry
      # -v    挂载volume数据卷
      # 宿主机目录绝对路径   宿主机中config配置文件目录所在路径。挂载之后容器运行可以将当前目录的配置文件挂载到容器内指定的目录调用
      # -p 8002:8002   端口映射,注意:p小写是将容器的端口映射到宿主机的制定端口,大写是将容器的端口映射到宿主机的随机端口

      image.gif

      若失败可以下载我安装成功后打包下来的配置文件模板直接进行修改 ,配置文件模板

      如下图,镜像下载并完成容器启动,等待即可:

      image.gif

      6.2 查看容器状态

      [root@xiaopeng ferry]# docker ps -a
      # mysql、redis、ferry三个容器状态都为UP则正确,如下图:

      image.gif

      image.gif

      7.登录工单系统页面

      浏览器访问ip:8002即可,如下图:

      image.gif

      输入账号:admin

      输入密码:123456

      登录进入,如图:

      image.gif

      👑👑👑结束语👑👑👑

      image.gif

      目录
      相关文章
      |
      2月前
      |
      监控 安全 Cloud Native
      云原生开源沙龙北京站开启报名 | 微服务安全零信任架构
      「微服务安全零信任架构」主题技术沙龙将于4月13日在北京阿里中心举行,欢迎报名!~
      云原生开源沙龙北京站开启报名 | 微服务安全零信任架构
      |
      19小时前
      |
      存储 数据挖掘 API
      解码客服工单系统:选型指南让您信手拈来
      在选择客服工单系统时,企业应明确需求,考虑功能(如工单管理、知识库集成、自动化流程)、易用性、技术支持、可扩展性、安全性和合规性。ZohoDesk提供定制服务,满足企业效率提升和成本降低的需求。进行成本效益分析以确保投资回报。
      21 6
      |
      2天前
      |
      Cloud Native 测试技术 数据安全/隐私保护
      云原生之使用Docker部署Teedy轻量级文档管理系统
      【5月更文挑战第8天】云原生之使用Docker部署Teedy轻量级文档管理系统
      12 1
      |
      4天前
      |
      Java API 开发工具
      开源即时通讯IM框架 MobileIMSDK v6.5 发布
      本次更新为次要版本更新,进行了bug修复和优化升级(更新历史详见:码云 Release Notes、Github Release Notes)。 MobileIMSDK 可能是市面上唯一同时支持 UDP+TCP+WebSocket 三种协议的同类开源IM框架。轻量级、高度提炼,历经10年、久经考验。客户端支持iOS、Android、Java、H5、微信小程序、Uniapp,服务端基于Netty。
      26 2
      |
      16天前
      |
      安全 开发者 Docker
      总结反思 持续进步-开源即时通讯(IM)项目OpenIM 新版本release-v3.7发布
      背景 过去,我们团队对开源项目的认知较浅,过分追求进度,而忽视了代码的质量和规范。这导致了一些问题,例如部署流程设计不当:流程复杂、不规范,以及Mac与Windows部署的明显缺陷。这些问题不仅给开发者带来了困扰,也增加了社区维护的难度。 针对这些挑战,我们团队进行了深刻的反思并总结出了相关问题。目前,我们正在专注于提高代码质量和规范化工作,并在完善我们的开源贡献流程,以吸引更多贡献者参与。我们相信这是关键步骤,以扩大社区的影响力并将OpenIM发展成为一流的开源项目。 为此,我们已规划推出release-v3.7版本,该版本将全面改造部署、规范和流程等方面,并且与3.6版本数据完全兼容。
      41 0
      |
      26天前
      |
      监控 安全 机器人
      电话客服热线系统的详细搭建方案(十大关键要素)
      构建高效电话客服系统涉及需求分析、话务量估算、系统规划与设计、多渠道集成、智能化升级和安全措施。需求分析包括客户调查、数据分析、竞争分析和焦点小组讨论,以确定服务模型和规模。系统设计需选择合适的服务模型、技术工具,并设计呼叫流程。多渠道接入与在线客服可提升客户体验,智能化技术如智能语音和文字机器人则提高效率。技术实施涉及硬件和软件选择、系统集成、测试与调整。安全方面,要设计安全策略,实施安全技术,并持续监控。人员培训与管理确保团队能力,运营和优化则关注日常管理、系统优化和后期运维。部署方式包括云端和本地化,租用和自建,各有优劣。电话客服系统对提升客户满意度和企业形象至关重要。
      |
      1月前
      |
      Cloud Native 安全 微服务
      云原生开源沙龙北京站火热报名中丨微服务安全零信任架构
      云原生开源沙龙北京站火热报名中丨微服务安全零信任架构。
      |
      1月前
      |
      移动开发 网络协议 小程序
      基于开源IM即时通讯框架MobileIMSDK:RainbowChat-iOS端v9.0版已发布
      MobileIMSDK 是一套专门为移动端开发的开源IM即时通讯框架,超轻量级、高度提炼,一套API优雅支持 UDP 、TCP 、WebSocket 三种协议,支持 iOS、Android、H5、标准Java、小程序、Uniapp,服务端基于Netty编写。
      44 0
      |
      2月前
      |
      存储 数据库
      工单系统的作用与优势!为什么企业需要它?
      **工单系统是管理任务和请求的软件,如ZohoDesk,能提升生产力、提供透明度、增强客户满意度、优化资源分配和促进协作。ZohoDesk工单系统特点包括直观界面、高度可定制、多渠道支持、强大集成能力和报告功能,适合不同规模的组织。**
      54 1

      热门文章

      最新文章