OhMyForm项目Docker最小化部署指南
2025-07-10 05:37:29作者:江焘钦
OhMyForm是一个开源的表单构建工具,允许用户快速创建和分享在线表单。本文将详细介绍如何使用Docker Compose进行OhMyForm的最小化部署方案,适合开发测试环境使用。
部署架构解析
这个Docker Compose配置采用了最简单的单容器架构,包含以下核心组件:
- OhMyForm主服务:基于官方镜像构建的表单服务
- SQLite数据库:轻量级数据库,数据持久化到宿主机
- SMTP邮件服务:基础配置用于系统通知
配置文件详解
基础配置
version: "3"
services:
ohmyform:
image: ohmyform/ohmyform
- 使用Docker Compose版本3格式
- 从官方仓库拉取最新版OhMyForm镜像
数据持久化
volumes:
- "./data:/data"
- 将容器内的
/data
目录挂载到宿主机的./data
目录 - 确保表单数据和SQLite数据库在容器重启后不会丢失
环境变量配置
environment:
CREATE_ADMIN: "TRUE"
ADMIN_EMAIL: admin@local.host
ADMIN_USERNAME: admin
ADMIN_PASSWORD: admin
- 自动创建管理员账户(用户名/密码均为admin)
- 管理员邮箱设置为
admin@local.host
(生产环境必须修改)
DATABASE_DRIVER: sqlite
DATABASE_URL: "sqlite:///data/data.sqlite"
- 使用SQLite作为数据库后端
- 数据库文件存储在挂载的
/data
目录下
MAILER_URI: smtp://local.host
- 配置基础的SMTP服务(仅用于开发测试)
- 生产环境需要配置真实的邮件服务器
LOGIN_NOTE: "Either login with admin:admin or create your own account to test OhMyForm"
- 自定义登录页面提示信息
网络与运行配置
ports:
- "8080:3000"
restart: unless-stopped
- 将容器内的3000端口映射到宿主机的8080端口
- 设置容器自动重启策略(除非手动停止)
部署步骤
-
创建项目目录并进入:
mkdir ohmyform && cd ohmyform
-
创建
docker-compose.yml
文件,填入上述配置内容 -
启动服务:
docker-compose up -d
-
访问服务: 打开浏览器访问
http://localhost:8080
生产环境优化建议
- 数据库升级:将SQLite替换为MySQL或PostgreSQL
- 邮件服务:配置真实的SMTP服务器信息
- 安全加固:修改默认管理员凭证
- HTTPS支持:添加反向代理配置SSL证书
- 备份策略:定期备份挂载的data目录
常见问题排查
- 端口冲突:如果8080端口被占用,可修改左侧端口号
- 权限问题:确保宿主机data目录有写入权限
- 邮件发送失败:开发环境可忽略,生产环境需正确配置MAILER_URI
这个最小化部署方案非常适合开发测试环境快速搭建OhMyForm服务,让开发者能够立即体验表单创建和管理功能。对于生产环境,建议参考官方文档进行更全面的配置和安全加固。