Skip to content

Deployment Overview of SeaTable on Server

Prerequisites and Basic Requirements

To ensure a successful deployment, the server must meet the following requirements:

  • Operating System: Ubuntu or Debian (based on supported distributions).

  • Privileges: Root or sudo access is required for package installation and Docker setup.

  • Network/Ports:

  • Port 443 (HTTPS) must be open for external traffic.

  • Dependencies: curl must be installed to facilitate the download of deployment scripts.

FQDN of the final panel on the hostkey.in domain

The application is accessible via a specific subdomain template based on your server ID:

Parameter Value
Prefix seatable
Domain hostkey.in
Full template seatable{Server_ID_from_Invapi}.hostkey.in

File and Directory Structure

The application files and configurations are organized in the following directory:

  • /opt/seatable-compose/: The primary working directory containing all deployment assets.

  • .env: Configuration file containing environment variables, credentials, and server settings.

  • caddy.yml: Configuration for the Caddy reverse proxy.

  • seatable-server.yml: Docker Compose configuration for the SeaTable services.

  • seatable-license.txt: A placeholder file used for licensing purposes.

Application installation process

The application is installed using a combination of system package management and Docker Compose:

  1. System Preparation: The package manager (APT) is updated, and curl is installed to enable remote downloads.

  2. Docker Installation: An official installation script from get.docker.com is executed to install the Docker engine on the host.

  3. Deployment Package Acquisition: The latest SeaTable release archive (seatable-compose.tar.gz) is downloaded directly from GitHub and extracted into /opt/seatable-compose.

  4. Configuration Setup:

  5. A .env file is generated from the provided template.

  6. Environment variables such as TIME_ZONE, SEATABLE_SERVER_HOSTNAME, and administrative credentials are automatically injected into the .env file.

  7. The COMPOSE_FILE variable is configured to use both caddy.yml and seatable-server.yml.

  8. Container Orchestration: The deployment is finalized by executing docker compose up -d within the /opt/seatable-compose directory, which pulls the required images and starts all services in detached mode.

The specific application image used for this deployment is seatable/seatable-developer:6.2.1.

Access Rights and Security

  • Firewall: The system is configured to allow traffic on port 443 (HTTPS).

  • Credentials: During installation, high-entropy random passwords are generated for the following services:

  • SeaTable Admin Password

  • MariaDB Database Password

  • Redis Password

  • JWT Private Key

  • Secret Key

Databases

SeaTable utilizes a database architecture managed via Docker containers. The primary data storage is handled by MariaDB, with configuration details (such as passwords and connection settings) stored in the .env file located in /opt/seatable-compose.

Docker Containers and Their Deployment

The application deployment consists of multiple services defined across caddy.yml and seatable-server.yml. The following components are managed via Docker:

Container/Service Image / Purpose Configuration Details
SeaTable Server seatable/seatable-developer:6.2.1 Main application logic; uses environment variables for hostname and credentials.
MariaDB Database Service Provides relational data storage for the application.
Redis In-memory Data Store Used for caching and session management.
Caddy Reverse Proxy Handles SSL termination and serves as the entry point via port 443.

Application Update Instructions

To update the SeaTable application, navigate to the installation directory and pull the latest images defined in your configuration:

cd /opt/seatable-compose
docker compose pull && docker compose up -d

Location of configuration files and data

All critical configuration and operational files are located in: /opt/seatable-compose/

Available ports for connection

The following port is available for web access:

  • 443: HTTPS (via Caddy reverse proxy)
question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×