什么是 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_ADMIN
和 HORTUSFOX_PASSWORD
,容器 hortusfox-web
在启动时会自动生成管理员账号和密码,在日志中能找到
这界面风格应该是为移动端浏览器设计的
软件支持多语言,但是目前只有 英文
和 德文
从设置中找到 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
添加成功后,可以修改和删除
回到首页
点 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/