什么是 farmOS ?
farmOS
是一个基于Web
的应用程序,用于农场管理、规划和记录保存。它由志愿者社区开发,旨在为农民、开发人员和研究人员提供一个标准平台。
需要注意的是,群晖内核版本太低会遇到下面的错误,这个 AH00141
已经遇到多次了,老苏除了换机器,也没找到其他的办法;
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 | 存放站点预构建文件、设置文件等 |
端口
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 | 容器端口 |
---|---|
6372 | 80 |
命令行安装
如果你熟悉命令行,可能用 docker cli
更快捷
# 新建文件夹 farmos 和 子目录
mkdir -p /volume2/docker/farmos/sites
# 进入 farmos 目录
cd /volume2/docker/farmos
# 运行容器
docker run -d \
--restart unless-stopped \
--name farmos \
-p 6372:80 \
-v $(pwd)/sites:/opt/drupal/web/sites \
farmos/farmos
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
version: '3'
services:
farmos:
image: farmos/farmos
container_name: farmos
restart: unless-stopped
ports:
- 6372:80
volumes:
- ./sites:/opt/drupal/web/sites
然后执行下面的命令
# 新建文件夹 farmos 和 子目录
mkdir -p /volume2/docker/farmos/sites
# 进入 farmos 目录
cd /volume2/docker/farmos
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
运行
在浏览器中输入 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 COMMITTED
Table 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/farmOS
paul121/farm-tugboat-demo: Simple site for creating demos of farmOS.
地址:https://github.com/paul121/farm-tugboat-demo
farmOS | 安装
地址:https://farmos.org/hosting/install/
farmOS | 官网
地址:https://farmos.org/
Chinese, Simplified overview | Translations
地址:https://localize.drupal.org/translate/languages/zh-hans