首页
/ OhMyForm项目Docker最小化部署指南

OhMyForm项目Docker最小化部署指南

2025-07-10 05:37:29作者:江焘钦

OhMyForm是一个开源的表单构建工具,允许用户快速创建和分享在线表单。本文将详细介绍如何使用Docker Compose进行OhMyForm的最小化部署方案,适合开发测试环境使用。

部署架构解析

这个Docker Compose配置采用了最简单的单容器架构,包含以下核心组件:

  1. OhMyForm主服务:基于官方镜像构建的表单服务
  2. SQLite数据库:轻量级数据库,数据持久化到宿主机
  3. 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端口
  • 设置容器自动重启策略(除非手动停止)

部署步骤

  1. 创建项目目录并进入:

    mkdir ohmyform && cd ohmyform
    
  2. 创建docker-compose.yml文件,填入上述配置内容

  3. 启动服务:

    docker-compose up -d
    
  4. 访问服务: 打开浏览器访问http://localhost:8080

生产环境优化建议

  1. 数据库升级:将SQLite替换为MySQL或PostgreSQL
  2. 邮件服务:配置真实的SMTP服务器信息
  3. 安全加固:修改默认管理员凭证
  4. HTTPS支持:添加反向代理配置SSL证书
  5. 备份策略:定期备份挂载的data目录

常见问题排查

  1. 端口冲突:如果8080端口被占用,可修改左侧端口号
  2. 权限问题:确保宿主机data目录有写入权限
  3. 邮件发送失败:开发环境可忽略,生产环境需正确配置MAILER_URI

这个最小化部署方案非常适合开发测试环境快速搭建OhMyForm服务,让开发者能够立即体验表单创建和管理功能。对于生产环境,建议参考官方文档进行更全面的配置和安全加固。