IDEAICU 聚焦 VPS 云服务器评测、AI 工具、自托管部署教程与独立开发实践。

IDEAICU

在 Baserow 里记下设备借给了谁

设备借出后记下借用人和归还时间。在 VPS 上安装 Baserow,用关联表和视图查找未归还、已超期的设备。

文章目录

团队共用的相机、测试手机或笔记本,经常只在群里留下“我借走了”一句话。等到要找设备时,很难确认现在谁在用、什么时候归还。

Baserow 可以把设备和借用记录做成关联表,再按状态筛选。本文使用官方 all-in-one 镜像,适合先搭建一个小规模实例;持续增长或需要更严格数据库运维时,再按官方方案拆分服务。

安装 Baserow,保留完整数据目录

设备台账会持续积累,附件和数据库都要留出存储空间。如果准备购买 VPS,可以从 雨云云服务器 查看内存与磁盘配置,别把备份也只放在这台机器上。 优惠码 KuZhuJi。如有消费返利,以购买页所选规格显示的金额为准。

以下命令在 Linux VPS 上执行,需要有 Docker 操作权限。先运行 docker version 和 docker compose version,确认引擎与 Compose v2 都能工作。没有安装 Docker 时,按 Docker 官方安装说明选择对应发行版;不要把其他发行版的仓库配置直接复制过来。

示例工作目录为 /opt/baserow,所有相对路径都以这个目录为基准。VPS_IP、SSH 用户和示例域名需要换成自己的值。端口 8083 若已被占用,只改映射左侧的宿主机端口,并同步修改访问地址。

sudo install -d -m 0750 -o "$(id -u)" -g "$(id -g)" /opt/baserow
cd /opt/baserow
umask 077
mkdir -p data

镜像把应用、数据库等组件放在同一容器中,持久化目录是 /baserow/data。2.4.0 是本文采用的固定版本;以后部署先检查版本更新与兼容性,别把 latest 当作永远相同的程序。

首次建站阶段限制反向代理入口只允许自己访问,完成管理员注册和工作区设置后再放行其他用户。

将下面内容保存为 compose.yaml:

services:
  baserow:
    image: baserow/baserow:2.4.0
    restart: unless-stopped
    ports:
      - "127.0.0.1:8083:80"
    environment:
      BASEROW_PUBLIC_URL: https://tables.example.com
    volumes:
      - ./data:/baserow/data

在工作目录启动并检查日志:

docker compose config --quiet
docker compose pull
docker compose up -d
docker compose ps
docker compose logs --tail=80

启动后按下面的步骤试用。遇到目录不可写的报错,先核对 UID 和挂载路径,不要直接改成 chmod 777。

让域名通过 HTTPS 访问

把 tables.example.com 的 DNS 指向 VPS。下面是已经安装在宿主机上的 Caddy可添加的站点配置;已有网站时只添加这一段,不覆盖整个配置文件。若反向代理也在 Docker 中,容器内的 127.0.0.1 不是宿主机,需要改用共享网络中的服务名。

tables.example.com {
    reverse_proxy 127.0.0.1:8083
}

确认服务器允许访问 80、443,检查 Caddy 配置并按现有服务方式重载,再访问 https://tables.example.com。应用端口仍绑定在宿主机回环地址,数据库端口不向公网发布。应用中的外部地址也要设置为这个 HTTPS 地址,否则邀请链接或登录回调可能指向错误位置。

先录入一台设备,完成一次借还

设备表包含设备编号、名称、序列号、存放位置和当前状态。借用表用关联字段指向设备,另设借用人、借出时间、预计归还时间和实际归还时间。不要用名称文本替代关联,否则设备改名后历史记录很难一致。

拿一台测试设备录入“借出—延期—归还”三次变化。建立“未归还”和“已超期”视图,核对筛选条件是否把空归还日期正确包含进来。先用虚构姓名和序列号,确认结构后再导入真实台账。

工作区成员与公开视图是不同权限入口。涉及员工姓名、设备序列号的视图不要直接公开分享;用无痕窗口检查分享地址,确认未授权访问者看不到记录。需要对外展示时单独做只含必要字段的视图,并核对实际权限。

CSV 适合交接一个表的当前数据。关系、权限、其他表和内部配置需要完整备份。

保存完整实例,恢复时检查关联

整个 data 目录包含 all-in-one 实例的持久化数据。恢复后检查设备与借用表的关联、视图以及成员权限,不能只验证首页能打开。

在工作目录执行下面的停机备份,压缩包保存在应用目录之外。停止全部服务会带来短暂不可用;确认停止成功后再打包。

docker compose stop
sudo install -d -m 0700 /var/backups/docker-apps
backup_file="/var/backups/docker-apps/$(basename "$PWD")-$(date +%Y%m%d-%H%M%S).tar.gz"
sudo tar -czpf "$backup_file" compose.yaml data
sudo chmod 0600 "$backup_file"
sudo tar -tzf "$backup_file" | head
docker compose start

将压缩包复制到 VPS 之外。恢复时,在另一台测试机器的空目录解包,保留文件所有者和相对路径,用原镜像版本启动,检查前面提到的数据。不要直接覆盖正在使用的原数据目录。

升级前先记录镜像 ID 或摘要,并保存这份备份。阅读项目更新说明后再拉取镜像;涉及数据库迁移时,回滚需要恢复旧数据与旧镜像,不能只把标签改回去。

安装参数和数据路径可对照Baserow Docker 安装文档。

继续阅读 · 自托管 返回顶部