使用docker快速部署ferry开源工单系统

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 简单好用的工单系统,你不来看看吗?

大家好,我是早九晚十二,目前是做运维相关的工作。写博客是为了积累,希望大家一起进步!

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

有什么功能

工单系统相关功能

工单提交申请
工单统计
多维度工单列表,包括(我创建的、我相关的、我待办的、所有工单)
自定义流程
自定义模版
任务钩子
任务管理
催办
转交
手动结单
加签
多维度处理人,包括(个人,变量 (创建者、创建者负责人))
排他网关,即根据条件判断进行工单跳转
并行网关,即多个节点同时进行审批处理
通知提醒(目前仅支持邮件)
流程分类管理
权限管理相关功能,使用 casbin 实现接口权限控制:
用户、角色、岗位的增删查改,批量删除,多条件搜索
角色、岗位数据导出 Excel
重置用户密码
维护个人信息,上传管理头像,修改当前账户密码
部门的增删查改
菜单目录、跳转、按钮及 API 接口的增删查改
登陆日志管理
左菜单权限控制
页面按钮权限控制
API 接口权限控制

前期准备工作

搭建docker环境

搭建docker环境可参照之前文章 centos7.2快速搭建docker

docker部署mysql

拉取并启动mysql容器,密码设置为test,端口为3306

[root@test ~]#  docker run -d -p3306:3306 --name=mysql5 -e MYSQL_ROOT_PASSWORD=test mysql:5

登录mysql创建数据库

[root@test ~]# docker exec -it mysql5 bash
root@a7355653c893:/# mysql -uroot -ptest
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.36 MySQL Community Server (GPL)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database ferry_test;
Query OK, 1 row affected (0.01 sec)

mysql> exit
Bye
root@a7355653c893:/# exit 
exit
[root@test ~]#

docker中部署redis

[root@test ~]# docker run --name=redis6.0  -d -p 6379:6379 redis:6.0
Unable to find image 'redis:6.0' locally
6.0: Pulling from library/redis
a2abf6c4d29d: Pull complete 
c7a4e4382001: Pull complete 
4044b9ba67c9: Pull complete 
2b1fc7c1d01d: Pull complete 
956e458715d7: Pull complete 
cd2a61b616a9: Pull complete 
Digest: sha256:20756751c3382cf4867bef796eeda760e93022ec3decdd9803dea7a4f33f3b4b
Status: Downloaded newer image for redis:6.0
08f6ab60a6230206b33d7b72b95db6803139b7b42fba181f94f17be8c7bb7450

查看容器状态

查看STATUS,为UP即正常

[root@test ~]# docker ps -a

image.png

部署ferry

安装git并拉取ferry源码

[root@test ~]# yum -y install git
[root@test ~]#  git clone https://github.com/lanyulei/ferry.git
Cloning into 'ferry'...
remote: Enumerating objects: 2729, done.
remote: Counting objects: 100% (660/660), done.
remote: Compressing objects: 100% (263/263), done.
remote: Total 2729 (delta 413), reused 446 (delta 395), pack-reused 2069
Receiving objects: 100% (2729/2729), 8.53 MiB | 14.78 MiB/s, done.
Resolving deltas: 100% (1525/1525), done.

修改ferry配置

[root@test ~]# cd ferry/
[root@test ferry]# vim config/settings.yml
#主要修改mysql的host和password以及数据库名称
 database:
    dbtype: mysql
    host: 192.168.0.183
    name: ferry_test
    password: test
    port: 3306
    username: root
#redis的host
redis:
    url: redis://192.168.0.183:6379

创建needinit文件

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

创建freey容器并启动

[root@test ~]# docker run -itd --name ferry -v /root/ferry/config:/opt/workflow/ferry/config -p 8002:8002 lanyulei/ferry:1.0.1

Unable to find image 'lanyulei/ferry:1.0.1' locally
1.0.1: Pulling from lanyulei/ferry
59bf1c3509f3: Pull complete 
dd7148a8be01: Pull complete 
65cd14bd86e4: Pull complete 
7aa78b60a44f: Pull complete 
853a4cda0901: Pull complete 
568c39c57f86: Pull complete 
9f411cdb46b8: Pull complete 
7c57bbaa26ba: Pull complete 
03a1ebb3b05a: Pull complete 
b282e453d251: Pull complete 
17d249c41c8f: Pull complete 
c4ebd785b260: Pull complete 
9c780f01f6bf: Pull complete 
Digest: sha256:867627252a41ad23c15cb03f8f1c1e88f84ede1d67573732e13a06693f0b203e
Status: Downloaded newer image for lanyulei/ferry:1.0.1
b91679037b40a138713e160ce3a33ea4c4aeb4164d8ce79f5a41c5f40d456dc5
[root@test ~]# 
[root@test ~]# docker ps -a 
CONTAINER ID   IMAGE                  COMMAND                  CREATED          STATUS                     PORTS                                                  NAMES
b91679037b40   lanyulei/ferry:1.0.1   "/opt/workflow/ferry…"   7 seconds ago    Up 19 seconds                                                          ferry
08f6ab60a623   redis:6.0              "docker-entrypoint.s…"   12 minutes ago   Up 12 minutes              0.0.0.0:6379->6379/tcp, :::6379->6379/tcp              redis6.0
a7355653c893   mysql:5                "docker-entrypoint.s…"   15 minutes ago   Up 15 minutes              0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   mysql5
[root@test ~]#

命令解释 docker run -it -v 宿主机目录绝对路径:容器目录绝对路径 镜像ID或NAME /bin/bash
-it 交互式运行容器
-d 在后台运行容器,并且打印容器id --name ferry 容器名称为ferry -v 挂载volume数据卷 宿主机目录绝对路径 宿主机中config配置文件目录所在路径。挂载之后容器运行可以将当前目录的配置文件挂载到容器内指定的目录调用

浏览器访问工单系统

浏览器访问http://ip:8002即可

image.png

默认账号:admin
默认密码:123456
image.png

修改密码

image.png

image.png
image.png

码字不易。如果文章对您有希望的话,请三连支持一波。
如有问题,欢迎留言,一起探讨,感谢。
也可关注早九晚十二微信公众号,看到留言后会第一时间回复。

相关文章
|
5天前
|
人工智能 API 数据安全/隐私保护
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
NextChat 是一个可以在 GitHub 上一键免费部署的私人 ChatGPT 网页应用,支持 GPT3、GPT4 和 Gemini Pro 模型。该项目在 GitHub 上获得了 63.8k 的 star 数。部署简单,只需拉取 Docker 镜像并运行容器,设置 API Key 后即可使用。此外,NextChat 还提供了预设角色的面具功能,方便用户快速创建对话。
54 22
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
|
16天前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
55 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
7天前
|
运维 开发者 Docker
Docker Compose:简化容器化应用的部署与管理
Docker Compose:简化容器化应用的部署与管理
|
7天前
|
Docker 微服务 容器
使用Docker Compose实现微服务架构的快速部署
使用Docker Compose实现微服务架构的快速部署
17 1
|
19天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
46 2
|
20天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
29 3
|
23天前
|
移动开发 网络协议 小程序
基于开源IM即时通讯框架MobileIMSDK:RainbowChat-iOS端v9.1版已发布
RainbowChat是一套基于开源IM聊天框架 MobileIMSDK 的产品级移动端IM系统。RainbowChat源于真实运营的产品,解决了大量的屏幕适配、细节优化、机器兼容问题
54 5
|
22天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
187 2
|
23天前
|
弹性计算 数据库连接 Nacos
阿里云ECS服务器在docker中部署nacos
docker pull nacos 失败,docker部署nacos遇到的问题,nacos数据库连接,nacos端口映射
90 1
|
7天前
|
前端开发 开发者 Docker
深入探索Docker Compose:简化多容器应用的部署
深入探索Docker Compose:简化多容器应用的部署
27 0