SeaTable 在线协同表格平台

SeaTable 在线协同表格平台

SeaTable - 新一代在线协同表格和数字化平台

SeaTable 是一款以智能表格为基础的新型数字化平台。它支持“文件”、“图片”、“单选项”、“协作人”、“计算公式”等丰富的数据类型,帮助用户用表格的形式来组织和管理各类信息。在表格基础上,它还支持自定义工作流、应用搭建、数据分析等丰富的扩展功能,让团队和企业快速搭建出灵活的业务系统和软件应用,低门槛实现工作的数字化。

文档地址

开发者版

服务器配置要求

最低要求

  • 2 核 4GB 内存

推荐配置

  • 4 核 8GB 内存

快速开始

下载 SeaTable 镜像

拉取 SeaTable 镜像

docker pull seatable/seatable-developer:{tag}

您可以在官方 docker 仓库中找到 SeaTable 开发者版的所有版本 。

下载 docker-compose.yml 和 .env 文件

我们建议您在/opt/seatable 中安装 SeaTable,先创建目录。

mkdir /opt/seatable

根据您需要的版本,下载 docker-compose.yml 和 .env  (文件名前包含 ‘.’)

将示例文件下载到 /opt/seatable​, 然后根据您的环境修改 .env​ 文件, 需要修改以下字段

  • SeaTable 的镜像标签(SEATABLE_IMAGE)
  • SeaTable 数据的卷目录(SEATABLE_VOLUMES)
  • MySQL 数据的卷目录(SEATABLE_MYSQL_VOLUMES)
  • MySQL 的 root 的密码(SEATABLE_MYSQL_ROOT_PASSWORD)
  • 主机名(SEATABLE_SERVER_HOSTNAME),域名或者你的服务器的外部 IP
  • 时区(TIME_ZONE 可选)
  • 管理员账户邮箱(SEATABLE_ADMIN_EMAIL)
  • 管理员账户密码(SEATABLE_ADMIN_PASSWORD)

启动 SeaTable 服务器

使用以下命令启动 SeaTable 服务器

docker compose up -d

注意:您应该在带有 docker-compose.yml 的目录中运行上述命令。

接下来,您可以通过网站访问 SeaTable。

如果您想同时部署 python 运行器,请参考 部署 SeaTable Python 运行器

注意!!!如果表格加载的时候显示 Network error:
用 Chrome 的 debug 模式看看哪个网络请求出错。一般是环境变量中的 URL 相关的配置项没有写对。
这是因为 SeaTable 服务器是由多个组件构成的。必须通过环境变量来告诉不同的组件它服务的外部 URL 是什么。

更多配置选项

部署 Https

使用 LetsEncrypt SSL 证书

如果您在 “.env” 中将 SEATABLE_SERVER_LETSENCRYPT 设置为 True,SEATABLE_SSL_PORT 设置为 443,则容器将自动为您请求一个 Letsencrypt 签名的 SSL 证书。

例如

SEATABLE_SERVER_LETSENCRYPT=TrueSEATABLE_SSL_PORT=443SEATABLE_SERVER_PROTOCOL=https

注意:由于 Nginx 配置文件仅在首次运行容器时自动生成,因此最好在首次执行 docker compose up -d 命令之前将 SEATABLE_SERVER_LETSENCRYPT 设置为 True。

使用自己的 SSL 证书

添加您自己的 SSL 证书

  1. 将 SSL 证书文件上传到 SeaTable 数据目录:/您的 SeaTable 数据卷目录/ssl/
  2. 将 ccnet.conf,dtable_web_settings.py 和 dtable_server_config.json 中每个 SERVER_URL 的 “ http” 更改为 “ https”。
  3. 重新启动 SeaTable 服务:docker exec -it seatable /shared/seatable/scripts/seatable.sh restart
  4. 重启 Memcached 服务:docker restart seatable-memcached
  5. 修改 Nginx 配置文件:/您的 SeaTable 数据卷目录/seatable/conf/nginx.conf
  6. 重新加载 Nginx 配置文件:docker exec -it seatable /usr/sbin/nginx -s reload

例如

server {
    if ($host = example.seatable.com) {
        return 301 https://$host$request_uri;
    }


    listen 80;
    server_name example.seatable.com;
    return 404;
}


server {
    server_name example.seatable.com;
    listen 443 ssl;
    ssl_certificate /shared/ssl/<your-ssl.cer>;
    ssl_certificate_key /shared/ssl/<your-ssl.key>;


    proxy_set_header X-Forwarded-For $remote_addr;
    ......

高级设置

所有配置文件都在 /您的 SeaTable 数据卷目录/seatable/conf/ ​下。

  • ccnet:/您的 SeaTable 数据卷目录/seatable/conf/ccnet.conf
  • seafile:/您的 SeaTable 数据卷目录/seatable/conf/seafile.conf
  • dtable-web:/您的 SeaTable 数据卷目录/seatable/conf/dtable_web_settings.py
  • dtable-server:/您的 SeaTable 数据卷目录/seatable/conf/dtable_server_config.json
  • dtable-events:/您的 SeaTable 数据卷目录/seatable/conf/dtable-events.conf
  • dtable-db:/您的 SeaTable 数据卷目录/seatable/conf/dtable-db.conf
  • nginx:/您的 SeaTable 数据卷目录/seatable/conf/nginx.conf

修改后,您需要重新启动 SeaTable 服务器。

docker compose downdocker compose up -d

SeaTable 目录结构

与宿主机共享的 Volume

容器中的 /shared ​目录是和宿主机共享的卷 /opt/seatable/seatable-data,这里存放需要持久化的数据。

  • /opt/seatable/seatable-data/seatable: 这是 SeaTable 服务器配置和数据的目录。
  • /opt/seatable/seatable-data/nginx-logs: 这是 Nginx 日志的目录。
  • /opt/seatable/seatable-data/ssl: 这是 SSL 证书的目录。

日志

SeaTable 日志位于 docker 容器中的 /shared/seatable/logs ​下,或者位于运行 docker 的服务器中的 /opt/seatable/seatable-data/seatable/logs ​下。

Nginx 日志位于运行 docker 容器中的 /shared/nginx-logs​ 或者位于运行 docker 的服务器中的 /opt/seatable/seatable-data/nginx-logs​ 下。

常见问题

更多问题见:

https://cloud.seatable.cn/dtable/external-links/3e6dc8e259be427ebee3/?tid=lxct&vid=0000

如果由于某种原因安装失败,如何从干净状态重新开始?

只需删除目录 /opt/seatable​,然后重新开始即可。

LetsEncrypt SSL 证书将要过期

如果证书没有自动更新,需要执行命令 /templates/renew_cert.sh ​以手动更新证书。

忘记账号密码

重新创建一个管理员账号,然后进入系统把原来的账号的密码重置即可。

SEATABLE_SERVER_LETSENCRYPT=false 改为 true

在使用 HTTP 一段时间后,若想改为 HTTPS,则需要移走并备份 nginx.conf。

mv /opt/seatable/seatable-data/seatable/conf/nginx.conf /opt/seatable/seatable-data/seatable/conf/nginx.conf.bak

执行以下命令申请证书。

docker exec seatable /templates/seatable.sh init

您还需要手动将其他配置文件中的 http 改为 https,并重启 SeaTable。

docker compose downdocker compose up -ddocker exec -d seatable /shared/seatable/scripts/seatable.sh start

如果曾经改动过旧的 nginx.conf,现在可以按照您想要的内容修改新的 nginx.conf,然后执行以下命令使 nginx 配置生效。

docker exec seatable nginx -s reload

Forbidden (403) CSRF verification failed. Request aborted.

在 dtable_web_settings.py 中添加配置(域名以 example.seatable.com 为例)。

CSRF_TRUSTED_ORIGINS = ['https://example.seatable.com']

检查 nginx.conf 中的 proxy_set_header Host​ 并修改为 $http_host​。

    location / {
        ...
	    proxy_set_header Host $http_host;
	    ...

在容器中重新加载 nginx 配置,并重启 SeaTable 服务

nginx -s reloadseatable.sh restart

posted @ 2025-05-30 16:54  XTARZ  阅读(139)  评论(0)    收藏  举报