什么是 Helper ?
Helper
是基于Laravel
和Filament
的开源项目管理工具。
官方提供了在线演示: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.7
container_name: helper-mysql
volumes:
- ./data:/var/lib/mysql
environment:
- MYSQL_DATABASE=helper
- MYSQL_USER=helper
- MYSQL_PASSWORD=helper
- MYSQL_ROOT_PASSWORD=helper
command: --default-storage-engine innodb
restart: unless-stopped
healthcheck:
test: mysqladmin -p$$MYSQL_ROOT_PASSWORD ping -h localhost
interval: 20s
start_period: 10s
timeout: 10s
retries: 3
helper:
image: eloufirhatim/helper:latest
container_name: helper-server
environment:
- 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=null
depends_on:
- sqldb
restart: "no"
ports:
- 8114:8000
volumes:
- /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
,选择 French
点 Save
保存
刷新一下页面就能看到中文了
但还有显示英文或者法文的地方,这个老苏就没招了
参考文档
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