简介

和之前的版本相比,6.0 版本有了以下的改进

  • 增加了 AI 的接入支持
  • 插件中增加了 Calendar, Kanban, 和 Gallery 组件
  • 数据类型中增加了 手机 字段
  • 其它的一些优化改进的内容

从 5.0.7 或 5.0.10 可以直接升级无需调整对应的配置文件内容。

如果配置了 Python 的运行环境,需要同时调整 Python 运行环境的容器镜像版本

由 5.0.10 升级到 6.0.10 (无 Python 环境)

.env

# components to be used; IMPORTANT: there should be no space between the files names !
COMPOSE_FILE='seatable-server.yml'
COMPOSE_PATH_SEPARATOR=','

# system settings
TIME_ZONE='Asia/Shanghai'

# seatable server url
SEATABLE_SERVER_HOSTNAME='table.waringid.me'
SEATABLE_SERVER_PROTOCOL='https'

# initial web admin
SEATABLE_ADMIN_EMAIL='13601@139.com'
SEATABLE_ADMIN_PASSWORD='password'

# database
SEATABLE_MYSQL_ROOT_PASSWORD='password'
MARIADB_PASSWORD='password'

# redis
REDIS_PASSWORD='password'
JWT_PRIVATE_KEY=='password'

seatable-server.yml

需要注意的是除了 seatable 的版本升级了外,数据库和 Redis 的版本也调整到较新的版本

---
services:
  seatable-server:
    image: ${SEATABLE_IMAGE:-seatable/seatable-enterprise:6.0.10}
    restart: unless-stopped
    container_name: seatable-server
    ports:
      - "8006:80"
    volumes:
      - "${SEATABLE_DIR}/seatable-server:/shared"
      - "${SEATABLE_DIR}/deps/seatable.sh:/templates/seatable.sh:rx"
      - "${SEATABLE_DIR}/deps/licenseparse.py:/opt/seatable/seatable-server-latest/dtable-web/seahub/utils/licenseparse.py:rw"
      - "${SEATABLE_DIR}/deps/seafile-controller:/opt/seatable/seatable-server-latest/seafile/bin/seafile-controller:rw"
      - "${SEATABLE_DIR}/deps/seaf-server:/opt/seatable/seatable-server-latest/seafile/bin/seaf-server:rw"
    environment:
      - SEATABLE_MYSQL_DB_HOST=${MARIADB_HOST:-mariadb}
      - SEATABLE_MYSQL_DB_PORT=${MARIADB_PORT:-3306}
      - SEATABLE_MYSQL_DB_USER=root
      - SEATABLE_MYSQL_DB_PASSWORD=${MARIADB_PASSWORD:?Variable is not set or empty}
      - INIT_SEATABLE_MYSQL_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD:-${MARIADB_PASSWORD}}
      - SEATABLE_MYSQL_DB_DTABLE_DB_NAME=dtable_db
      - SEATABLE_MYSQL_DB_CCNET_DB_NAME=ccnet_db
      - SEATABLE_MYSQL_DB_SEAFILE_DB_NAME=seafile_db
      - REDIS_HOST=${REDIS_HOST:-redis}
      - REDIS_PORT=${REDIS_PORT:-6379}
      - REDIS_PASSWORD=${REDIS_PASSWORD:?Variable is not set or empty}
      - JWT_PRIVATE_KEY=${JWT_PRIVATE_KEY:?Variable is not set or empty}
      - SEATABLE_SERVER_HOSTNAME=${SEATABLE_SERVER_HOSTNAME:?Variable is not set or empty}
      - SEATABLE_SERVER_PROTOCOL=${SEATABLE_SERVER_PROTOCOL:-https}
      - SEATABLE_ADMIN_EMAIL=${SEATABLE_ADMIN_EMAIL:?Variable is not set or empty}
      - SEATABLE_ADMIN_PASSWORD=${SEATABLE_ADMIN_PASSWORD:?Variable is not set or empty}
      - TIME_ZONE=${TIME_ZONE}
      - ENABLE_PYTHON_SCRIPT=${ENABLE_PYTHON_SCRIPT:-true}
      - PYTHON_SCHEDULER_URL=${PYTHON_SCHEDULER_URL:-http://python-scheduler}
      - PYTHON_SCHEDULER_AUTH_TOKEN=${PYTHON_SCHEDULER_AUTH_TOKEN:-}
      - REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
      - SEATABLE_EMAIL_USE_TLS=${SEATABLE_EMAIL_USE_TLS:-}
      - SEATABLE_EMAIL_HOST=${SEATABLE_EMAIL_HOST:-}
      - SEATABLE_EMAIL_HOST_USER=${SEATABLE_EMAIL_HOST_USER:-}
      - SEATABLE_EMAIL_HOST_PASSWORD=${SEATABLE_EMAIL_HOST_PASSWORD:-}
      - SEATABLE_EMAIL_PORT=${SEATABLE_EMAIL_PORT:-}
      - SEATABLE_DEFAULT_FROM_EMAIL=${SEATABLE_DEFAULT_FROM_EMAIL:-}
      - SEATABLE_SERVER_EMAIL=${SEATABLE_SERVER_EMAIL:-}
      - SEATABLE_SHOW_TEMPLATES_LINK=${SEATABLE_SHOW_TEMPLATES_LINK:-}
      - SEATABLE_TEMPLATE_BASE_API_TOKEN=${SEATABLE_TEMPLATE_BASE_API_TOKEN:-}
      - SEATABLE_TEMPLATE_TABLE_NAME=${SEATABLE_TEMPLATE_TABLE_NAME:-}
      - SEATABLE_ENABLE_CREATE_BASE_FROM_TEMPLATE=${SEATABLE_ENABLE_CREATE_BASE_FROM_TEMPLATE:-}
      - SEATABLE_HELP_LINK=${SEATABLE_HELP_LINK:-https://help.seatable.com}
      - SEATABLE_LOG_LEVEL=${SEATABLE_LOG_LEVEL:-INFO}
      - ENABLE_SEATABLE_AI=${ENABLE_SEATABLE_AI:-false}
      - SEATABLE_AI_SERVER_URL=${SEATABLE_AI_SERVER_URL:-http://seatable-ai:8888}
    depends_on:
      mariadb:
        condition: service_healthy
      redis:
        condition: service_healthy
    networks:
      - frontend-net
      - backend-seatable-net
    # healthcheck specifically for dtable-web
    healthcheck:
      test: ["CMD-SHELL", "curl --fail http://localhost:8000 || exit 1"]
      interval: 20s
      retries: 3
      start_period: 30s
      timeout: 10s

  mariadb:
    image: ${SEATABLE_DB_IMAGE:-mariadb:11.8.3-noble}
    restart: unless-stopped
    container_name: mariadb
    command: ["mariadbd", "--innodb_snapshot_isolation=OFF"]
    environment:
      - MYSQL_ROOT_PASSWORD=${SEATABLE_MYSQL_ROOT_PASSWORD:?Variable is not set or empty}
      - MYSQL_LOG_CONSOLE=true
      - MARIADB_AUTO_UPGRADE=1
      - TZ=${TIME_ZONE}
    volumes:
      - "${SEATABLE_DIR}/mariadb:/var/lib/mysql"
    networks:
      - backend-seatable-net
    healthcheck:
      test:
        [
          "CMD",
          "/usr/local/bin/healthcheck.sh",
          "--connect",
          "--mariadbupgrade",
          "--innodb_initialized",
        ]
      interval: 20s
      retries: 3
      start_period: 30s
      timeout: 10s
      # On older database containers without healthcheck users present you might need to create them manually,
      # otherwise the container stays unhealthy.

  redis:
    image: ${SEATABLE_REDIS_IMAGE:-redis:8.2.2-bookworm}
    restart: unless-stopped
    container_name: redis
    environment:
      - REDIS_PASSWORD=${REDIS_PASSWORD:?Variable is not set or empty}
    command:
      - /bin/sh
      - -c
      - redis-server --requirepass "$${REDIS_PASSWORD:?REDIS_PASSWORD variable is not set}"
    networks:
      - backend-seatable-net
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 20s
      retries: 3
      timeout: 5s

networks:
  frontend-net:
    name: frontend-net
  backend-seatable-net:
    name: backend-seatable-net

上述的配置文件是升级安装的内容,如果是首次安装需要调整以下的内容,详细邪恶配置也可以直接参考官网的说明。【https://admin.seatable.com/

Nginx.conf

通过版本升级的方式安装无需调整 Nginx 的配置,保留已有的配置即可。

启动

完成上述的检查调整后即可启动镜像并验证是否正常

docker-compose -f seatable-server.yml --env-file=./.env up

[+] Running 5/5
 ✔ Network backend-seatable-net  Created                                                                                                                 0.1s
 ✔ Network frontend-net          Created                                                                                                                 0.1s
 ✔ Container mariadb             Created                                                                                                                 0.3s
 ✔ Container redis               Created                                                                                                                 0.3s
 ✔ Container seatable-server     Created                                                                                                                 0.1s
Attaching to mariadb, redis, seatable-server
redis            | 10:C 06 Feb 2026 23:03:46.360 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
redis            | 10:C 06 Feb 2026 23:03:46.360 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
redis            | 10:C 06 Feb 2026 23:03:46.360 * Redis version=8.2.2, bits=64, commit=00000000, modified=1, pid=10, just started
redis            | 10:C 06 Feb 2026 23:03:46.360 * Configuration loaded
redis            | 10:M 06 Feb 2026 23:03:46.360 * Increased maximum number of open files to 10032 (it was originally set to 1024).
redis            | 10:M 06 Feb 2026 23:03:46.360 * monotonic clock: POSIX clock_gettime
redis            | 10:M 06 Feb 2026 23:03:46.362 * Running mode=standalone, port=6379.
redis            | 10:M 06 Feb 2026 23:03:46.362 * Server initialized
redis            | 10:M 06 Feb 2026 23:03:46.362 * Ready to accept connections tcp
mariadb          | 2026-02-07 07:03:46+08:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.8.3+maria~ubu2404 started.
mariadb          | 2026-02-07 07:03:46+08:00 [Warn] [Entrypoint]: /sys/fs/cgroup///memory.pressure not writable, functionality unavailable to MariaDB
mariadb          | 2026-02-07 07:03:46+08:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
mariadb          | 2026-02-07 07:03:46+08:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.8.3+maria~ubu2404 started.
mariadb          | 2026-02-07 07:03:46+08:00 [Note] [Entrypoint]: Starting temporary server
mariadb          | 2026-02-07 07:03:46+08:00 [Note] [Entrypoint]: Waiting for server startup
mariadb          | 2026-02-07  7:03:46 0 [Note] Starting MariaDB 11.8.3-MariaDB-ubu2404 source revision b565b3e7e041c480fd8013e3beec6b99544d6bf8 server_uid N22O+99Hwtag4eZAFl0mpoN4hnI= as process 56
mariadb          | 2026-02-07  7:03:46 0 [Note] InnoDB: Compressed tables use zlib 1.3
mariadb          | 2026-02-07  7:03:46 0 [Note] InnoDB: Number of transaction pools: 1
mariadb          | 2026-02-07  7:03:46 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions
mariadb          | 2026-02-07  7:03:46 0 [Note] mariadbd: O_TMPFILE is not supported on /tmp (disabling future attempts)
mariadb          | 2026-02-07  7:03:46 0 [Warning] mariadbd: io_uring_queue_init() failed with EPERM: sysctl kernel.io_uring_disabled has the value 2, or 1 and the user of the process is not a member of sysctl kernel.io_uring_group. (see man 2 io_uring_setup).
mariadb          | create_uring failed: falling back to libaio
mariadb          | 2026-02-07  7:03:46 0 [Note] InnoDB: Using Linux native AIO
mariadb          | 2026-02-07  7:03:46 0 [Note] InnoDB: innodb_buffer_pool_size_max=128m, innodb_buffer_pool_size=128m
mariadb          | 2026-02-07  7:03:46 0 [Note] InnoDB: Completed initialization of buffer pool
mariadb          | 2026-02-07  7:03:46 0 [Note] InnoDB: File system buffers for log disabled (block size=512 bytes)
mariadb          | 2026-02-07  7:03:47 0 [Note] InnoDB: End of log at LSN=107464838
mariadb          | 2026-02-07  7:03:47 0 [Note] InnoDB: Opened 3 undo tablespaces
mariadb          | 2026-02-07  7:03:47 0 [Note] InnoDB: 128 rollback segments in 3 undo tablespaces are active.
mariadb          | 2026-02-07  7:03:47 0 [Note] InnoDB: Setting file './ibtmp1' size to 12.000MiB. Physically writing the file full; Please wait ...
mariadb          | 2026-02-07  7:03:47 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB.
mariadb          | 2026-02-07  7:03:47 0 [Note] InnoDB: log sequence number 107464838; transaction id 182771
mariadb          | 2026-02-07  7:03:47 0 [Note] Plugin 'FEEDBACK' is disabled.
mariadb          | 2026-02-07  7:03:47 0 [Note] Plugin 'wsrep-provider' is disabled.
mariadb          | 2026-02-07  7:03:48 0 [Note] mariadbd: ready for connections.
mariadb          | Version: '11.8.3-MariaDB-ubu2404'  socket: '/run/mysqld/mysqld.sock'  port: 0  mariadb.org binary distribution
mariadb          | 2026-02-07 07:03:48+08:00 [Note] [Entrypoint]: Temporary server started.
mariadb          | 2026-02-07 07:03:48+08:00 [Note] [Entrypoint]: Backing up system database to system_mysql_backup_11.4.3-MariaDB.sql.zst
mariadb          | 2026-02-07 07:03:49+08:00 [Note] [Entrypoint]: Backing up complete
mariadb          | 2026-02-07 07:03:49+08:00 [Note] [Entrypoint]: Starting mariadb-upgrade
mariadb          | The --upgrade-system-tables option was used, user tables won't be touched.
mariadb          | Major version upgrade detected from 11.4.3-MariaDB to 11.8.3-MariaDB. Check required!
mariadb          | Phase 1/8: Checking and upgrading mysql database
mariadb          | Processing databases
mariadb          | mysql
mariadb          | mysql.column_stats                                 OK
mariadb          | mysql.columns_priv                                 OK
mariadb          | mysql.db                                           OK
mariadb          | mysql.event                                        OK
mariadb          | mysql.func                                         OK
mariadb          | mysql.global_priv                                  OK
mariadb          | mysql.gtid_slave_pos                               OK
mariadb          | mysql.help_category                                OK
mariadb          | mysql.help_keyword                                 OK
mariadb          | mysql.help_relation                                OK
mariadb          | mysql.help_topic                                   OK
mariadb          | mysql.index_stats                                  OK
mariadb          | mysql.innodb_index_stats                           OK
mariadb          | mysql.innodb_table_stats                           OK
mariadb          | mysql.plugin                                       OK
mariadb          | mysql.proc                                         OK
mariadb          | mysql.procs_priv                                   OK
mariadb          | mysql.proxies_priv                                 OK
mariadb          | mysql.roles_mapping                                OK
mariadb          | mysql.servers                                      OK
mariadb          | mysql.table_stats                                  OK
mariadb          | mysql.tables_priv                                  OK
mariadb          | mysql.time_zone                                    OK
mariadb          | mysql.time_zone_leap_second                        OK
mariadb          | mysql.time_zone_name                               OK
mariadb          | mysql.time_zone_transition                         OK
mariadb          | mysql.time_zone_transition_type                    OK
mariadb          | mysql.transaction_registry                         OK
mariadb          | Phase 2/8: Installing used storage engines... Skipped
mariadb          | Phase 3/8: Running 'mysql_fix_privilege_tables'
mariadb          | Phase 4/8: Fixing views... Skipped
mariadb          | Phase 5/8: Fixing table and database names ... Skipped
mariadb          | Phase 6/8: Checking and upgrading tables... Skipped
mariadb          | Phase 7/8: uninstalling plugins
mariadb          | Phase 8/8: Running 'FLUSH PRIVILEGES'
mariadb          | OK
mariadb          | 2026-02-07 07:03:51+08:00 [Note] [Entrypoint]: Finished mariadb-upgrade
mariadb          | 2026-02-07 07:03:51+08:00 [Note] [Entrypoint]: Stopping temporary server
mariadb          | 2026-02-07  7:03:51 0 [Note] mariadbd (initiated by: unknown): Normal shutdown
mariadb          | 2026-02-07  7:03:51 0 [Note] InnoDB: FTS optimize thread exiting.
mariadb          | 2026-02-07  7:03:51 0 [Note] InnoDB: Starting shutdown...
mariadb          | 2026-02-07  7:03:52 0 [Note] InnoDB: Removed temporary tablespace data file: "./ibtmp1"
mariadb          | 2026-02-07  7:03:52 0 [Note] InnoDB: Shutdown completed; log sequence number 107464838; transaction id 182775
mariadb          | 2026-02-07  7:03:52 0 [Note] mariadbd: Shutdown complete
mariadb          | 2026-02-07 07:03:52+08:00 [Note] [Entrypoint]: Temporary server stopped
mariadb          | 2026-02-07  7:03:52 0 [Note] Starting MariaDB 11.8.3-MariaDB-ubu2404 source revision b565b3e7e041c480fd8013e3beec6b99544d6bf8 server_uid N22O+99Hwtag4eZAFl0mpoN4hnI= as process 1
mariadb          | 2026-02-07  7:03:52 0 [Note] InnoDB: Compressed tables use zlib 1.3
mariadb          | 2026-02-07  7:03:52 0 [Note] InnoDB: Number of transaction pools: 1
mariadb          | 2026-02-07  7:03:52 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions
mariadb          | 2026-02-07  7:03:52 0 [Note] mariadbd: O_TMPFILE is not supported on /tmp (disabling future attempts)
mariadb          | 2026-02-07  7:03:52 0 [Warning] mariadbd: io_uring_queue_init() failed with EPERM: sysctl kernel.io_uring_disabled has the value 2, or 1 and the user of the process is not a member of sysctl kernel.io_uring_group. (see man 2 io_uring_setup).
mariadb          | create_uring failed: falling back to libaio
mariadb          | 2026-02-07  7:03:52 0 [Note] InnoDB: Using Linux native AIO
mariadb          | 2026-02-07  7:03:52 0 [Note] InnoDB: innodb_buffer_pool_size_max=128m, innodb_buffer_pool_size=128m
mariadb          | 2026-02-07  7:03:52 0 [Note] InnoDB: Completed initialization of buffer pool
mariadb          | 2026-02-07  7:03:52 0 [Note] InnoDB: File system buffers for log disabled (block size=512 bytes)
mariadb          | 2026-02-07  7:03:52 0 [Note] InnoDB: End of log at LSN=107464838
mariadb          | 2026-02-07  7:03:52 0 [Note] InnoDB: Opened 3 undo tablespaces
mariadb          | 2026-02-07  7:03:52 0 [Note] InnoDB: 128 rollback segments in 3 undo tablespaces are active.
mariadb          | 2026-02-07  7:03:52 0 [Note] InnoDB: Setting file './ibtmp1' size to 12.000MiB. Physically writing the file full; Please wait ...
mariadb          | 2026-02-07  7:03:52 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB.
mariadb          | 2026-02-07  7:03:52 0 [Note] InnoDB: log sequence number 107464838; transaction id 182771
mariadb          | 2026-02-07  7:03:52 0 [Note] Plugin 'FEEDBACK' is disabled.
mariadb          | 2026-02-07  7:03:52 0 [Note] Plugin 'wsrep-provider' is disabled.
mariadb          | 2026-02-07  7:03:52 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
mariadb          | 2026-02-07  7:03:53 0 [Note] InnoDB: Buffer pool(s) load completed at 260207  7:03:53
mariadb          | 2026-02-07  7:03:57 0 [Note] Server socket created on IP: '0.0.0.0', port: '3306'.
mariadb          | 2026-02-07  7:03:57 0 [Note] Server socket created on IP: '::', port: '3306'.
mariadb          | 2026-02-07  7:03:57 0 [Note] mariadbd: Event Scheduler: Loaded 0 events
mariadb          | 2026-02-07  7:03:57 0 [Note] mariadbd: ready for connections.
mariadb          | Version: '11.8.3-MariaDB-ubu2404'  socket: '/run/mysqld/mysqld.sock'  port: 3306  mariadb.org binary distribution
seatable-server  | *** Running /etc/my_init.d/01_init.sh...
seatable-server  | *** Booting runit daemon...
seatable-server  | *** Runit started as PID 15
seatable-server  | *** Running /templates/enterpoint.sh...
seatable-server  | 2026-02-07 07:04:07 Conf exists
seatable-server  | 2026-02-07 07:04:07 Nginx ready
seatable-server  | 2026-02-07 07:04:07 Updating CA certificates...
seatable-server  | 2026-02-07 07:04:13 Start server
seatable-server  | Check SeaTable License!
seatable-server  |
seatable-server  | SeaTable started
seatable-server  |
seatable-server  | 2026-02-07 07:04:17 For more startup information, please check the /opt/seatable/logs/init.log
seatable-server  | 2026-02-07 07:04:17 This is an idle script (infinite loop) to keep the container running.