# ferry **Repository Path**: garrettxia/ferry ## Basic Information - **Project Name**: ferry - **Description**: 本系统是集工单统计、任务钩子、权限管理、灵活配置流程与模版等等于一身的开源工单系统,当然也可以称之为工作流引擎。 致力于减少跨部门之间的沟通,自动任务的执行,提升工作效率与工作质量,减少不必要的工作量与人为出错率。 - **Primary Language**: Go - **License**: MIT - **Default Branch**: master - **Homepage**: http://fdevops.com:8001/ - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 696 - **Created**: 2025-12-08 - **Last Updated**: 2025-12-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

license donate

## 基于Gin + Vue + Element UI前后端分离的工单系统 新版工单演示地址(非开源):[http://1.94.48.125:8000/](http://1.94.48.125:8000/) 账号密码:lanyulei / lanyulei **流程中心** 通过灵活的配置流程、模版等数据,非常快速方便的生成工单流程,通过对流程进行任务绑定,实现流程中的钩子操作,目前支持绑定邮件来通知处理,当然为兼容更多的通知方式,也可以自己写任务脚本来进行任务通知,可根据自己的需求定制。 兼容了多种处理情况,包括串行处理、并行处理以及根据条件判断进行节点跳转。 可通过变量设置处理人,例如:直接负责人、部门负责人、HRBP等变量数据。 **系统管理** 基于casbin的RBAC权限控制,借鉴了go-admin项目的前端权限管理,可以在页面对API、菜单、页面按钮等操作,进行灵活且简单的配置。 [//]: # (演示demo: [http://fdevops.com:8001/#/dashboard](http://fdevops.com:8001/#/dashboard)) [//]: # (```) [//]: # (账号:admin) [//]: # (密码:123456) [//]: # () [//]: # (演示demo登陆需要取消ldap验证,就是登陆页面取消ldap的打勾。) [//]: # (```) 文档: [https://www.fdevops.com/docs/ferry](https://www.fdevops.com/docs/ferry-tutorial-document/introduction) 视频教程(由群内好友<稳定>提供,非常感谢。): * ferry工单系统需要的软件准备 https://www.bilibili.com/video/BV1sA411s7jE * ferry源代码下载后第一次运行 https://www.bilibili.com/video/BV1oy4y1v7LR ``` 需注意,因有人恶意删除演示数据,将可删除的数据全都删除了,因此演示的Demo上已经将删除操作的隐藏了。 但是直接在Github或者Gitee下载下来的代码是完整的,请放心。 如果总是出现此类删除数据,关闭演示用户的情况的话,可能考虑不在维护demo,仅放置一些项目截图。 请大家一起监督。 ``` ## 功能介绍

下面对本系统的功能做一个简单介绍。

工单系统相关功能:

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

## 快速安装部署 ### 方式一:一键部署脚本(推荐) **适用系统:** - ✅ 阿里云 Linux 3.2104 U12 - ✅ CentOS 7+ - ✅ RHEL 7+ - ✅ Ubuntu 18.04+ / Ubuntu 24.04 - ✅ Debian 10+ **部署步骤:** 1. **克隆项目** ```bash git clone https://github.com/lanyulei/ferry.git cd ferry ``` 2. **确保 ferry_web 目录存在** ```bash # 如果 ferry_web 目录不存在,需要单独克隆前端项目 git clone https://github.com/lanyulei/ferry_web.git ferry_web ``` 3. **运行一键部署脚本** ```bash # 添加执行权限 chmod +x deploy.sh # 使用 root 用户执行(脚本会自动安装 Docker 和 Docker Compose) sudo ./deploy.sh ``` 4. **访问系统** - 前端地址: `http://服务器IP:8002` - 默认账户: `admin` / `123456` - ⚠️ 登录时如启用LDAP,需取消勾选"LDAP登陆"选项 **脚本功能:** - ✅ 自动检测并安装 Docker 和 Docker Compose - ✅ 自动配置 Docker 镜像加速(阿里云镜像源) - ✅ 检查系统环境和必要文件 - ✅ 自动构建 Docker 镜像 - ✅ 自动启动所有服务(MySQL、Redis、Ferry) - ✅ 自动初始化数据库 - ✅ 显示服务状态和访问信息 **常用命令:** ```bash # 查看服务状态 docker-compose ps # 查看日志 docker-compose logs -f ferry # 查看所有服务日志 docker-compose logs -f # 停止服务 docker-compose down # 重启服务 docker-compose restart # 重新构建并启动 docker-compose up -d --build # 进入容器调试 docker exec -it ferry sh # 手动初始化数据库(如果自动初始化失败) docker exec -it ferry /opt/workflow/ferry/ferry init -c=/opt/workflow/ferry/config/settings.yml ``` **注意事项:** - ⚠️ 首次部署需要确保 `ferry_web` 目录存在且包含前端源码 - ⚠️ 脚本会自动安装 Docker 和 Docker Compose,需要 root 权限 - ⚠️ 默认数据库密码为 `123456`,生产环境建议修改 `docker-compose.yml` 中的密码 - ⚠️ 默认管理员账户为 `admin/123456`,首次登录后请立即修改密码 - ⚠️ 如果端口 8002 被占用,请先停止占用该端口的服务或修改 `docker-compose.yml` 中的端口配置 ### 方式二:手动 Docker Compose 部署 **前提条件:** - 已安装 Docker 和 Docker Compose - 项目目录包含 `ferry_web` 前端源码 **部署步骤:** 1. **构建并启动服务** ```bash docker-compose build --no-cache docker-compose up -d ``` 2. **初始化数据库(首次运行)** ```bash docker exec -it ferry /opt/workflow/ferry/ferry init -c=/opt/workflow/ferry/config/settings.yml ``` 3. **访问系统** - 前端地址: `http://localhost:8002` - 默认账户: `admin` / `123456` ### 方式三:本地开发部署 详细文档: [Docker 快速部署 ferry 工单系统](https://www.fdevops.com/docs/ferry-tutorial-document/docker-ferry-install) ## 战略合作 * [VForm 一款高效的Vue 2 / Vue3 的低代码表单可视化设计,一键生成源码,享受更多摸鱼时间](https://vform666.com/vform3.html) ## 特别感谢 * [go-admin # 不错的后台开发框架](https://github.com/go-admin-team/go-admin) * [vue-element-admin # 不错的前端模版框架](https://github.com/PanJiaChen/vue-element-admin) * [vue-form-making # 表单设计器,开源版本比较简单,如果有能力的话可以自己进行二次开发 ](https://github.com/GavinZhuLei/vue-form-making.git) * [wfd-vue # 流程设计器](https://github.com/guozhaolong/wfd-vue) * [machinery # 任务队列](https://github.com/RichardKnop/machinery.git) 等等... ## 鸣谢 特别感谢 [JetBrains](https://www.jetbrains.com/?from=ferry) 为本开源项目提供免费的 [IntelliJ GoLand](https://www.jetbrains.com/go/?from=ferry) 授权

## License [MIT](https://github.com/lanyulei/ferry/blob/master/LICENSE) Copyright (c) 2024 lanyulei