将单向演示转变为实时互动:Claper 部署与公众观众访问实践
*版本 1:本文将介绍如何使用 Docker 和 PostgreSQL 完整部署 Claper,然后通过 cpolar 将本地 4000 端口映射到公网。适用于课堂教学、产品演示、在线培训和互动分享等场景。

将单向演示变成现场互动:Claper 部署与公网观众访问实践
来源:CSDN 原创文章
原标题:“让演示从单向讲解变成现场互动:Claper部署与公网参与实践”
说明:本文是在原文基础上的语气级改写。原文结构、步骤、命令和图片位置逻辑均保持不变。
原文内容遵循 CC 4.0 BY-SA 许可证。发布时请保留来源和许可证声明。
引言
在课堂教学、产品发布、工作汇报等场景中,把内容讲完,并不代表观众真正参与了进来。
很多时候,现场提问容易冷场,口头投票不方便统计,远程参会人员也很难及时表达想法。最后只能依赖会后问卷来收集反馈,效果往往并不理想。
Claper 可以让你将 PPT 或 PDF 文件上传到一个独立的演示平台,并在演示过程中加入实时评论、问卷、投票和问答等互动内容。观众只需要在浏览器中打开活动页面,就可以直接参与。主持人也可以在演示界面实时看到反馈。
这样一来,原本单向播放的幻灯片演示,就可以变成一个带有即时响应和现场互动的过程。
在这套方案中,Claper 负责演示文件和互动功能,PostgreSQL 用来存储平台数据,Docker 负责部署,cpolar 则将局域网内本地 4000 端口映射为公网访问地址。
该方案适用于课堂教学、内部培训、线上分享以及中小型活动。需要注意的是,Claper 不是直接安装在 PowerPoint 内部的插件。实际演示是在 Claper 平台中进行的。
通过 Claper 页面。

1. 一键使用 Docker 部署 Claper
只要你有一台支持 Docker 的设备,就可以相当快速地运行 Claper。你不需要复杂的环境配置,而且它也不绑定某个特定的操作系统。
在这个示例中,我使用的是 CentOS 7。下面我们来逐步了解部署流程。
首先,使用 Docker 安装并运行它,并创建一个用于存储文件的目录:
mkdir -p /docker/Claper
cd /docker/Claper
![这张图片展示的是在CentOS 7系统的命令行界面中,部署Claper时执行的初始化目录相关命令操作。具体为在[root@zookeeper1 docker]用户权限下,先执行mkdir claper命令创建了名为claper的目录,接着通过cd claper命令进入该目录,最后执行ls命令查看当前目录内容,该内容对应部署Claper流程里“安装并运行Docker,创建存储文件的目录”这一步操作。](https://we0-cms.oss-cn-beijing.aliyuncs.com/cms-assets/article-images/2026/07/72da0e03-72c8-442c-aec2-e57a34ce8f08-claper-docker-cpolar-public-access-1.png)
接下来,将以下内容保存为 docker-compose.yml 文件。
当 PostgreSQL 首次启动且数据目录为空时,它会根据 POSTGRES_* 环境变量创建用户和数据库:
POSTGRES_PASSWORD: claper
POSTGRES_USER: claper
POSTGRES_DB: claper
你可以使用以下命令生成 SECRET_KEY_BASE:
openssl rand -hex 64

完整的 docker-compose.yml 配置如下:
version: "3.0"
services:
db:
image:
postgres:9
volumes:
- ./postgres-data:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: claper
POSTGRES_USER: claper
POSTGRES_DB: claper
healthcheck:
test: ["CMD-SHELL", "pg_isready -U claper"]
interval: 5s
timeout: 5s
retries: 10
app:
image: ghcr.io/claperco/claper:latest
user: "0:0"
ports:
- "4000:4000"
volumes:
- uploads:/app/uploads
environment:
DATABASE_URL: postgres://claper:claper@db:5432/claper
SECRET_KEY_BASE: 08fdecbc274177363ad3e5457ae910005216dc6d27b470cf69d9524e4fc6b951156b3c4709290054cb76778899ef
ENDPOINT_PORT: 4000
ENDPOINT_HOST: 192.168.42.140
MAX_FILE_SIZE_MB: 50
depends_on:
db:
condition: service_healthy
volumes:
uploads:
然后运行以下命令启动服务:
# 启动所有服务
docker-compose up -d

服务启动后,可以进入 PostgreSQL 容器进行检查:
docker exec -it claper-db-1 psql -U claper -d claper
如果可以正常进入 `psql` 提示符,就说明用户和数据库已经成功创建。
也可以使用 `postgres` 用户查看所有角色:
docker exec -it claper-db-1 psql -U postgres -c '\du'

启动完成后,验证 4000 端口是否可访问:
```Bash
curl http://192.168.42.140:4000

打开以下地址,你应该会看到 Claper 欢迎页面:
http://localhost:4000

注册并登录:

成功登录后,你可以进入管理后台:

接下来,你可以创建一个演示活动:

按照页面上的说明进行操作。
点击右上角的 Create,上传 PPT 或 PDF,然后配置互动组件。建议启用评论和投票,因为这样互动效果会更明显。

至此,Claper 互动演示平台已部署完成。
现在,你可以创建一个演示活动并邀请观众加入。无论他们是在现场扫描二维码,还是打开远程链接,观众都可以通过评论、问卷调查、投票等方式参与互动。他们还可以在过程中留下有用的反馈数据。
无论是会议室汇报、课堂讲座,还是线上发布会,Claper 都能将单向讲解转变为更具参与感的双向互动。
2. 安装 cpolar
如果你已经在本地部署了 Claper,并且已配置好评论、问卷调查和实时反馈功能,那么当你希望同事、客户或学生远程参与时,可能仍会遇到一个问题。他们无法
访问:
http://your-internal-ip:4000
原因很简单:该服务运行在局域网内,没有公网 IP 地址,因此外部设备无法访问它。
这时,cpolar 可以帮助解决公网访问问题。
cpolar 可以将运行在本地计算机上的服务(例如 SSH、Web 服务和数据库)映射到公网。这意味着,即使服务运行在家中、办公室或虚拟机内,也仍然可以通过公网 URL 进行访问。
以下是 cpolar 的安装步骤。
使用一键脚本安装:
sudo curl https://get.cpolar.sh | sh

安装完成后,运行以下命令检查 cpolar 服务状态。如果状态正常,则表示服务已成功启动。
sudo systemctl status cpolar

cpolar 安装并成功启动后,在浏览器中输入虚拟机主机 IP 加端口 9200,即可访问管理界面:
http://ip:9200
也可以在本地打开:
http://localhost:9200
使用在 cpolar 上注册的账号登录后
cpolar 官方网站,你将看到 cpolar Web 配置界面。之后的隧道配置可以在此页面完成。

3. 配置公网 URL
登录 cpolar Web UI 管理界面后,点击左侧控制面板中的 隧道管理 → 创建隧道。
按以下参数进行配置:
- 隧道名称:自定义值。本示例使用
claper。请确保不要与现有隧道名称重复。 - 协议:
http - 本地地址:
4000 - 域名类型:随机域名
- 地区:选择
China Top

创建成功后,打开左侧的 在线隧道列表。你将看到刚刚生成的公网 URL。
接下来,在另一台电脑或手机上使用该地址,即可从公网访问本地部署的 Claper 页面。

成功访问后,页面如下所示:

4. 预留固定公网 URL
随机公网 URL 可以临时使用。但如果你想长期将服务分享给他人,地址频繁变化就不太方便。
因此,这里可以在 cpolar 中配置一个固定的二级子域名。配置完成后,这个公网 URL 就不会每次随机变化了。

点击左侧的 预留,然后选择 预留二级子域名。区域选择 China Top,然后设置一个二级子域名。
本示例中使用的子域名是 capler。你可以根据自己的需要自定义。填写备注信息后,点击 预留。

然后返回 cpolar Web UI 管理界面。点击左侧仪表盘中的 隧道管理 → 隧道列表。找到要配置的隧道,点击右侧的 编辑。

接下来,修改隧道信息,并将保留的二级子域名配置到隧道中:
- 域名类型:选择二级子域名
- Sub Domain:输入已成功保留的二级子域名
- 地区:
China Top
完成设置后,点击 更新。

更新完成后,再次打开 在线隧道列表。你会看到原来的随机公网 URL 已变成固定的二级子域名 URL。

最后,在任意设备的浏览器中打开该固定公网 URL。如果页面能够正常打开,则说明固定二级子域名公网地址已配置成功。

结论
Claper 解决的不是 PPT 排版问题,而是演示过程中的参与问题。
观众可以在同一个页面中查看内容、提交问题并参与投票。演示者也可以更快看到现场反馈。这种方式尤其适合需要双向沟通的讲座、培训和发布活动。
在正式使用之前,有几点值得提前检查:
- 替换
docker-compose.yml中的默认数据库密码。 - 使用以下命令生成独立的
SECRET_KEY_BASE。不要直接使用本文中的示例值。
openssl rand -hex 64
- 配置公网 URL 后,检查
ENDPOINT_HOST是否需要改为实际访问域名。否则,邀请链接或实时通信可能仍然指向局域网 IP。 - 对于 PostgreSQL 镜像,建议使用项目当前支持的版本。不建议长期继续使用较旧的
postgres:9。
总体而言,这个方案的核心思路很清晰:
首先,使用 Docker 让 Claper 运行起来。然后使用 cpolar 将本地 4000 端口映射到公网。这样一来,无论是现场活动还是远程演示,观众都可以通过浏览器加入。
对于课堂、培训课程、产品演示和在线分享,这种方式比单纯播放 PPT 能产生更多反馈,也更容易让观众参与进来。