开源项目管理工具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,一经查实,立即删除!

相关文章

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

随着互联网技术的不断发展&#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;公司从上…

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

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

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

文章目录 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;数据的传输开始有地址了。 局域网是工作…

目标检测中的评价指标

目标检测中的评价指标 将检测目标分为正样本和负样本。 真阳性&#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;还包括标点和空格键。那么如…

5G及其后的5G非地面网络:趋势和研究挑战-HARQ部分

NTN组件纳入5G架构第一步 在NTN SI中定义了一组架构选项。就NT部分而言&#xff0c;已确定了两大类&#xff1a;星载&#xff08;即基于卫星的通信平台&#xff09;和机载&#xff08;即HAPS&#xff09;设备 并行管理HARQ最大进程数 NHARQRTT(NTX−1)2μ NTX&#xff1a;传输…

【Vue】vant2使用van-tree-select实现【全选、反选、搜索】,自定义组件,拿去即用。2.0版本保姆级教程

系列文章目录 这是原篇教程&#xff0c;本篇为升级版&#xff0c;旧版已废弃。对你们不友好。 【Vue】vue2移动端 &#xff0c;vant2使用van-tree-select分类选择实现【全选】和【取消全选】、【搜索过滤当前children】&#xff0c;只影响当前显示children&#xff0c;并且去重…

破解密码 LLM(代码LLM如何从 RNN 发展到 Transformer)

舒巴姆阿加瓦尔 一、说明 近年来&#xff0c;随着 Transformer 的引入&#xff0c;语言模型发生了显着的演变&#xff0c;它彻底改变了我们执行日常任务的方式&#xff0c;例如编写电子邮件、创建文档、搜索网络甚至编码方式。随着研究人员在代码智能任务中应用大型语言模型&am…

Docker概述

Docker概述 Docker概述Docker安装Docker命令 镜像命令容器命令操作命令 … Docker镜像容器数据卷DockerFileDocker网络管理IDEA整合DockerDocker ComposeDocker Swarm 简化版的K8s Docker为什么出现&#xff1f; 传统的项目部署&#xff0c;环境配置是十分麻烦&#xff0c;第…

如何利用JSON Schema校验JSON数据格式

最近笔者在工作中需要监控一批http接口&#xff0c;并对返回的JSON数据进行校验。正好之前在某前端大神的分享中得知这个神器的存在&#xff0c;调研一番之后应用在该项目中&#xff0c;并取得了不错的效果&#xff0c;特地在此分享给各位读者。<br style"box-sizing: …

STM32 IIC 实验

1. 可以选择I2C1&#xff0c;也可以选择I2C2&#xff0c;或者同时选择&#xff0c;同时运行 配置时钟信号 为节约空间&#xff0c;选择这两个&#xff0c;然后选择GENERATE CODE 二、HAL_I2C_Mem_Write I2C_HandleTypeDef *hi2c&#xff1a;I2C设备句柄 uint16_t DevAddress&am…

IDEA JAVA项目 导入JAR包,打JAR包 和 JAVA运行JAR命令提示没有主清单属性

一、导入JAR包 1、java项目在没有导入该jar包之前&#xff0c;如图&#xff1a;2、点击 File -> Project Structure&#xff08;快捷键 Ctrl Alt Shift s&#xff09;&#xff0c;点击Project Structure界面左侧的“Modules”如图&#xff1a;3.在 “Dependencies” 标签…

《006.Springboot+vue之旅游信息推荐系统》【有文档】

《006.Springbootvue之旅游信息推荐系统》【有文档】 项目简介 [1]本系统涉及到的技术主要如下&#xff1a; 推荐环境配置&#xff1a;DEA jdk1.8 Maven MySQL 前后端分离; 后台&#xff1a;SpringBootMybatis; 前台&#xff1a;vueElementUI; [2]功能模块展示&#xff1a; …