群晖上部署农场管理系统farmOS
什么是 farmOS ?
farmOS是一个基于Web的应用程序,用于农场管理、规划和记录保存。它由志愿者社区开发,旨在为农民、开发人员和研究人员提供一个标准平台。

需要注意的是,群晖内核版本太低会遇到下面的错误,这个 AH00141 已经遇到多次了,老苏除了换机器,也没找到其他的办法;
1 | AH00141: Could not initialize random number generator |
准备
建数据库
老苏用了群晖自带的 MariaDB 10 数据库。

在 phpMyAdmin 中创建名为 farmos 的空数据库。
为便于说明,假设数据库密码为
123456

所以根据上面的设置,最后得到的数据库相关的参数如下:
- 数据库主机:
192.168.0.197,与群晖主机IP一致; - 数据库端口:
3307 - 数据库用户:
farmos - 数据库密码:
123456 - 数据库库名:
farmos,因为勾选了与用户同名;
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 farmos ,选择第一个 farmos/farmos,版本选择 latest。
本文写作时,
latest版本对应为3.1.2;

卷
在 docker 文件夹中,创建一个新文件夹 farmos,并在其中建一个子文件夹 sites
| 文件夹 | 装载路径 | 说明 |
|---|---|---|
docker/farmos/sites |
/opt/drupal/web/sites |
存放站点预构建文件、设置文件等 |

端口
本地端口不冲突就行,不确定的话可以用命令查一下
1 | # 查看端口占用 |
| 本地端口 | 容器端口 |
|---|---|
6372 |
80 |

命令行安装
如果你熟悉命令行,可能用 docker cli 更快捷
1 | # 新建文件夹 farmos 和 子目录 |
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
1 | version: '3' |
然后执行下面的命令
1 | # 新建文件夹 farmos 和 子目录 |
运行
在浏览器中输入 http://群晖IP:6372 就能看到向导界面

按照前面的数据库设置填写
Database type:使用默认的MySQL, MariaDB, Percona Server, or equivalent即可;Database name:数据库库名;Database username:数据库用户;Database password:数据库用户对应的数据库密码;

点 Advanced options
Host:数据库主机,因为使用了群晖自带的MariaDB,所以这里填群晖主机的IP;Port number:数据库端口;Transaction isolation level:缺省值READ COMMITTEDTable name prefix:数据库表前缀,farm_或者farmos_都是可以的;

点 Save and continue ,会有安装进度显示

开始设置站点名称、账号、国家和时区等

这一步选择需要安装的模块

除了默认的模块外,老苏还勾选了 Translation/localization features 模块,这是语言切换需要的模块。当然,如果现在不安装,后续也可以在设置模块中进行安装

显然选择的模块越多,安装时间会越长

安装完成后的主界面

OpenStreeMap 的加载有点慢,加载完成后

接下来可以开始通过右上角的 Add Asset 添加资产了
Animal:动物Equipment:设备Land:土地Plant:植物Structure:建筑,可以指代农场中的各种建筑物,如农舍、谷仓、大棚、温室等Water:水
如果你安装了更多的模块,可能还会有种子、肥料、 传感器 等物资;
中文(失败)
这是一次失败的尝试,有成功的朋友请不吝赐教
先是尝试了官方提供的方法,https://farmos.org/hosting/localization/
通过 Add language 添加 Chinese,Simplifed

但是会显示下载失败,系统中创建了 translations 目录,但是没有内容

手动下载了 po 文件,地址:https://ftp.drupal.org/files/translations/all/drupal/drupal-10.2.3.zh-hans.po
直接放到 translations 目录或者通过 Import 导入,也都没有成功,算了就先这样吧
参考文档
farmOS/farmOS: farmOS: A web-based farm record keeping application.
地址:https://github.com/farmOS/farmOSpaul121/farm-tugboat-demo: Simple site for creating demos of farmOS.
地址:https://github.com/paul121/farm-tugboat-demofarmOS | 安装
地址:https://farmos.org/hosting/install/farmOS | 官网
地址:https://farmos.org/Chinese, Simplified overview | Translations
地址:https://localize.drupal.org/translate/languages/zh-hans