工单系统ferry 01--docker部署ferry

2024-05-30 23:38

本文主要是介绍工单系统ferry 01--docker部署ferry,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

工单系统ferry 01--docker部署ferry

  • 介绍
  • 部署
  • 说明

介绍

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

部署

部署mysql

安装 mysql:
$ docker run -d -p3306:3306 --name=mysql5 -e MYSQL_ROOT_PASSWORD=111111 mysql:5
进入mysql实例
$ docker exec -it mysql5 bash
创建数据库 ferry
root@1d0043eefed4:/# mysql -uroot -h127.0.0.1 -p111111
mysql> create database ferry;
Query OK, 1 row affected (0.00 sec)

部署redis

安装 redis:
docker run --name=redis6.0  -d -p 6379:6379 redis:6.0

启动ferry

通过 ip r 或者 ifconfig 获取本机ip地址, 192.168.1.7
clone 代码
$ git clone https://github.com/lanyulei/ferry.git
$ cd ferry$ vim config/setings.yml
做如下修改:
mysql 配置(更改host 和密码为你自己的):
host: ferry_mysql -> host: 192.168.1.7
password: 123456 -> password: 111111redis 配置(更改host为你自己的):
url: redis://ferry_redis:6379 -> url: redis://192.168.1.7:6379在config 目录新建 needinit 文件, 第一次启动的时候db中没有数据,此时可以通过这命令初始化数据,服务正常启动后再删该文件(以防下次容器启动时候再次初始化)
$ touch config/needinit启动容器:
docker run -itd --name ferry -v /home/your_user_path/github/ferry/config:/opt/workflow/ferry/config -p 8002:8002 lanyulei/ferry:1.0.1
docker run -itd --name ferry -v /home/xg/soft/ferry/config:/opt/workflow/ferry/config -p 8002:8002 lanyulei/ferry:1.0.1输出如下:
start init
{"level":"info","ts":"2022-03-24 09:43:48.315052","caller":"database/mysql.go:37","msg":"mysql connect success!"}
{"level":"info","ts":"2022-03-24 09:44:03.338257","caller":"migrate/server.go:41","msg":"数据库结构初始化成功!"}
-- 开始初始化数据 -- 数据完成 
数据库基础数据初始化成功
2022/03/24 09:44:26 starting api server
{"level":"info","ts":"2022-03-24 09:44:26.348398","caller":"database/mysql.go:37","msg":"mysql connect success!"}
INFO: 2022/03/24 09:44:26 worker.go:57 Launching a worker with the following settings:
INFO: 2022/03/24 09:44:26 worker.go:58 - Broker: redis://10.194.16.181:6379
INFO: 2022/03/24 09:44:26 worker.go:60 - DefaultQueue: ServerTasksQueue
INFO: 2022/03/24 09:44:26 worker.go:64 - ResultBackend: ://
[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.- using env:   export GIN_MODE=release- using code:  gin.SetMode(gin.ReleaseMode)[GIN-debug] GET    /info                     --> ferry/handler.Ping (7 handlers)
[GIN-debug] GET    /static/*filepath         --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (7 handlers)
[GIN-debug] HEAD   /static/*filepath         --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (7 handlers)
INFO: 2022/03/24 09:44:26 redis.go:96 [*] Waiting for messages. To exit press CTRL+C
[GIN-debug] Loaded HTML Templates (2): - - index.html[GIN-debug] GET    /swagger/*any             --> github.com/swaggo/gin-swagger.CustomWrapHandler.func1 (7 handlers)
[GIN-debug] GET    /api/v1/monitor/server    --> ferry/apis/monitor.ServerInfo (7 handlers)
.......
[GIN-debug] PUT    /api/v1/work-order/active-order/:id --> ferry/apis/process.ActiveOrder (9 handlers)
[GIN-debug] DELETE /api/v1/work-order/delete/:id --> ferry/apis/process.DeleteWorkOrder (9 handlers)
[GIN-debug] POST   /api/v1/work-order/reopen/:id --> ferry/apis/process.ReopenWorkOrder (9 handlers)
2022/03/24 09:44:26 Server Run http://0.0.0.0:8002/ 
2022/03/24 09:44:26 Swagger URL http://0.0.0.0:8002/swagger/index.html 
2022/03/24 09:44:26 Enter Control + C Shutdown Server db 初始化后会自动新建如下 table
'casbin_rule'
'p_process_classify'
'p_process_info'
'p_task_history'
'p_task_info'
'p_tpl_info'
'p_work_order_circulation_history'
'p_work_order_info'
'p_work_order_tpl_data'
'sys_dept'
'sys_loginlog'
'sys_menu'
'sys_post'
'sys_role'
'sys_role_dept'
'sys_role_menu'
'sys_settings'
'sys_user'

测试
Url http://127.0.0.1:8002/
帐号密码 admin/123456

启动后 ferry mysql redis 都需要正常运行,如下所示:
xg@xg:~/soft/ferry$ docker ps -a
CONTAINER ID   IMAGE                  COMMAND                  CREATED          STATUS          PORTS                                                  NAMES
8611f6e09505   lanyulei/ferry:1.0.1   "/opt/workflow/ferry…"   12 minutes ago   Up 12 minutes   0.0.0.0:8002->8002/tcp, :::8002->8002/tcp              ferry
f320fd3bec25   redis:6.0              "docker-entrypoint.s…"   17 minutes ago   Up 17 minutes   0.0.0.0:6379->6379/tcp, :::6379->6379/tcp              redis6.0
480ebae668d9   mysql:5                "docker-entrypoint.s…"   18 minutes ago   Up 18 minutes   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   mysql5

登陆界面:
在这里插入图片描述
工单主页:
在这里插入图片描述

说明

软件环境:
20.04.1 LTS Desktop
Docker 20.10.7

参考文档:
ferry官方文档
ferry文档教程–手动部署
ferry文档教程–Docker部署

这篇关于工单系统ferry 01--docker部署ferry的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1017086

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

hdu 2602 and poj 3624(01背包)

01背包的模板题。 hdu2602代码: #include<stdio.h>#include<string.h>const int MaxN = 1001;int max(int a, int b){return a > b ? a : b;}int w[MaxN];int v[MaxN];int dp[MaxN];int main(){int T;int N, V;s