• 开源项目管理工具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.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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述

    设置

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

    在这里插入图片描述

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

    在这里插入图片描述

    首先需要先进入容器

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

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

    # 运行数据库迁移
    php artisan migrate
    
    • 1
    • 2

    在这里插入图片描述

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

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

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

    • 电子邮件地址: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
    
    • 1

    在这里插入图片描述

    然后执行

    # 一键停止
    docker-compose down
    
    # 一键启动
    docker-compose up -d
    
    • 1
    • 2
    • 3
    • 4
    • 5

    进入 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

  • 相关阅读:
    windows service项目里关于定时器的用法
    LC-220. 存在重复元素 III(滑动窗口+二分,桶排序)
    新学期,新Java
    【PAT(甲级)】1062 Talent and Virtue
    刷题:牛客-快速入门篇
    计算机毕业设计SSM电商后台系统【附源码数据库】
    k8s-16 statefulse控制器
    MySQL:事务的概念 | ACID特性 | 事务并发存在的问题 | 事务处理命令
    系列八、堆(Heap)
    NDSS 2022 EMS: History-Driven Mutation for Coverage-based Fuzzing
  • 原文地址:https://blog.csdn.net/wbsu2004/article/details/134238999