开源项目管理工具Helper的安装及汉化

在这里插入图片描述

什么是 Helper ?

Helper 是基于 LaravelFilament 的开源项目管理工具。

官方提供了在线演示:https://project-helper.net

安装

在群晖上以 Docker 方式安装。

数据库理论上是可以使用群晖自带的 MariaDB 的,但老苏为了省事,采用了 docker-compose 方式安装了独立的 MySQL 容器。将下面的内容保存为 docker-compose.yml 文件

老苏折腾时,eloufirhatim/helper:latest 中,latest 对应的版本为 1.2.3

在这里插入图片描述

version: "3.3"services:sqldb:image: mysql:5.7container_name: helper-mysqlvolumes:- ./data:/var/lib/mysqlenvironment:- MYSQL_DATABASE=helper- MYSQL_USER=helper- MYSQL_PASSWORD=helper- MYSQL_ROOT_PASSWORD=helpercommand: --default-storage-engine innodbrestart: unless-stoppedhealthcheck:test: mysqladmin -p$$MYSQL_ROOT_PASSWORD ping -h localhostinterval: 20sstart_period: 10stimeout: 10sretries: 3helper:image: eloufirhatim/helper:latestcontainer_name: helper-serverenvironment:- DB_CONNECTION=mysql- DB_HOST=sqldb- DB_PORT=3306- DB_DATABASE=helper- DB_USERNAME=helper- DB_PASSWORD=helper- MAIL_MAILER=smtp- MAIL_HOST=smtp.88.com- MAIL_PORT=25- MAIL_USERNAME=wbsu2003@88.com- MAIL_PASSWORD=<你的第三方邮件客户端密码>- MAIL_FROM_ADDRESS=wbsu2003@88.com- MAIL_ENCRYPTION=nulldepends_on:- sqldbrestart: "no"ports:- 8114:8000volumes:- /etc/localtime:/etc/localtime
  • DB_:这是跟数据库设置相关的参数,除了 DB_PASSWORD ,你可以都使用默认值;
  • MAIL_:这是跟邮件相关的设置,一旦设置错误,注册用户什么的就会报错,但又没有好的调试手段,只能根据自己的邮箱慢慢试验,这是比较麻烦的地方。当然 88.com 邮箱,我已经帮大家踩过坑了

更多参数设置,请参考官方的文档:https://devaslanphp.github.io/project-management/#/installation?id=configuration

或者也可以去参考官方的 .env.example 文件:https://github.com/devaslanphp/project-management/blob/master/.env.example

然后执行下面的命令

# 新建文件夹 helper 和 子目录
mkdir -p /volume1/docker/helper/data# 进入 helper 目录
cd /volume1/docker/helper# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d

在这里插入图片描述

设置

往常到这里就结束了,但是 Helper 平台提供服务之前,还需要做最后一步的数据库的安装和配置,否则会报错,例如注册的时候显示 👇 helper.users 表不存在这样的数据库错误

在这里插入图片描述

所以当你在 helper-server 容器日志中看到 INFO Server running on [http://0.0.0.0:8000]. 时,就可以开始下面的操作了

在这里插入图片描述

首先需要先进入容器

# 进入容器
docker exec -it helper-server /bin/bash

然后在容器中执行数据库命令

# 运行数据库迁移
php artisan migrate

在这里插入图片描述

接下来继续执行下面的命令

# 插入平台使用的默认用户、引用和权限
php artisan db:seed# 退出容器
exit

这一步会创建默认管理员用户

  • 电子邮件地址:john.doe@helper.app
  • 密码:Passw@rd

在这里插入图片描述

运行

在浏览器中输入 http://群晖IP:8114 就能看到登录界面

在这里插入图片描述

你可以用默认的管理员用户登录,登录后的主界面

在这里插入图片描述

新建用户

在登录界面,点 create a new account 创建用户

注意密码不能少于 8 位;

在这里插入图片描述

第一次登陆,需要验证邮件

在这里插入图片描述

如果邮件设置没问题,应该很快就会收到邮件的

在这里插入图片描述

登录成功后的主界面非常简单,应该是没设置角色权限导致的

在这里插入图片描述

汉化

虽然 Helper 号称提供了60 多种语言可供使用,但居然没有中文。既然官方说是是用 google 翻译的,老苏也来试试

在这里插入图片描述

首先在当前目录下,再建一个 lang 目录

在这里插入图片描述

为什么是 fr 而不是 cn,是老苏不想修改 config/system.php 增加语言类型,所以将中文伪装成了法文

在这里插入图片描述

所涉及到的文件,是基于官方的 /lang/fr.json/lang/fr 汉化而来

语言包文件地址:https://github.com/devaslanphp/project-management/tree/master/lang

在这里插入图片描述

不过老苏使用了比谷歌翻译更简单准确的方法,那就是让 ChatGPT 来做这件事情

在这里插入图片描述

老苏翻译的语言包,下载地址:https://github.com/wbsu2003/synology/blob/main/Helper/lang.zip

下载后,解压到 helper/lang ,目录结构如下:

在这里插入图片描述

有两种办法来加载汉化包

  • 一种是直接挂载 lang 目录,但是这种方法,缺点是会导致除了法语外,选其他任何语言都会显示为英文;优点是你要是觉得哪里翻译的不好,可以自己修改文件;
  • 另一种是将 lang 目录通过 docker cp ./lang/. helper-server:/app/lang 复制到容器内,好处是每种语言都会有相应的显示,缺点是每次你改了都要重新覆盖一遍,重装了也是一样的;

这里就介绍第一种方法,在 docker-compose.yml 最后添加一行

	- ./lang:/app/lang

在这里插入图片描述

然后执行

# 一键停止
docker-compose down# 一键启动
docker-compose up -d

进入 General --> Site Language,选择 FrenchSave 保存

在这里插入图片描述

刷新一下页面就能看到中文了

在这里插入图片描述

但还有显示英文或者法文的地方,这个老苏就没招了

在这里插入图片描述

参考文档

devaslanphp/project-management: An open source Project management tool based on Laravel and Filament
地址:https://github.com/devaslanphp/project-management

Helper - Documentation
地址:https://devaslanphp.github.io/project-management

Laravel Project Management Tool - EL OUFIR Hatim - Medium
地址:https://medium.com/@eloufirhatim/laravel-project-management-tool-c07eb140f769

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构与算法:队列栈BFSDFS

诸神缄默不语-个人CSDN博文目录 我和ChatGPT一起制作了一个框架&#xff0c;现在只填充了一部分&#xff0c;具体的在补了。 在复杂数据结构的学习路线图中&#xff0c;队列和栈是两种基础且重要的数据结构&#xff0c;它们是广度优先搜索&#xff08;BFS&#xff09;和深度优…

GIT 遇到问题

GIT 遇到问题 > git pull --tags From https://gitee.com/gdgmzwx/react-project-demo* [new branch] master -> origin/master There is no tracking information for the current branch. Please specify which branch you want to merge with. See git-pull(…

千兆光模块和万兆光模块的发展前景与市场分析

随着互联网技术的不断发展&#xff0c;千兆光模块和万兆光模块作为网络传输的核心部件&#xff0c;在数据传输领域已得到广泛的应用。本文将从发展历程、市场前景和应用案例三个方面详细分析千兆光模块和万兆光模块的优势和未来发展前景。 一、千兆光模块和万兆光模块的发展历…

WPF中的Binding的常见知识点与技巧

完全来源于十月的寒流&#xff0c;感谢大佬讲解 在XAML中&#xff0c;可以绑定到许多不同类型的数据源和属性。以下是一些可以绑定的常见数据源和属性&#xff1a; 属性&#xff1a;可以绑定到对象的属性&#xff0c;例如控件的Text、Visibility、IsEnabled等属性。 集合&am…

【网络】五中IO模型介绍 + 多路转接中select和poll服务器的简单编写

高级IO 前言正式开始前面的IO函数简单过一遍什么叫做低效的IO钓鱼的例子同步IO和异步IO五种IO模型阻塞IO非阻塞IO信号驱动多路转接异步IO 小结 代码演示非阻塞IO多路转接select介绍简易select服务器timeout 为 nullptrtimeout 为 {0, 0}timeout 为 {5, 0}调用accept select编写…

第二证券:消费电子概念活跃,博硕科技“20cm”涨停,天龙股份斩获10连板

消费电子概念7日盘中再度拉升&#xff0c;到发稿&#xff0c;博硕科技“20cm”涨停&#xff0c;光大同创、波长光电涨超10%&#xff0c;易德龙、向阳科技、得润电子、天龙股份、同兴达等涨停。 博硕科技强势涨停&#xff0c;公司昨日在接受安排调研时表明&#xff0c;公司从上…

LeetCode之二:字母异位词分组

题目 给你一个字符串数组&#xff0c;请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”] 输出: [[“bat”],[“nat”…

前端框架Vue学习 ——(四)Axios

文章目录 Axios 介绍Axios 入门Vue项目中使用 Axios Axios 介绍 介绍: Axios 对原生的 Ajax 进行了封装&#xff0c;简化书写&#xff0c;快速开发。&#xff08;异步请求&#xff09; 官网: https://www.axios-http.cn/ 官网介绍&#xff1a;Axios 是一个基于 promise 网络请…

基于点云的深度学习方法综述

基于点云的深度学习方法综述_点云深度学习_视觉先锋的博客-CSDN博客 我们生活在一个三维世界里&#xff0c;自从1888年相机问世以来&#xff0c;三维世界的视觉信息就通过相机被映射到二维图象上。但是二维图像的缺点也是显而易见的&#xff0c;那就是缺少深度信息以及真实世界…

python3中\和\\

在python3中\和\\都表示\。请看如下示例代码&#xff0c; s "ep_match\.log" print(s) s "ep_match\\.log" print(s) s "ep_match\\\.log" print(s) s "ep_match\\\\.log" print(s) 说明一下&#xff0c;上述代码在linux和windo…

数据结构和算法是人工智能的基石

文章目录 1. 引言2. 主要内容3. 联合推荐4. 购买方式5. 总结 1. 引言 数据结构和算法是计算机科学的基石&#xff0c;是计算机的灵魂&#xff0c; 要想成为计算机专业人员&#xff0c;学习和掌握算法是十分必要的。不懂数据结构和算法的人不可能写出效率更高的代码。计算机科学…

php实现钉钉机器人推送消息和图片内容(完整版)

先来看下实现效果: 代码如下: function send_dingtalk_markdown($webhook , $title , $message "", $atMobiles [], $atUserIds []) {$data ["msgtype" > "markdown","markdown" > ["title" > $title,&quo…

Luckysheet 实现excel多人在线协同编辑

前言 前些天看到Luckysheet支持协同编辑Excel&#xff0c;正符合我们协同项目的一部分&#xff0c;故而想进一步完善协同文章&#xff0c;但是遇到了一下困难&#xff0c;特此做声明哈&#xff0c;若侵权&#xff0c;请联系我删除文章&#xff01; 若侵犯版权、个人隐私&#x…

五、计算机网络

&#xff08;一&#xff09;OSI/RM 七层模型 七层模型是计算机网络的基石&#xff0c;整个计算机网络是构建与七层模型之上的。 在数据链路层&#xff0c;数据开始以帧为单位&#xff0c;网卡的 MAC 地址就是数据帧的地址&#xff0c;数据的传输开始有地址了。 局域网是工作…

能介绍一下Git的分支管理功能吗?

Git 的分支管理功能是它最强大和受欢迎的特性之一。分支在 Git 中是指开发人员可以在同一个代码仓库中创建的独立工作流。下面是 Git 分支管理的一些关键概念&#xff1a; 主分支&#xff08;Master/Main Branch&#xff09;&#xff1a;主分支是 Git 仓库的默认分支&#xff…

目标检测中的评价指标

目标检测中的评价指标 将检测目标分为正样本和负样本。 真阳性&#xff08;true positives , TP&#xff09; : 正样本被正确识别为正样本。 假阳性&#xff08;false positives, FP&#xff09;: 负样本被错误识别为正样本。 假阴性&#xff08;false negatives, FN&#…

Floor报错注入理论及实战

rand()函数&#xff1a;随机返回0-1之间的小数 floor()函数&#xff1a;小数向下取证书。向上取整数ceiling() concat_ws函数&#xff1a;将括号内数据用第一个字段连接起来 group by子句&#xff1a;分组语句&#xff0c;常用语结合统计函数&#xff0c;根据一个或多个列&a…

word统计全部字符数。

问题描述&#xff1a;在投稿SCI论文时&#xff0c;有时会要求提交一个highlight文档&#xff0c;要求不超过85个字符。 具体如下&#xff1a;maximum 85 characters per bullet point including spaces 这里的字符不单单包括字母和汉字&#xff0c;还包括标点和空格键。那么如…

0-JavaWeb基础总结

0-JavaWeb基础总结 内容文章链接1-前端基本知识-1-HTMLhttps://blog.csdn.net/qq_45445505/article/details/1342734321-前端基本知识-2-CSShttps://blog.csdn.net/qq_45445505/article/details/1342734751-前端基本知识-3-JavaScripthttps://blog.csdn.net/qq_45445505/artic…

linux添加一条到中间路由器的路由

有时候需要配置一些明细路由&#xff0c;不能直接通过网关进行路由转发 配置示例 ip route add 10.0.12.0/24 via 10.0.41.1 dev bond0 这个命令是用于在Linux操作系统上配置IP路由的命令。具体来说&#xff0c;这个命令的含义是&#xff1a; ip route add: 这部分表示要添加…