适配移动端的优秀表单OhMyForm

今天是上海全域静态管理的第 25 天。

好消息是周六(4月23日)零点迎来了期待已久的降级,从 封控区 转为了 管控区。如果继续坚持下去,有希望在 五一 继续降级为 防范区

还有个小插曲,当晚,街道突然通知说东门物业门岗抗原异常,差点变成一日游,好在是虚惊一场。

周六抗原,周日核酸,今天还是抗原。

不知不觉已经写了 2 年了,这期间发生了很多的变化,唯一没变的是,新冠还没有结束。感谢你们的陪伴,让我能一直坚持,老苏会继续努力的,一起加油!


什么是 OhMyForm ?

OhMyFormTypeFormTellFormGoogle Forms 的免费开源的替代品,可以创建适用于移动端的优秀的表单、调查和问卷。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 ohmyform ,选择第一个 ohmyform/ohmyform,版本选择 latest

docker 文件夹中,创建一个新文件夹,并将其命名为 ohmyform,然后在 ohmyform 中再新建一个子文件夹 data

记得要给 data 目录设置 Everyone 的读写权限

文件夹 装载路径 说明
docker/ohmyform/data /data 存放设置、数据库

端口

端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
3386 3000

环境

可变
CREATE_ADMIN 是否创建管理员,默认 FALSE,一定记得改为 TRUE
ADMIN_EMAIL 邮件地址,默认 admin@ohmyform.com
ADMIN_USERNAME admin 用户名,默认 root
ADMIN_PASSWORD admin 密码,默认 root,建议修改
SECRET_KEY 默认为 ChangeMe,建议修改

以上为现有的变量,请根据需要修改

下面👇是新增的变量

可变
DATABASE_DRIVER 数据库类型,默认 sqlite
DATABASE_URL 数据库类型,默认 "sqlite:///data/data.sqlite"
MAILER_URI smtp 地址,默认 smtp://local.host
LOGIN_NOTE 登录提示语

数据库还支持 postgres 类型,老苏用的是最小化安装, sqlite 应该够用

命令行安装

在这里:https://github.com/ohmyform/ohmyform/tree/master/examples ,你能找到几个配置样例,老苏用的是最小化安装,下面是老苏修改后的 docker-compose.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
version: "3"
services:
ohmyform:
image: ohmyform/ohmyform
container_name: ohmyform
volumes:
- "/volume2/docker/ohmyform/data:/data"
environment:
CREATE_ADMIN: "TRUE"
ADMIN_EMAIL: admin@local.host
ADMIN_USERNAME: admin
ADMIN_PASSWORD: admin
DATABASE_DRIVER: sqlite
DATABASE_URL: "sqlite:///data/data.sqlite"
MAILER_URI: smtp://local.host
LOGIN_NOTE: "Either login with admin:admin or create your own account to test OhMyForm"
ports:
- "3386:3000"
restart: unless-stopped

docker-compose.yaml 上传到 ohmyform 目录

容器运行的基本命令如下👇

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 创建 ohmyform 目录及 data 子目录
mkdir -p /volume2/docker/ohmyform/data

# 修改目录权限
chmod -R 777 /volume2/docker/ohmyform/data

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

# 将 docker-compose.yaml 下载到 ohmyform 目录
curl -sSL https://raw.githubusercontent.com/ohmyform/ohmyform/master/examples/docker_minimal/docker-compose.yml -o docker-compose.yaml

# github 下不动可以试试加代理
curl -sSL https://ghproxy.com/raw.githubusercontent.com/ohmyform/ohmyform/master/examples/docker_minimal/docker-compose.yml -o docker-compose.yaml

# 将端口 8080 改为 3386
# 将卷从 ./data 改为 /volume2/docker/ohmyform/data

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:3386 就能看到主界面

Login

主界面

中文

中文目前只支持 繁体中文

但实际上应该是简体中文

不过这翻译质量感觉是机翻的,把 Save 翻成了

所以老苏觉得还不如看英文算了

调查表

创建一个新的表格

开始添加问题

完成之后在手机上参加调查

第二个问题

提交

网页上查看结果

参考文档

ohmyform/ohmyform: ✏️ Free open source alternative to TypeForm, TellForm, or Google Forms ⛺
地址:https://github.com/ohmyform/ohmyform

OhMyForm | OhMyForm is the best open source form solution for the web
地址:https://ohmyform.com/

Quick Start Installation of OhMyForm | OhMyForm
地址:http://ohmyform.com/docs/install/

Minimal deployment not running - nest path error · Issue #149 · ohmyform/ohmyform
地址:https://github.com/ohmyform/ohmyform/issues/149