引言
在课堂教学、产品发布和工作汇报等场景中,讲完内容并不总是意味着观众真正参与了进来。
很多时候,现场问答很容易冷场。口头投票很难统计。远程参会者也很难及时表达自己的想法。最终,你只能依赖活动后的问卷来收集反馈,而结果往往并不理想。
Claper 允许你将 PPT 或 PDF 文件上传到一个独立的演示平台,并在演示过程中添加实时评论、调查、投票和问答。观众只需在浏览器中打开活动页面即可直接参与。主持人也可以在演示界面实时查看反馈。
通过这种方式,过去单向的幻灯片演示可以变成一个具有即时响应和现场互动的过程。
在这个配置中,Claper 负责处理演示文件和互动功能。PostgreSQL 存储平台数据。Docker 负责部署。cpolar 将局域网内本地的 4000 端口映射到一个公网 URL。
该方案适用于课堂教学、内部培训、在线分享以及中小型活动。需要注意的一点是:Claper 不是直接安装在 PowerPoint 中的插件。实际演示是通过 Claper 页面进行的。
1. 使用 Docker 一键部署 Claper
只要你有一台支持 Docker 的设备,就可以相当快速地运行 Claper。你不需要复杂的环境配置,也不受限于某个特定的操作系统。
在这个示例中,我使用的是 CentOS 7。让我们一起完成部署流程。
首先,使用 Docker 安装并运行它,并创建一个用于存储文件的目录:
mkdir -p /docker/Claper
cd /docker/Claper接下来,将以下内容保存为 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 端口是否可访问:
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 cpolarcpolar 安装并成功启动后,在浏览器中输入虚拟机主机 IP 加端口 9200 访问管理界面:
http://ip:9200也可以在本地打开:
http://localhost:9200使用在 cpolar 官方网站注册的账号登录后,您将看到 cpolar Web 配置界面。后续的隧道配置可以在此页面完成。
3. 配置公网 URL
登录 cpolar Web UI 管理界面后,点击左侧仪表盘中的 隧道管理 → 创建隧道。
使用以下参数进行配置:
隧道名称:自定义值。本示例使用
claper。请确保它不与现有隧道名称重复。协议:
http本地地址:
4000域名类型:随机域名
地区:选择
China Top
创建成功后,打开左侧的 Online Tunnel List。你将看到刚刚生成的公网 URL。
接下来,在另一台电脑或手机上使用这个地址,就可以从公网访问本地部署的 Claper 页面。
访问成功后,页面如下所示:
4. 保留固定公网 URL
随机公网 URL 可以临时使用。但如果你想将服务较长时间分享给他人,频繁变化的地址就不太方便。
因此在这里,你可以在 cpolar 中配置一个固定的二级子域名。配置完成后,这个公网 URL 就不会每次都随机变化了。
点击左侧的 Reserve,并选择 Reserve second-level subdomain。区域选择 China Top,然后设置一个二级子域名。
在此示例中,使用的子域名是 capler。你可以根据自己的需求进行自定义。填写备注信息后,点击 Reserve。
然后返回 cpolar Web UI 管理界面。在左侧仪表盘中点击 Tunnel Management → Tunnel List。找到你想要配置的隧道,然后点击右侧的 Edit。
接下来,修改隧道信息,并将已保留的二级子域名配置到隧道中:
域名类型:选择二级子域名
子域名:输入已成功保留的二级子域名
地区:
China Top
完成设置后,点击 Update。
更新完成后,再次打开 Online Tunnel List。你会看到原来的随机公网 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 能带来更多反馈,也让观众更容易参与。
Claper 常见问题
什么是 Claper?
Claper 是一款开源互动演示工具。它可以帮助将普通的 PPT 或 PDF 演示文稿转换为带有投票、问答和观众反馈的在线会议。它适用于课堂、在线培训、产品演示和现场活动。
Claper 可以使用 Docker 部署吗?
可以。Claper 支持自托管部署,适合希望自行管理演示数据、访问链接和部署环境的用户。
为什么 Claper 需要公网访问?
如果 Claper 只在本地或私有网络内运行,外部用户就无法打开演示页面。cpolar 或 Cloudflare Tunnel 等工具可以将本地服务暴露到公网,从而让观众可以通过浏览器加入。
在这个 Claper 配置中,cpolar 有什么作用?
cpolar 会将本地 Claper 服务(通常运行在 4000 端口)映射到一个公网 URL。这对于临时演示、在线课堂、远程分享和快速测试非常有用。
Claper 适合哪些场景?
Claper 适合需要真实观众参与的演示场景,例如课堂互动、在线培训、产品发布、客户演示、内部分享会和远程活动。
相关工具
Claper:一个开源互动演示平台,可为 PPT 或 PDF 演示文稿添加投票、问答和观众反馈功能。
Docker:一个容器平台,可用于快速运行 Claper 等 Web 服务。
Docker Compose:一个用于在一次部署中管理多个服务(如 Claper 和 PostgreSQL)的工具。
PostgreSQL:Claper 自托管部署中常用的数据库服务。
cpolar:一种隧道工具,可将本地 Claper 服务暴露到公共 URL。
Cloudflare Tunnel:另一种隧道选项,可将本地服务暴露到公共互联网。
Nginx:一种常见的反向代理工具,用于长期部署中的域名绑定和服务转发。
Let’s Encrypt:用于在自定义域名上启用 HTTPS 的免费 SSL 证书服务。
相关链接
Claper 文档:了解 Claper 的基础知识及其自托管设置。
Claper GitHub 仓库:查看源代码、版本发布、问题和项目信息。
Claper Docker 镜像:查看 Claper 容器镜像和软件包详情。
cpolar 文档:了解如何创建 HTTP 隧道、公共 URL 和 Web UI 配置。
Cloudflare Tunnel 文档:了解如何将本地服务暴露到公共互联网。
Docker Compose 文档:了解如何运行和管理多容器应用程序。
PostgreSQL Docker 镜像:查看 PostgreSQL 容器环境变量和初始化设置。



