From 2c34d88cfa97723c9ea57a071decfeb7da328d3a Mon Sep 17 00:00:00 2001 From: SkywalkerSpace Date: Fri, 17 Jul 2026 15:27:54 +0800 Subject: [PATCH] update 7.0 --- .../cluster/dtable-db-standalone.md | 2 - .../cluster/dtable-events-background-node.md | 2 - .../cluster/dtable-server-standalone.md | 115 ++++++------------ docs/upgrade/extra-upgrade-notice.md | 4 + 4 files changed, 43 insertions(+), 80 deletions(-) diff --git a/docs/installation/cluster/dtable-db-standalone.md b/docs/installation/cluster/dtable-db-standalone.md index 27b98096..dae5aa1c 100644 --- a/docs/installation/cluster/dtable-db-standalone.md +++ b/docs/installation/cluster/dtable-db-standalone.md @@ -48,7 +48,6 @@ Apply the following required changes to this file: - ENABLE_DTABLE_STORAGE_SERVER=true # required for big data backup - ENABLE_SEAFILE_SERVER=false - ENABLE_DTABLE_WEB=false - - ENABLE_DTABLE_SERVER=false - ENABLE_DTABLE_EVENTS=false - ENABLE_API_GATEWAY=false - SEATABLE_START_MODE=cluster # Don't run any database update processes @@ -96,7 +95,6 @@ services: - ENABLE_DTABLE_STORAGE_SERVER=true - ENABLE_SEAFILE_SERVER=false - ENABLE_DTABLE_WEB=false - - ENABLE_DTABLE_SERVER=false - ENABLE_DTABLE_EVENTS=false - ENABLE_API_GATEWAY=false - SEATABLE_START_MODE=cluster diff --git a/docs/installation/cluster/dtable-events-background-node.md b/docs/installation/cluster/dtable-events-background-node.md index bf57432e..16ab0138 100644 --- a/docs/installation/cluster/dtable-events-background-node.md +++ b/docs/installation/cluster/dtable-events-background-node.md @@ -73,7 +73,6 @@ Apply the following required changes: # should be disabled - ENABLE_DTABLE_DB=false - ENABLE_DTABLE_WEB=false - - ENABLE_DTABLE_SERVER=false - ENABLE_API_GATEWAY=false - SEATABLE_START_MODE=cluster ``` @@ -116,7 +115,6 @@ services: - ENABLE_SEAFILE_SERVER=true - ENABLE_DTABLE_DB=false - ENABLE_DTABLE_WEB=false - - ENABLE_DTABLE_SERVER=false - ENABLE_API_GATEWAY=false - SEATABLE_START_MODE=cluster extra_hosts: diff --git a/docs/installation/cluster/dtable-server-standalone.md b/docs/installation/cluster/dtable-server-standalone.md index 037b7848..002f6e61 100644 --- a/docs/installation/cluster/dtable-server-standalone.md +++ b/docs/installation/cluster/dtable-server-standalone.md @@ -11,105 +11,69 @@ The next step in building your SeaTable cluster is to move the `dtable-server` t ## Setting up a standalone dtable-server -Prepare a new node with Docker installed, and copy the following files from one of your existing nodes to the new node: - -- `/opt/seatable-compose/.env` -- `/opt/seatable-compose/seatable-license.txt` - -Edit the `.env` file on the new node and ensure the `COMPOSE_FILE` variable references only a single YAML file: +Prepare a new node with Docker installed, and create a new directory for the configuration files: ```bash -COMPOSE_FILE='seatable-server-standalone.yml' +mkdir -p /opt/seatable-compose +cd /opt/seatable-compose ``` -Copy `seatable-server.yml` to `seatable-server-standalone.yml` and make the following changes to configure it as a standalone `dtable-server`. - -### Required changes to `seatable-server-standalone.yml` - -Apply the following required changes to this file: +You will need to create two files on this new node: `.env` and `dtable-server.yml`. -??? success "Remove all services except seatable-server" +### Create `.env` - The standalone node only requires the `seatable-server` service. Remove all other services (such as redis, mariadb, or caddy). +Create a `.env` file and populate it with the following content. Make sure to replace the placeholder values with the actual values from your cluster environment: -??? success "Add additional environment variables" +```env +COMPOSE_FILE='dtable-server.yml' +COMPOSE_PATH_SEPARATOR=',' - Add or update the following environment variables to ensure only the `dtable-server` is enabled: +DTABLE_SERVER_IMAGE=seatable/dtable-server-js:7.0.0-testing +TIME_ZONE='Europe/Berlin' - ```yaml - environment: - #... all default environment variables in seatable-server.yml ... - # this node should only run dtable-server, all other services are disabled - - ENABLE_DTABLE_DB=false - - ENABLE_DTABLE_STORAGE_SERVER=true - - ENABLE_SEAFILE_SERVER=false - - ENABLE_DTABLE_WEB=false - - ENABLE_DTABLE_SERVER=true - - ENABLE_DTABLE_EVENTS=false - - ENABLE_API_GATEWAY=false - - SEATABLE_START_MODE=cluster - ``` - -??? success "Expose port 5000" - - The `dtable-server` node must be accessible to other nodes. Add the following to the `seatable-server` service: - - ```yaml - ports: - - 5000:5000 - ``` +MARIADB_HOST=172.16.0.2 +MARIADB_PORT=3306 +MARIADB_USER=seatable +MARIADB_PASSWORD=seatable_password -??? success "Configure internal network communication" +REDIS_HOST=172.16.0.3 +REDIS_PORT=6379 +REDIS_PASSWORD= - Node-to-node communication uses the internal network. Ensure all nodes can reach each other by adding their names and private IP addresses: - - ```yaml - extra_hosts: - - "dtable-web:10.0.0.2" - - "dtable-db:10.0.0.3" - - "dtable-server:10.0.0.4" - ``` +JWT_PRIVATE_KEY= +``` -### Example: `dtable-server-standalone.yml` +### Create `dtable-server.yml` -For reference, here is an example of what your `dtable-server-standalone.yml` might look like. Do not copy and paste directly — adapt to your environment as needed. +Next, create the `dtable-server.yml` file to configure the standalone `dtable-server` instance. Node-to-node communication uses the internal network, so ensure you update `extra_hosts` with the correct IPs of your other cluster nodes if you use hostnames to connect. ```yaml --- services: - seatable-server: - image: ${SEATABLE_IMAGE:-seatable/seatable-enterprise:x.x.x} + dtable-server: + image: ${DTABLE_SERVER_IMAGE:-seatable/dtable-server-js:7.0.0-testing} restart: unless-stopped - container_name: seatable-server + container_name: dtable-server volumes: - "/opt/seatable-server:/shared" - - type: bind - source: "./seatable-license.txt" - target: "/shared/seatable/seatable-license.txt" - read_only: ${SEATABLE_LICENSE_FORCE_READ_ONLY:-false} - environment: - ... - ... - # this node should only run dtable-server - - ENABLE_DTABLE_DB=false - - ENABLE_DTABLE_STORAGE_SERVER=true - - ENABLE_SEAFILE_SERVER=false - - ENABLE_DTABLE_WEB=false - - ENABLE_DTABLE_SERVER=true - - ENABLE_DTABLE_EVENTS=false - - ENABLE_API_GATEWAY=false - - SEATABLE_START_MODE=cluster ports: - - 5000:5000 + - "5000:5000" + environment: + - TIME_ZONE=${TIME_ZONE} + - 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} + - SEATABLE_MYSQL_DB_DTABLE_DB_NAME=dtable_db + - REDIS_HOST=${REDIS_HOST:-redis} + - REDIS_PORT=${REDIS_PORT:-6379} + - REDIS_PASSWORD=${REDIS_PASSWORD:-} + - JWT_PRIVATE_KEY=${JWT_PRIVATE_KEY:?Variable is not set or empty} + - DTABLE_SERVER_CLUSTER_NODE_ID=${DTABLE_SERVER_CLUSTER_NODE_ID:-} + - DTABLE_SERVER_CLUSTER_LOCAL_NODE_URL=${DTABLE_SERVER_CLUSTER_LOCAL_NODE_URL:-} extra_hosts: - "dtable-web:10.0.0.2" - "dtable-db:10.0.0.3" - - "dtable-server:10.0.0.4" - networks: - - frontend-net -networks: - frontend-net: - name: frontend-net ``` Now, start `dtable-server` for the first time and monitor the logs: @@ -162,7 +126,6 @@ Now that `dtable-server` is running on a separate node, update `dtable-web` to u - "8000:8000" ``` - ??? success "Update API-Gateway" Open the configuration file `conf/dtable-api-gateway.conf` and add these lines to specify the location of `dtable-server`: diff --git a/docs/upgrade/extra-upgrade-notice.md b/docs/upgrade/extra-upgrade-notice.md index da978cb9..7f7389aa 100644 --- a/docs/upgrade/extra-upgrade-notice.md +++ b/docs/upgrade/extra-upgrade-notice.md @@ -4,6 +4,10 @@ description: Version-specific upgrade notices and required configuration changes # Extra upgrade notice +## 7.0 + +We use a separate `dtable-server` image, and the `seatable` image no longer launches the `dtable-server` service. You simply need to update `seatable-server.yml` and the images, then start the service. + ## 6.1 Several Docker image tags have been updated to newer versions. These changes are applied automatically when you pull the latest images. Remember to also update your [plugins](../configuration/plugins.md).