在群晖上体验维格表社区版APITable

news2025/1/11 17:58:38

在这里插入图片描述

本文是应网友 lee yongshijie880500 的要求折腾的;

什么是 APITable ?

APITablevika 维格表的社区版,是一个面向 API 且易于使用的可视化数据库,适合所有人,使其成为 Airtable 的最佳开源替代品。最重要的是,APITable 拥有更酷的 UI 和更多的功能,可以将您的工作和生活优化到一个神奇的水平。

按官方的说法,APITable 目前正在 积极开发中,并将在 20232 月下旬公布第一份发行版本。

前言

一开始老苏是打算安装多容器版本的,但在运行中发现老苏的小机器根本抗不住,大约有 12 个容器,启动过程中服务器 CPU、内存都在满负荷运作,很容易失联、重启,所以日志中会看到超时、失败等,总之没成功。老苏也会把折腾过程写出来,放在文末供参考,但这不是本文的重点

官方发布了一个 All In One 的版本,里面包含了所需要的 mysql/redis/minio/rabbitmq,安装过程、使用中也比较耗资源,但是比多容器的要好得多。这是给大家体验的,不要用在生产环境

We also provide an all-in-one image based on pm2 for demo or testing 
purpose (not recommended for enterprise or production usage)

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 apitable ,选择第一个 apitable/all-in-one,版本选择 v0.18.0-alpha_888

目前在测试阶段,更新非常频繁,一天都能出几个版本,老苏周三下午安装还是 887,晚上就出了 888,本文发布时,已经是 902

在这里插入图片描述

docker 文件夹中,创建一个新文件夹 vika,并在其中建一个子文件夹 data

文件夹装载路径说明
docker/vika/data/apitable存放数据库等

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口
708880

默认对外暴露了一堆端口,其中

  • 3306:是 MySQL 服务;
  • 5672:是 RabbitMQ 服务;
  • 6379:是 Redis 服务;
  • 9000:是 MinIO 服务;
  • 80:是 Nginx 服务;

如果你不打算从外部直接访问这些服务的话,只要保留 80 就可以了

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 vika 和 子目录
mkdir -p /volume2/docker/vika/data

# 进入 vika 目录
cd /volume2/docker/vika

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name apitable \
   -p 7088:80 \
   -v $(pwd)/data:/apitable \
   apitable/all-in-one:v0.18.0-alpha_888

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'

services:
  cherry:
    image: apitable/all-in-one:v0.18.0-alpha_888
    container_name: apitable
    restart: unless-stopped
    ports:
      - 7088:80
    volumes:
      - ./data:/apitable

然后执行下面的命令

# 新建文件夹 vika 和 子目录
mkdir -p /volume2/docker/vika/data

# 进入 vika 目录
cd /volume2/docker/vika

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

内存占用还是比较高的

运行

在浏览器中输入 http://群晖IP:7088 就能看到主界面

根据机器的性能不同,您可能需要等待几分钟才能启动所有服务,老苏差不多等了有 5 分钟

缺省用户名为 admin@apitable.com ,密码为 Apitable2022

接下来创建空间,创建表单

不能自动识别系统语言版本,需要自己设置,在左下角找到 My Settings

Preferences --> Language 中选择 简体中文

界面会自动刷新,刷新之后就是中文了

随便点了点,总能看到这样的页面,毕竟还是阿尔法版

功能大家慢慢摸索吧,老苏没找到中文的使用手册,也许再等等就有了

多容器折腾记录

升级 docker-compose

因为是多容器,所以全程使用命令行安装,但是在安装前,需要确认下你群晖上 docker-compose 的版本

# 检测 docker 版本
docker -v

# 检测 docker-compose 版本
docker-compose -v

docker-compose 如果低于 1.29.0,启动后日志中会出现 depends_on condition "service_completed_successfully" is invalid. 错误

Creating network "vika_apitable" with driver "bridge"
Traceback (most recent call last):
  File "docker-compose", line 3, in <module>
  File "compose/cli/main.py", line 80, in main
  File "compose/cli/main.py", line 192, in perform_command
  File "compose/metrics/decorator.py", line 18, in wrapper
  File "compose/cli/main.py", line 1165, in up
  File "compose/cli/main.py", line 1161, in up
  File "compose/project.py", line 702, in up
  File "compose/parallel.py", line 99, in parallel_execute
  File "compose/parallel.py", line 48, in parallel_execute_watch
  File "compose/parallel.py", line 173, in parallel_execute_iter
  File "compose/parallel.py", line 222, in feed_queue
  File "compose/project.py", line 694, in get_deps
  File "compose/service.py", line 761, in get_dependency_configs
ValueError: depends_on condition "service_completed_successfully" is invalid.
[31897] Failed to execute script docker-compose

原因很简单, service_completed_successfullydocker-compose1.29.0 之后才引入的,显然老苏的 DSM6 上不行,要继续只能想办法对 docker-compose 升级,但群晖的官方套件找不到可升级的版本

下面的操作是不是有风险老苏并不太清楚,但是建议你在升级前先备份 /var/packages/Docker/target/usr/bin/docker-compose,不管放到哪里,给自己一个后悔的机会总是没错的

# 老苏给随便丢到了 vika 目录
cp /var/packages/Docker/target/usr/bin/docker-compose  /volume2/docker/vika

然后老苏尝试着用下面的命令对 docker-compose 升级

可以升级到最新的 v2.16.0 版,但下面的命令只升级到了 v2.7.0

# 独立下载和安装 Compose
curl -sSL https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

# 下不动价加个代理
curl -sSL https://ghproxy.com/github.com/docker/compose/releases/download/v2.7.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

安装之后,再次检查 docker-compose 版本

开始安装

官方提供了所需要的文件,只需按部就班就可以了

# 新建文件夹 vika 和 子目录
mkdir -p /volume2/docker/vika/.data/{minio/{data,config},mysql,rabbitmq,redis}

# 进入 vika 目录
cd /volume2/docker/vika

# 下载安装文件包
curl -sSL https://github.com/apitable/apitable.github.io/releases/latest/download/docker-compose.tar.gz -o docker-compose.tar.gz

# 下不动就加个代理试试
curl -sSL https://ghproxy.com/github.com/apitable/apitable.github.io/releases/latest/download/docker-compose.tar.gz -o docker-compose.tar.gz

# 解压缩
tar -xvzf docker-compose.tar.gz

现在的目录结构

修改 .env 中的端口

为了方便修改先重命名为 txt,改完后记得改回去

老苏改成下面的端口

NGINX_HTTP_PORT=7088
NGINX_HTTPS_PORT=7443

接下来就可以直接一键启动了,但是在你启动前建议三思而行,尤其是白裙,性能应该都比较一般

# 一键启动
docker-compose up -d

第一次建议用 docker-compose up 启动,这样能看到详细的日志

CPU 就没低过 80%

基本上都是一直处于满负荷状态

有可能会遇到错误退出

更大的可能性就是直接失联,折腾了几天愣是连首页面都没跑出来

小结

这是老苏写文章专用的小机器,方便你对比一下

在这里插入图片描述

老苏觉得在群晖上用用 All In One 的版本就行了,多容器版本就算了吧,用三体的话说,就是不要安装、不要安装!

参考文档

apitable/apitable: 🚀🎉📚 APITable, an API-oriented low-code platform for building collaborative apps and better than all other Airtable open-source alternatives.
地址:https://github.com/apitable/apitable

APITable: vika.cn维格表社区版,地表至强的开源低代码、多维表格工具,Airtable的开源免费替代。
地址:https://gitee.com/apitable/APITable

APITable | Open source no-code database and Airtable alternative
地址:https://apitable.com/

feat: all-in-one Docker image - like Budibase · Issue #230 · apitable/apitable
地址:https://github.com/apitable/apitable/issues/230

群晖安装 Docker Compose
地址:https://www.zbaiquan.cn/archives/qun-hui-an-zhuang-dockercompose

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/351873.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智慧城市总体解决方案和建设思路

“智慧城市”是综合城市发展规划、城市运行管理、城市经济社会发展、新一代信息技术应用等为一体的城市发展新模式&#xff0c;是促进城市科学发展、跨越发展、和谐发展的必然选择&#xff0c;是提升现代城市综合竞争力和国际影响力的战略制高点。 建设智慧城市&#xff0c;是城…

电脑文件被删除?试了十几款工具,数据恢复大师只看这一款

长期使用电脑办公&#xff0c;电脑肯定保存着很多数据文件。文件一多&#xff0c;我们势必是要进行整理的。要不文件太多会占用内存&#xff0c;还会影响电脑的运行速度。 整理过程中&#xff0c;重要的电脑文件被误删了怎么办&#xff1f;建议您先使用常规的方法来进行操作先…

双目客流统计方案的应用原理

双目客流统计客流摄像头采用立体视觉技术实现高度统计功能。基于视差原理。利用双镜头摄取的两幅图像的视差&#xff0c;构建三维场景&#xff0c;在检测到运动目标后。通过计算图像对应点间的位置偏差。获取目标的三维信息&#xff0c;在深度图像中对目标的检测与追踪&#xf…

Java基础二

目录 1. 常见类和对象 1.1 object 1.2 数组 Array 1.3 二维数组 1.6 二分查找法 1.7 字符串 1.8 包装类 1.9 日期类 1.10 工具类 1.11 比较 2. 异常 2.1介绍 2.2 基础语法 2.3 常见异常 3. 集合 3.1 介绍 3.2 常用的接口和类 3.3 ArrayList 基本操作 3.4 ArrayL…

165、【动态规划】leetcode ——337. 打家劫舍 III:记忆化递归+动态规划(C++版本)

题目描述 原题链接&#xff1a;337. 打家劫舍 III 解题思路 &#xff08;1&#xff09;记忆化递归 采用后序遍历的方式&#xff0c;设置一个unordered_map型Hash表record&#xff0c;记录每个结点的情况。当遍历到该节点时&#xff0c;判定之前是否遍历过&#xff0c;如果遍…

docker基本内容简单复习

文章目录一、docker简介docker镜像镜像的优化二、docker网络三、docker数据卷一、docker简介 docker是管理容器的引擎&#xff0c;docker为应用打包、部署平台&#xff0c;而非单纯的虚拟化技术 docker镜像 docker镜像是分层结构&#xff1b;共享宿主机kernel&#xff1b;同一…

【网安神器篇】——系统指纹探测工具finger

作者名&#xff1a;白昼安全主页面链接&#xff1a; 主页传送门创作初心&#xff1a; 以后赚大钱座右铭&#xff1a; 不要让时代的悲哀成为你的悲哀专研方向&#xff1a; web安全&#xff0c;后渗透技术每日鸡汤&#xff1a; 我不想停下&#xff0c;因为这次出发的感觉太好了一…

【双指针问题】977. 有序数组的平方

Halo&#xff0c;这里是Ppeua。平时主要更新C语言&#xff0c;C&#xff0c;数据结构算法......感兴趣就关注我吧&#xff01;你定不会失望。 &#x1f308;个人主页&#xff1a;主页链接 &#x1f308;算法专栏&#xff1a;专栏链接 我会一直往里填充内容哒&#xff01; &…

Python快速上手系列--日志模块--详解篇

前言本篇主要说说日志模块&#xff0c;在写自动化测试框架的时候我们就需要用到这个模块了&#xff0c;方便我们快速的定位错误&#xff0c;了解软件的运行情况&#xff0c;更加顺畅的调试程序。为什么要用到日志模块&#xff0c;直接print不就好了&#xff01;那得写多少print…

【Linux】进程的概念及操作进程

目录1.什么是进程2.描述进程 - PCB3.进程的具体操作3.1进程的属性与文件属性的关系3.2查看进程准备工作使用指令查找对应进程&#xff1a;在文件中查看进程3.3关闭进程ctrlckill3.4进程的一些特性3.5通过系统调用获取进程标识符3.6通过系统调用创建子进程1.什么是进程 背景&am…

工程师手册:电源设计中的电容选用规则

摘要 电源往往是我们在电路设计过程中最容易忽略的环节。作为一款优秀的设计&#xff0c;电源设计应当是很重要的&#xff0c;它很大程度影响了整个系统的性能和成本。电源设计中的电容使用&#xff0c;往往又是电源设计中最容易被忽略的地方。一、电源设计中电容的工作原理 在…

前段时间公司招人,面了一个要20K的,一问自动化只会点皮毛···

前段时间公司要招2个自动化测试&#xff0c;同事面了几十个候选人&#xff0c;发现了一个很奇怪的现象&#xff0c;面试的时候&#xff0c;如果问的是框架api、脚本编写这些问题&#xff0c;基本上个个都能对答如流&#xff0c;等问到实际项目的时候&#xff0c;类似“怎么从0开…

vue+elementUI 实现设置还款日字母弹窗组件

1、业务背景 还款业务&#xff0c;设置每月还款日&#xff0c;选每月几号扣款&#xff0c;不需要29、30、31&#xff0c;因为不是每个月都有这三天的 2、预期效果图 3、代码实现 3.1 初始化vue项目 地址&#xff1a;https://cn.vuejs.org/guide/introduction.html 3.2 在项…

KMS钥匙管理系统产品分析

背景&#xff1a; 人造成的不可控因素很多 以前拿公司钥匙的时候要先进行纸质登记&#xff0c;还钥匙的的时候也要进行纸质统计&#xff0c; 这个过程中有很多不可控的因素&#xff0c;如果没有登记怎么办&#xff1f;人把钥匙丢了怎么办呢&#xff1f; 产品设计 引入机器&am…

UDP网络编程

UDP和TCP 前几节我们提到了计算机网络编程中的TCP编程&#xff0c;TCP和UDP都是计算机机网络通信的传输层中的传输协议&#xff0c;今天我们来学习计算机网络编程中的基于UDP传输协议的网络编程 首先我们要了解TCP和UDP的区别 它们是同属于计算机网络传输层的传输协议 TCP&…

LeetCode24两两交换链表中的节点 带有输入和输出的完整程序

题目&#xff1a;给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交换&#xff09;。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4] 输出…

CSAPP学习笔记——虚拟内存(一)

虚拟内存的能力 它将主存看成是一个存储在地址空间的高速缓存&#xff0c;在主存中只保存活动区域&#xff0c;并更具需要在磁盘和主存之间来回传送数据&#xff0c;通过这种方式来高效使用主存&#xff08;DRAM&#xff09;它为每个进程提供了一致的地址空间&#xff0c;从而…

python虚拟环境与环境变量

一、环境变量 1.环境变量 在命令行下&#xff0c;使用可执行文件&#xff0c;需要来到可执行文件的路径下执行 如果在任意路径下执行可执行文件&#xff0c;能够有响应&#xff0c;就需要在环境变量配置 2.设置环境变量 用户变量&#xff1a;当前用户登录到系统&#xff0c;…

【LeetCode】剑指 Offer 07. 重建二叉树 p62 -- Java Version

题目链接&#xff1a;https://leetcode.cn/problems/zhong-jian-er-cha-shu-lcof/ 1. 题目介绍&#xff08;07. 重建二叉树&#xff09; 输入某二叉树的前序遍历和中序遍历的结果&#xff0c;请构建该二叉树并返回其根节点。 假设输入的前序遍历和中序遍历的结果中都不含重复的…

回溯算法问题汇总

文章目录模版一. 组合问题77. 组合216.组合总和III17.电话号码的字母组合39. 组合总和40.组合总和II131.分割回文串93.复原IP地址78.子集90.子集II491.递增子序列46.全排列47.全排列 II332.重新安排行程51. N皇后37. 解数独模版 void backtracking(参数) {if (终止条件) {存放…