可协作植物管理工具HortusFox

发布时间:2024年01月15日

在这里插入图片描述

什么是 HortusFox ?

HortusFox 是一个自托管的协作植物管理系统,您可以在自己的环境中使用它来管理所有的植物。您可以添加植物,并附带各种详细信息和照片,并将它们分配到环境中的位置。系统提供了一个仪表板,显示所有重要的概览信息。该系统还具有警告系统,以指示哪些植物需要特殊关注,还包括用户身份验证、任务、库存管理、协作聊天和用户所采取的操作历史记录。该系统支持协作管理,因此您可以与多个用户共同管理您的植物。

这是国外一位程序员为女朋友开发的,用于记录她家里 100 多株植物的情况

软件特点:

  • 管理植物并将其分配到位置
  • 包括植物的许多详细信息,以及标签系统和照片上传功能
  • 任务功能:跟踪植物养育所需的任务
  • 库存管理系统:跟踪与植物相关的库存
  • 搜索功能:搜索文本标记或植物 ID
  • 植物历史记录:跟踪已经消失的植物
  • 群组聊天:交流重要的与植物相关的信息
  • 管理员仪表盘:管理系统、用户、位置和媒体
  • 用户仪表盘:查看位置和其他重要信息

你可以先去官方演示站点进行体验:https://www.hortusfox.com/demo

在这里插入图片描述

构建镜像

如果你不想自己构建,可以跳过,直接阅读下一章节

官方提供了 Dockerfile 文件,但没找到镜像,所以需要自己编一下,对应的软件版本为 v1.6

在这里插入图片描述

构建镜像和容器运行的基本命令如下👇

# 下载代码
git clone https://github.com/danielbrendel/hortusfox-web.git

# 进入目录  
cd hortusfox-web

# 构建镜像
docker build -t wbsu2003/hortusfox-web:v1 .

# 运行容器
docker-compose up -d

安装

在群晖上以 Docker 方式安装。

需要注意的是,群晖内核版本太低会遇到下面的错误,这个 AH00141 已经遇到多次了,老苏除了换机器,也没找到其他的办法;

Function not implemented: AH00141: Could not initialize random number generator

在注册表中搜索 hortusfox ,选择第二个 wbsu2003/hortusfox,版本选择 latest

在这里插入图片描述

涉及到前、后端两个容器,所以采用 docker-compose 安装更简单一些

请将下面的内容保存为 docker-compose.yml 文件

version: '3.8'

services:
  app:
    image: wbsu2003/hortusfox-web
    container_name: hortusfox-web
    ports:
      - "3094:80"
    environment:
      APP_DEBUG: "true"
      DB_HOST: db
      DB_PORT: 3306
      DB_DATABASE: hortusfox
      DB_USERNAME: hortusfox
      DB_PASSWORD: password
      DB_CHARSET: "utf8mb4"
      HORTUSFOX_ADMIN: wbsu2003@gmail.com
      HORTUSFOX_PASSWORD: 123456
    depends_on:
      - db

  db:
    image: mariadb
    container_name: hortusfox-db
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: my-secret-pw
      MYSQL_DATABASE: hortusfox
      MYSQL_USER: hortusfox
      MYSQL_PASSWORD: password
    ports:
      - "3308:3306"
    volumes:
      - ./data:/var/lib/mysql
  • 容器 hortusfox-db 的环境变量
可变
MYSQL_ROOT_PASSWORD数据库用户 root 用户对应的密码
MYSQL_DATABASE数据库库名
MYSQL_USER数据库用户
MYSQL_PASSWORD数据库用户对应的密码
  • 容器 hortusfox-web 的环境变量
可变
APP_DEBUG调试模式
DB_HOST数据库主机
DB_PORT数据库端口
DB_DATABASE数据库库名,对应 MYSQL_DATABASE 的值
DB_USERNAME数据库用户,对应 MYSQL_USER 的值
DB_PASSWORD数据库主机,对应 DB_PASSWORD 的值
DB_CHARSET数据库字符集
HORTUSFOX_ADMIN管理员账号,不设会有默认值
HORTUSFOX_PASSWORD管理员密码,不设会自动生成

然后执行下面的命令

# 新建文件夹 hortusfox 和 子目录
mkdir -p /volume2/docker/hortusfox/data

# 进入 hortusfox 目录
cd /volume2/docker/hortusfox

# 将 docker-compose.yml 放入当前目录

# 一键启动数据库
docker-compose up -d db

# 稍等一会再一键启动
docker-compose up -d

一定要先启动数据库,等一会儿再启动 HortusFox,否则会登录失败

以往到这里就结束了,但是这个镜像还不行,因为在上传植物照片时,会报错

在这里插入图片描述

经过老苏的测试,发现应该是图片目录权限是 755 没有写入权限导致的。既然知道了原因,就好办了

# 进入容器
docker exec -it hortusfox-web /bin/bash

# 修改目录权限
chmod 777 ./public/img

在这里插入图片描述

运行

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

在这里插入图片描述

如果你没有设置 HORTUSFOX_ADMINHORTUSFOX_PASSWORD,容器 hortusfox-web 在启动时会自动生成管理员账号和密码,在日志中能找到

在这里插入图片描述

这界面风格应该是为移动端浏览器设计的

在这里插入图片描述

软件支持多语言,但是目前只有 英文德文

在这里插入图片描述

添加 Locations

从设置中找到 Locations

在这里插入图片描述

Add Location 添加区域

关于 Icon 支持 Font Awesome 5,老苏参照官方的图标,在这里找到了几个常用的图标
https://www.w3schools.com/icons/fontawesome5_intro.asp

  • 花园:fas fa-leaf
  • 阳台:fas fa-crow
  • 卧室:fas fa-bed
  • 游戏室:fas fa-gamepad
  • 厨房:fas fa-utensils
  • 客厅:fas fa-couch
  • 浴室:fas fa-bath

在这里插入图片描述

添加成功后,可以修改和删除

在这里插入图片描述

回到首页

在这里插入图片描述

添加 Plant

Add Plant 添加植物

在这里插入图片描述

  • 似乎对图片的兼容性不是太好,比较容易报错;
  • 图片目录没有映射到本地目录,所以重装会导致图片丢失;

添加成功,可以继续添加其他的植物

在这里插入图片描述

回到首页

在这里插入图片描述

创建任务

Create new 创建新任务

在这里插入图片描述

任务有点简陋

在这里插入图片描述

已经完成的任务,可以在 Done 里找到

在这里插入图片描述

其他还有库存(Inventory)、聊天(Chat) 等功能,有兴趣可以自己摸索

参考文档

danielbrendel/hortusfox-web: Self-hosted collaborative plant management system for your local environment
地址:https://github.com/danielbrendel/hortusfox-web

hortusfox.github.io
地址:https://hortusfox.github.io/

HortusFox: Plant Manager App
地址:https://www.hortusfox.com/

HortusFox, the selfhosted & collaborative plant manager app, reached version 1.6 today! : selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/193kmr8/hortusfox_the_selfhosted_collaborative_plant/

What is HortusFox? An explanation : hortusfox
地址:https://www.reddit.com/r/hortusfox/comments/18ybo0r/what_is_hortusfox_an_explanation/

文章来源:https://blog.csdn.net/wbsu2004/article/details/135593428
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。