收起左侧

使用Docker 部署开源问卷系统 SurveyKing、支持考试、问卷

8
回复
421
查看
[ 复制链接 ]

49

主题

182

回帖

255

牛值

共建版主

社区上线纪念勋章社区共建团荣誉勋章

2025-7-4 13:31:05 显示全部楼层 阅读模式

给大家分享一篇关于卷王(surveyking)的部署教程,它是一款功能强大的开源问卷调研系统,凭借其灵活的配置、丰富的题型支持和高效的数据分析能力,已成为企业和个人构建专业调研工具的首选,希望对有所需要的朋友有所帮助。

🌟 特性

  • 🥇 支持 20 多种题型,如填空、选择、下拉、级联、矩阵、分页、签名、题组、上传、 横向填空 等

  • 🎉 多种创建问卷方式,Excel 导入问卷、文本导入问卷、在线编辑器编辑问卷

  • 💪 多种问卷设置,支持白名单答卷、公开查询、答卷限制等

  • 🎇 数据,支持问卷数据新增、编辑、标记、导出、打印、预览和打包下载附件

  • 🎨 报表,支持对问题实时统计分析并以图形(条形图、柱形图、扇形图)、表格的形式展示输出和导出

  • 🚀 安装部署简单( 最快 1 分钟部署 ),支持一键 windows 部署、一键 docker 部署、前后端分离部署、单 jar 部署、二级目录部署

  • 🥊 响应式布局,所有页面完美适配电脑端和移动端(包含问卷编辑、设置、答卷)

  • 👬 支持多人协作管理问卷

  • 🎁 后端支持多种数据库,可支持所有带有 jdbc 驱动的关系型数据库

  • 🐯 安全、可靠、稳定、高性能的后端 API 服务

  • 🙆 支持完善的 RBAC 权限控制

  • 🦋 支持可视化配置问卷跳转和显示逻辑,以及通过公式实现自定义逻辑(卷王的逻辑设置比目前主流商业调查问卷系统强大的多)

    • 显示隐藏逻辑
    • 值计算逻辑 动态计算问题答案,从最简单的根据身高体重计算 BMI,到复杂的根据多个问题答案组合逻辑和数值实现复杂的运算
    • 文本替换逻辑 动态显示题目内容
    • 值校验逻辑 可以根据其他问题答案来判断当前问题是否有效
    • 必填逻辑 动态判断当前问题是否必填
    • 选项自动勾选逻辑 根据其他问题和选项答案自动勾选
    • 选项显示隐藏逻辑 动态的显示或者隐藏选项
    • 结束问卷逻辑
    • 跳转逻辑 动态跳转
    • 结束问卷自定义提示语逻辑 答卷后,可以根据问卷答案或者考试分数来显示不同的提示语信息
    • 自定义跳转链接逻辑 答卷后,可以根据问卷答案或者考试分数来跳转到不同的链接,且支持携带答案参数
  • 🌈 支持选项唯一设置,多问卷数据关联查询、更新和删除,考试自动算分,自定义提示语,自定义跳转链接等等

🔥 具体开源版本支持那些功能,可以去官方文档提供的链接看看

# 官方功能对比文档
https://docs.qq.com/sheet/DZEVveUVMSHpVZkJw?tab=BB08J2

🟢 问卷产品对比

部署卷王

飞牛 Compose方式部署代码

1️⃣ 我们需要先创建一个路径,这个路径储存我们的docker-Compose.yml的文件和配置文件

2️⃣ 配置初始化数据库

先去下载数据库初始化文件

https://surveyking.cn/surveyking-docker/sqls/init-mysql.sql

💡 也可以公众号回复: 卷王 获取网盘下载地址

在第一步创建的文件夹中再创建一个名为 sqls 的文件夹

然后把下载的数据库上传到sqls文件夹

3️⃣ 给文件加权限,没有权限的话部署之后无法完成初始化

# 路径换成你自己的sqls文件路径
chmod -R 777 /vol1/1000/docker/surveyking/sqls

4️⃣ 打开Docker,Compose新增项目->输入项目名称->设置路径选择前面第一步创建的文件夹->上传或者创建docker-
compose.yml把下面代码复制进去,点击完成直至构建完成

🐳Docker compose



services:
  mysql:
    image: mysql:8
    container_name: mysql
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: surveyking
      MYSQL_DATABASE: surveyking
    volumes:
      - ./mysql/conf:/etc/mysql/conf.d
      - ./mysql/data:/var/lib/mysql
      - ./sqls:/docker-entrypoint-initdb.d
    networks:
      app_net:
        ipv4_address: 10.20.52.20
  surveyking:
    image: surveyking/surveyking:latest
    container_name: surveyking
    restart: unless-stopped
    environment:
      PROFILE: mysql
      MYSQL_USER: root
      MYSQL_PASS: surveyking
      DB_URL: jdbc:mysql://mysql:3306/surveyking
    volumes:
      - ./files:/app/files
      - ./logs:/app/logs
    depends_on:
      - mysql
    ports:
      - '1991:1991'
    networks:
      app_net:
        ipv4_address: 10.20.52.10

networks:
  app_net:
    driver: bridge
    enable_ipv6: true
    ipam:
      driver: default
      config:
        - subnet: 10.20.52.0/24
          gateway: 10.20.52.1
        - subnet: FD00:1:1::/64
          gateway: FD00:1:1::1

5️⃣ 部署后请耐心等待数据库初始化完成,没完成之前不管你怎么登录都会提示密码错误,出现如下图提示就是初始化完成了

使用

浏览器访问http://ip: 1991 访问web页面,就可以进行登录啦,登录后如果遇到弹出未授权字样,多登录两次就好了。

  • 默认账户admin 密码123456


新建一个问卷调查试试看

我随便搞了一下,当然可以 设置背景海报等功能,以及其他设置

有兴趣的朋友自己部署玩玩,用于一些简单的问卷调查或者开始还是完全没问题的。

收藏
送赞
分享
公众号:知新坊

3

主题

49

回帖

0

牛值

fnOS系统内测组

社区上线纪念勋章

2025-7-4 16:01:29 显示全部楼层

虽然用不着,但支持一下

49

主题

182

回帖

255

牛值

共建版主

社区上线纪念勋章社区共建团荣誉勋章

2025-7-6 09:49:27 楼主 显示全部楼层
huicopy 发表于 2025-7-4 16:01
虽然用不着,但支持一下

谢谢
公众号:知新坊

2

主题

11

回帖

0

牛值

fnOS系统内测组

2025-7-6 12:49:19 显示全部楼层
我的弄了为什么mysql数据库一直在重启
我和你一样  详情 回复
2025-7-7 10:40
我测试了下,正常能用,报表不能导出,可能需要专业付费版。  详情 回复
2025-7-7 09:51

3

主题

49

回帖

0

牛值

fnOS系统内测组

社区上线纪念勋章

2025-7-7 09:51:13 显示全部楼层
Serendipity. 发表于 2025-7-6 12:49
我的弄了为什么mysql数据库一直在重启

我测试了下,正常能用,报表不能导出,可能需要专业付费版。

0

主题

2

回帖

0

牛值

江湖小虾

2025-7-7 10:40:19 显示全部楼层
Serendipity. 发表于 2025-7-6 12:49
我的弄了为什么mysql数据库一直在重启

我和你一样

2

主题

11

回帖

0

牛值

fnOS系统内测组


我的解决了

2

主题

11

回帖

0

牛值

fnOS系统内测组

huicopy 发表于 2025-7-7 09:51
我测试了下,正常能用,报表不能导出,可能需要专业付费版。

这个我没有试过哎

1

主题

5

回帖

0

牛值

江湖小虾

version: '3'
services:
surveyking:
image: surveyking/surveyking
ports:

  • 2024:1991
    restart: always
    container_name: SurveyKing

我这样布署也能用,不知道和楼主有什么区别

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则