开源项目管理工具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.rhkb.cn/news/183054.html

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

相关文章

类和对象(一)

类和对象&#xff08;一&#xff09; 一&#xff1a;类的实例化1&#xff1a;什么是实例化2&#xff1a;类和对象的关系 二&#xff1a;类的初始化1&#xff1a;就地初始化2&#xff1a;默认初始化 三&#xff1a;this引用1:先看一个日期类的例子2&#xff1a;什么是this引用3&…

基于单片机的智能饮水机系统

收藏和点赞&#xff0c;您的关注是我创作的动力 文章目录 概要 一、系统设计方案分析2.1 设计功能及性能分析2.2设计方案分析 二、系统的硬件设计3.1 系统设计框图系统软件设计4.1 总体介绍原理图 四、 结论 概要 现在很多学校以及家庭使用的饮水机的功能都是比较单一的&#…

【Mac开发环境搭建】JDK安装、多JDK安装与切换

文章目录 JDK下载与安装下载安装 配置环境变量安装多个JDK共存 JDK下载与安装 下载 Oracle官网提供了非常多个版本的JDK供下载&#xff0c;可以点击如下链接重定向到JDK下载页面 ORACLE官网JDK下载 安装 下面的官方文档可以点开收藏到浏览器的收藏夹&#xff0c;这样后续在开…

高性能三防工业平板电脑 防摔防爆电容屏工控平板

HT1000是一款高性能工业三防平板&#xff0c;10.1英寸超清大屏&#xff0c;厚度仅14.9mm&#xff0c;超薄机身&#xff0c;可轻松插入袋中&#xff0c;方便携带&#xff0c;搭载8核2.0GHz高性能CPU&#xff0c;行业领先的Android 11.0&#xff0c;设备性能大幅提升&#xff0c;…

leetcode2054

leetcode 2054 #include <iostream> #include <vector> #include <tuple> #include <algorithm>using namespace std;struct Event {// 时间戳int ts;// op 0 表示左边界&#xff0c;op 1 表示右边界int op;int val;Event(int _ts, int _op, int _v…

本周三商店更新:多款套装下线,四款升级武器带异色皮肤返厂

本周三将迎来26.2版本更新与11商店大更新&#xff0c;版本更新可点击26.2版本更新公告进行查看&#xff0c;这里不一一赘述了&#xff0c;下面大概罗列一下商店更新&#xff0c;有皮肤下架&#xff0c;大家还能趁最后时间入手&#xff0c;最重要的是四款升级武器返厂咯。 危险玩…

Git 安全警告修复手册:解决 `fatal: detected dubious ownership in repository at ` 问题 ️

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

Unity meta的一些常见属性

Unity会项目文件夹中的每个文件分配一个同名后缀为.meta的文件。 我们可以将meta文件理解不同文件之间的桥梁&#xff0c;通过它引擎可以管理不同文件之间的依赖关系。 使用TXT文本文件打开之后&#xff0c;大致属性如下&#xff1a; 其中常用的属性有guid、 assetBundleName以…

MYSQL:主从复制简述

&#xff08;图片来自于马士兵教育&#xff09; 从节点的I/O线程会请求主节点的Binlog&#xff0c;并且将得到的Binlog写入到本地relay_log&#xff08;中继日志&#xff09;中&#xff0c;SQL线程会读取realy_log中的日志文件&#xff0c;并且解析成SQL逐行执行。 主库会生成…

C-DS二叉树_另一棵树的子树

Description 给你两棵二叉树tree1和tree2&#xff0c;检验tree1中是否包含和tree2具有相同结构和结点值的子树。如果存在&#xff0c;输出true&#xff1b;否则&#xff0c;输出false。 Input 第一行输入t&#xff0c;表示有t个测试样例。 第二行首先输入n1&#xff0c;接着…

WPS表格无法粘贴信息,原因是复制区域与粘贴区域形状不同

WPS表格无法粘贴信息&#xff0c;原因是复制区域与粘贴区域形状不同 问题描述 我是选中了一整列&#xff0c;复制&#xff0c;但是无法粘贴到另一个EXCEL表格中 原因 首先我的数据量很大&#xff0c;有20万行&#xff0c;然后需要复制的EXCEL是.xls格式的&#xff0c;.xls格…

【UART】UART QA

UART常见知识点整理 定义&#xff1a;Universal Asynchronous Receiver/Transmitter - 通用异步收发传输器。 特点&#xff1a;速率不快、可全双工、结构上一般由波特率产生器、UART发送器、UART接收器组成&#xff0c;硬件2-3线。 线&#xff1a;RXD&#xff0c;TXD&#xff0…

SonarQube的使用心得

一、使用背景&#xff1a; SonarQube 是一个用于代码质量管理的开源平台&#xff0c;用于管理源代码的质量。 通过插件形式&#xff0c;可以支持包括 java, C#, C/C, PL/SQL, Cobol, JavaScrip, Groovy 等等二十几种编程语言的代码质量管理与检测。 Sonar可以从以下七个维度…

LSTM缓解梯度消失问题

关于LSTM https://easyai.tech/ai-definition/lstm/ https://towardsdatascience.com/illustrated-guide-to-lstms-and-gru-s-a-step-by-step-explanation-44e9eb85bf21 为何LSTM缓解梯度消失问题 为什么LSTM会减缓梯度消失&#xff1f; - 知乎 LSTM引入长短期记忆&#xf…

【STL】:list的模拟实现

朋友们、伙计们&#xff0c;我们又见面了&#xff0c;本期来给大家解读一下有关list的模拟实现&#xff0c;如果看完之后对你有一定的启发&#xff0c;那么请留下你的三连&#xff0c;祝大家心想事成&#xff01; C 语 言 专 栏&#xff1a;C语言&#xff1a;从入门到精通 数据…

【Linux】编译安装nginx,手写service配置文件,深度理解systemd控制管理服务底层原理

目录 一、了解服务 1、服务的本质 2、centos7的systemd的服务 3、service unit file配置文件的组成以及掌握常用选项 4、关于systemd管理的命令学习 5、运行级别 二、编译安装nginx&#xff0c;以及手写service配置文件&#xff0c;请看注释 ​编辑 一、了解服务 1、服…

【C语言】函数的系统化精讲(二)

&#x1f308;write in front :&#x1f50d;个人主页 &#xff1a; 啊森要自信的主页 &#x1f308;作者寄语 &#x1f308;&#xff1a; 小菜鸟的力量不在于它的体型&#xff0c;而在于它内心的勇气和无限的潜能&#xff0c;只要你有决心&#xff0c;就没有什么事情是不可能的…

AI系统ChatGPT程序源码+AI绘画系统源码+支持GPT4.0+Midjourney绘画

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…

【计算机网络】数据链路层-MAC和ARP协议

文章目录 1. 认识以太网2. MAC协议MAC帧的格式MAC地址和IP地址的区别MTU 3. 局域网通信原理碰撞检测和避免 4. ARP协议ARP数据报的格式ARP缓存 1. 认识以太网 网络层解决的是跨网络点到点传输的问题&#xff0c;数据链路层解决的是同一网络中的通信。 数据链路层负责在同一局域…

SpringBoot + Vue2项目打包部署到服务器后,使用Nginx配置SSL证书,配置访问HTTP协议转HTTPS协议

配置nginx.conf文件&#xff0c;这个文件一般在/etc/nginx/...中&#xff0c;由于每个人的体质不一样&#xff0c;也有可能在别的路径里&#xff0c;自己找找... # 配置工作进程的最大连接数 events {worker_connections 1024; }# 配置HTTP服务 http {# 导入mime.types配置文件…