Baserow容器设备登记:完整Compose与重建后的行数核对

简介: 本文演示如何用Baserow容器化部署实现数据持久化验证:通过Docker Compose固定项目名与命名卷,导入2条CSV种子数据,再经在线表单新增第3条;停启容器后核验三行记录(含编号、日期、用途)完整保留,确保应用层数据连续性。

把登记表接成在线表单,数据不能只在第一次打开时可见。本篇用Baserow导入2条模拟借用记录,通过Form新增第3条,然后停止并重建容器,回到同一张表核对编号与字段值。重点是固定项目、命名卷和实际新增数据的连续性。以下为官方资料整理的参考配置,未运行Docker、导入CSV或提交表单实测。

一、先确定要保存的应用数据

Baserow适合搭建设备登记、活动报名和内部需求收集等小型演示。Grid管理视图与Form收集视图共用同一张表,普通Form每次提交新增记录,审批、设备冲突和重复申请规则仍需另行设计。

本例采用2.4.1的all-in-one容器,已经包含应用、PostgreSQL、Redis和Caddy,支持Linux amd64/arm64。/baserow/data保存内置数据库、文件和相关配置;只保留一份CSV,不能当作保留了整个实例。

部署主机需有Docker Engine、Compose插件、curl及拉取镜像的网络和足够资源。先检查:

docker version
docker compose version
docker compose ls --all
docker volume ls --filter name=baserow-demo_baserow_data

工具检查失败先处理服务、连接或权限。若已有baserow-demo项目,包括停止中的实例,先停下核归属,不覆盖旧配置。单容器含多个服务,不把能启动容器当作已具备生产容量。

同名项目移除后,数据卷可能仍在。若卷列表还有baserow-demo_baserow_data,先核清是否属于旧实例;不要为了凑新环境删除旧卷,也不要直接把它接到这次表单演示。

二、目录、项目名和卷保持一致

创建新目录;如果已存在则停止,不覆盖原文件:

mkdir "$HOME/baserow-demo" && cd "$HOME/baserow-demo"

在该目录保存完整compose.yaml:

name: baserow-demo
services:
  baserow:
    image: docker.1ms.run/baserow/baserow:2.4.1
    environment:
      BASEROW_PUBLIC_URL: http://localhost:8080
    ports:
      - "127.0.0.1:8080:80"
    volumes:
      - baserow_data:/baserow/data
    restart: unless-stopped
volumes:
  baserow_data: {
   }

这里用显式项目名,不依靠目录名生成身份。另选演示目录时仍须确认项目名未被使用,不能只换目录就连接同名旧卷。后续重建始终使用这份配置。

BASEROW_PUBLIC_URL与浏览器入口一致,当前只监听主机回环。先完成下一节启动与健康检查,再打开管理页。

三、服务健康后再建立业务数据

先在部署目录校验:

docker compose config --quiet

无报错后才拉取;校验失败按字段与缩进修正:

docker compose pull

拉取失败先处理网络、镜像路径或架构等具体错误,不连续执行启动。成功后运行:

docker compose up -d
docker compose ps
docker compose logs --tail=100 baserow

初始化期间观察状态与日志。服务正常后可做即时后端检查:

docker compose exec -T baserow /baserow.sh backend-cmd backend-healthcheck
curl -I http://localhost:8080/

命令应正常结束,HTTP应有响应。持续重启、非零退出或资源报错先处理日志原因,不删除卷重新初始化。健康状态只说明服务层检查,后面仍要导入、提交并找到新行。

若部署在云主机,从电脑另开终端,替换实际用户名和地址:

ssh -N -L 8080:127.0.0.1:8080 用户名@主机地址

保持隧道打开,电脑浏览器访问http://localhost:8080。8080有冲突先处理占用,不任意换URL却留下旧PUBLIC_URL。此地址不直接成为同事可用的团队服务地址。

四、先导入两条可比对的种子数据

在浏览器注册本实例账号、设密码并进入演示工作区。点+ Add new → Database,命名“设备登记演示”,点Create。新库可能有默认表,接下来另建的“设备借用登记”才是验收对象。未配置SMTP,不声称邀请或邮件验证已完成。

在打开浏览器的电脑创建UTF-8 CSV;Linux/macOS终端执行,Windows也可用文本编辑器保存同样内容:

cat > "$HOME/borrow-demo.csv" <<'CSV'
登记编号,申请人,设备名称,使用日期,用途
DEMO-001,演示甲,投影仪A,2026-10-29,演示会议
DEMO-002,演示乙,测试手机B,2026-10-30,演示联调
CSV

全部为虚构演示。进入数据库,点+ New table,表名填“设备借用登记”,选Import CSV file,从电脑选择文件,确认首行表头、预览5列2行后点Add table。

所有导入字段初始是文本。前3列保持单行文本,把“使用日期”转Date并用YYYY-MM-DD显示,“用途”转Long text。乱码或列数不对先修编码与分隔符,不能通过反复导入修复,避免新增多份种子数据。

五、由同表Form新增一行

在视图下拉选Form → Collaborative,命名“借用登记”,点Create view。前4个字段设为Required,用途留作说明;表单与Grid的底层表相同,不新建第二张收集表。

用Share form复制链接,在无痕窗口打开,填写DEMO-003 / 演示丙 / 投影仪A / 2026-10-31 / 演示培训并提交一次。无痕或预览操作也会真正写数据,不把它们当作不会计数的试填。

回到同一表Grid,清空搜索和筛选,按登记编号核对3行。排序可能改变位置;看不到先核表身份,不反复点提交。超过3行先查重复记录,普通Form不防重复,也不自动阻止同设备同日期申请。

baserow-workflow.png

持链接者无须工作区账号即可提交,不能据此认定申请人身份。本机或隧道地址只用于这次演示;正式开放需稳定地址、HTTPS与相应访问控制。

六、保留卷重建,验收原来的3行

先记下工作区、数据库、表名和3个演示编号。在原部署目录执行:

cd "$HOME/baserow-demo"
docker compose down

不加-v以保留命名卷。停止失败先处理报错;确认成功后再启动:

docker compose up -d
docker compose ps

等服务健康后重新登录同表,清除筛选,核3行、原日期和用途,不再提交或导入。若空库,先核显式项目名、卷挂载与配置是否改变;重新注册或导入会掩盖数据是否被正确接回的问题。

暂停可用docker compose stop。卷保留不等于有备份,CSV不包含用户、权限、上传文件等全部实例状态;正式使用需一致性备份与恢复验证,生产外置数据库、HTTPS和访问控制另行规划。此次只验证同一实例的2条导入加1条表单记录,重建后仍是原来的3条。

相关文章
|
云安全 安全 网络安全
|
7天前
|
JavaScript 安全 前端开发
Nodejs Brotli decoder 代码执行漏洞 (CVE-2026-111497)10629
Node.js发布安全更新修复Brotli解码器高危RCE漏洞(CVE-2026-111497),建议受影响版本用户立即升级。
2009 1
|
14天前
|
JSON 程序员 数据格式
最新版Notepad++下载、安装、配置保姆级教程(附官网安装包)
Notepad++ 是一款免费开源、轻量快速的 Windows 文本编辑器,支持多标签、语法高亮、代码折叠与宏录制,体积小、启动快、资源占用低,兼容 x64/x32/ARM 架构,是程序员和文字工作者的高效利器。
3200 0
|
13天前
|
人工智能 API 开发工具
DeepSeek Harness 神插件:白嫖 13 家大厂模型
`dsh-our-free-model` 是 DeepSeek Harness 神级插件:零配置、零API Key、零账号,聚合13家大厂免费模型(含DeepSeek V4.1 Flash、Kimi K3等),支持本地网关、用量看板与自动降级,真正实现“白嫖即用”。
2295 44
|
10天前
|
Web App开发 人工智能 前端开发
2026 年 AI 浏览器怎么选?Ego Lite、Tabbit、Chrome DevTools MCP 深度对比,开发者到底该用哪个?
2026年AI浏览器选型指南:Ego Lite专注多Agent协同(Mac优先),Tabbit国产首选,原生支持Windows与Codex控制;Chrome DevTools MCP非浏览器而是开发者利器,深度集成Console/Network/Performance调试能力,让AI真正“看懂并验证”前端代码。
1434 3
|
7天前
|
安全 应用服务中间件 Go
PHP2Shell 漏洞拆解:WordPress 与 nginx 为何中招
PHP2Shell 双 RCE 已遭在野利用:WordPress、Drupal 全在射程内,nginx 其实另有洞。拆成因与修复顺序
PHP2Shell 漏洞拆解:WordPress 与 nginx 为何中招
|
8天前
|
开发者 索引
DeepSeekHarness大肥鱼自带插件市场了?加个地址就能用
Open Plugin Market 是一个开放插件索引平台,收录800+优质DSH插件,支持分类浏览、智能推荐与随机发现。无需安装市场,粘贴索引地址即可一键接入,网页版直访 dshopen.org,助力小开发者被看见。(239字)
1746 1
DeepSeekHarness大肥鱼自带插件市场了?加个地址就能用
|
6天前
|
人工智能 Linux API
Magpie, 轻量本地AI网关!免费Token用不完!
Magpie 是开源AI编程模型调度网关,上线一月获1.8万Star。它通过本地高性能网关统一托管多平台API密钥、账号与免费额度,实现跨Agent的模型秒级切换、静默额度轮换与资源复用,显著降低碎片化管理成本。(239字)
Magpie, 轻量本地AI网关!免费Token用不完!
|
6天前
|
安全 程序员 应用服务中间件
PHP 被曝两大致命漏洞,请所有程序员抓紧做这件事!
PHP 官方发布了紧急安全更新,一口气修复了两个严重漏洞。如果网站和服务器用了 PHP 应该怎么处理?漏洞的原理是什么?本文给你讲清楚
704 0