群晖上部署农场管理系统farmOS

在这里插入图片描述

什么是 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 端口号
本地端口容器端口
637280

命令行安装

如果你熟悉命令行,可能用 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/farmoscontainer_name: farmosrestart: unless-stoppedports:- 6372:80volumes:- ./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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/8075.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高实时、高可靠的微内核操作系统——鸿道Intewell

近年来,我国不断推进工业转型升级,力求实现从传统工业大国向现代工业强国的跨越。想要在新一轮科技革命中“超车”,需要从多个维度进行深度布局和全面发力。 ——科技创新是核心驱动力 积极推动工业结构的优化和升级,通过发展新…

vue脚手架和vite创建的项目的环境配置

开发环境文件 .env.development NODE_ENV"development" # // 开发接口域名 本地测试就用这个 # vue脚手架创建的 VUE_APP_MODE"开发环境" VUE_APP_API_URL http://19527 # vite创建的 # VITE_MODE"开发环境" # VITE_BASE_URL http://1920:9527…

python环比分析日常消费数据掌握月支出增减情况

欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一.前言 二.代码 三.分析 一.前言 月支出是指个人或家庭在一个月内用于消费、投资、储蓄等方面的资金流出总额。它是反映个人或家庭经济状况的重要指标之一,可以帮助人们更好地规划和管理自己的财务。 月支出的构成…

Linux系统(项目管理和LINUX)

目录 一、VMWare安装和使用 1.安装VMware 2.使用VMware 二、常用命令 三、常用配置 环境变量配置: 系统文件配置: 软件包配置: 安全配置: 其他配置: 四、Xshell的使用 安装 Xshell: 启动 Xshe…

《论文阅读》MISC:一个融合COMET的情感支持会话混合策略感知模型 ACL 2022

《论文阅读》MISC:一个融合COMET的情感支持会话混合策略感知模型 ACL 2022 前言简介模型架构Mental State-Enhanced EncoderMixed Strategy Learning ModuleMulti-Factor-Aware Decoder损失函数实验评估问题前言 亲身阅读感受分享,细节画图解释,再也不用担心看不懂论文啦~ …

linux设置挂载指定的usb,自动挂载

一、设置指定的USB 在Linux系统中,如果您只想让系统挂载特定的USB设备,而忽略其他的USB设备,可以通过创建自定义的udev规则来实现。以下是设置系统只能挂载指定USB设备的基本步骤: 确定USB设备的属性: 首先&#xff0…

力扣热题100刷题笔记[python]

letcode100 题录地址: https://leetcode.cn/studyplan/top-100-liked/ 注:另外有记忆精简版 [LeetCode热题100_记忆版.md](file:///D:/yingl/文件/notes_-yl/技术精品文章/编程基本功/算法资料汇总/LeetCode热题100_记忆版.md) 哈希 两数之和 思路: 0、用 hash_table =…

LLMs之GPT4ALL:GPT4ALL的简介、安装和使用方法、案例应用之详细攻略

LLMs之GPT4ALL:GPT4ALL的简介、安装和使用方法、案例应用之详细攻略 目录 GPT4ALL的简介 0、新功能 1、特点 2、功能 3、技术报告 GPT4ALL的安装和使用方法 1、安装 2、使用方法 GPT4ALL的案例应用 LLMs之LLaMA3:基于GPT4ALL框架对LLaMA-3实现…

【DeepLearning.AI】吴恩达系列课程——使用ChatGPT API构建系统(持续更新中——)

目录 前言一、Language Models, the Chat Format and Tokens(LLM,交互形式)1-1、加载api-key1-2、使用辅助函数(即指令调整LLM)1-2、使用辅助函数(聊天格式)1-3、辅助函数修改(输出字…

Python中的多线程与多进程编程:深入解析与应用

Python中的多线程与多进程编程:深入解析与应用 一、引言 在Python编程中,多线程和多进程是实现并发执行的重要手段。随着计算需求的日益增长,单线程或单进程模型往往难以满足实时响应、高效利用多核CPU等要求。因此,了解并掌握P…

安卓SELinux策略

SELinux策略语言–类型强制(编写TE规则) selinux权限说明及问题解决 Selinux篇3 -TE规则 Android中SeLinux权限 .te文件编写 Android 系统添加SELinux权限 [SeLinux]audit2allow安装与使用 SELinux规则添加进阶

文件各种上传,离不开的表单 [html5]

作为程序员的我们,经常会要用到文件的上传和下载功能。到了需要用的时候,各种查资料。有木有..有木有...。为了方便下次使用,这里来做个总结和备忘。 利用表单实现文件上传 最原始、最简单、最粗暴的文件上传。 前端代码: //方…

LeetCode力扣题目111:多种算法对比实现二叉树的最小深度

作者介绍:10年大厂数据\经营分析经验,现任大厂数据部门负责人。 会一些的技术:数据分析、算法、SQL、大数据相关、python 欢迎加入社区:码上找工作 作者专栏每日更新: LeetCode解锁1000题: 打怪升级之旅 python数据分析…

WPF 图片显示某一部分区域

效果图&#xff1a; 代码&#xff1a; <Image Width"32"HorizontalAlignment"Right"Height"32"Source"../../Resources/Images/BLUEWOLF.jpg"><Image.Clip><PathGeometry><PathFigure StartPoint"32,32&quo…

苍穹外卖项目---------收获以及改进(5-6天)

①HttpClient 核心作用&#xff1a;在java编码中发送http请求 第一步&#xff1a;引入依赖 第二步&#xff1a;使用封装一个工具类 package com.sky.utils;import com.alibaba.fastjson.JSONObject; import org.apache.http.NameValuePair; import org.apache.http.client.co…

Scrapy框架快速入门指南

Scrapy框架快速入门指南 在数据驱动的世界中&#xff0c;快速而高效地抓取数据变得尤为重要。Scrapy是一个快速、简单但功能强大的爬虫框架&#xff0c;能够满足数据抓取的各种需求。今天&#xff0c;我们将快速入门Scrapy&#xff0c;了解如何使用它抓取和提取数据。 目录 …

【北京迅为】《iTOP-3588开发板源码编译手册》-第4章 Android12/Linux设备树简介

RK3588是一款低功耗、高性能的处理器&#xff0c;适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用&#xff0c;RK3588支持8K视频编解码&#xff0c;内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP&…

Docker 容器连接:构建安全高效的容器化网络生态

Docker容器连接详解 在 Docker 中&#xff0c;容器之间可以通过网络连接来实现通信和交互。下面详细解释了 Docker 容器连接的常用命令、示例、应用场景、注意事项以及总结&#xff1a; 常用命令 创建网络&#xff08;create network&#xff09;&#xff1a;使用 docker net…

微信小程序03: 获取不限制的小程序二维码

全文目录,一步到位 1.前言简介1.1 专栏传送门1.1.1 上文小总结1.1.2 上文传送门 2. 获取不限制二维码操作2.1 准备工作2.1.1 请先复制00篇的统一封装代码2.1.2 修改配置文件中的参数 2.2 具体代码使用与注释如下2.2.1 业务代码如下2.2.2 代码解释(一)[无需复制]2.2.3 创建Base6…

html--瀑布效果

<!doctype html> <html> <head> <meta charset"utf-8"> <title>瀑布效果</title><style> body {background: #222;color: white;overflow:hidden; }#container {box-shadow: inset 0 1px 0 #444, 0 -1px 0 #000;height: 1…