Single-Node installation of a SeaTable Server¶
Alright, let's dive in. This article will guide you through the process of installing a basic SeaTable server with a Caddy web server. By the end of this article, your new SeaTable server will be accessible via HTTPS with your custom domain. To begin, open a root shell on your server.
Want to watch a step-by-step video instead of reading a manual?
Watch a brief English video demonstrating all the essential steps:
Installation made easy
Most commands that are required to install a SeaTable Server are provided in a way, that you can just simply copy and paste the commands into your command line. Use the () icon at the top-right of the code boxes.
Install basic tools¶
The following command installs basic tools that are used in the following manual. Usually all these tools are already installed on your linux server.
apt update && \
apt -y install curl pwgen tree wget tar nano
Install Docker and Docker Compose Plugin¶
At get.docker.com, you'll find a script designed for the easy and convenient installation of the Docker Engine. While the script isn't recommended for production environments, it has shown no issues in our observations. You can effortlessly install Docker using this single command:
curl -fsSL get.docker.com | bash
Alternatively, you can opt to follow Docker's official installation instructions
Install SeaTable Server¶
This installation assumes that all SeaTable components are installed under
/opt. We highly recommended to keep this folder structure. All articles in the manual assume SeaTable's installation in this directory.
1. Create basic structure¶
Simply copy and paste the following command into your command line to execute. This code will download the latest yml files from repository seatable-release.
mkdir /opt/seatable-compose && \
cd /opt/seatable-compose && \
wget -c https://github.com/seatable/seatable-release/releases/latest/download/seatable-compose.tar.gz \
-O - | tar -xz -C /opt/seatable-compose && \
cp -n .env-release .env
To get an overview of the downloaded files, use the
tree -a /opt/seatable-compose
The expected output should appear as follows.
# this should be the output of the tree command...
Don't change these yml files
Generally, there's no need to make changes to the different .yml files in most cases. Adjustments should be made only by experienced Docker administrators and then you should create a copy and rename the file.
# Example to create a custom copy:
cp n8n.yml custom-n8n.yml
2. Generate some secrets¶
SeaTable is configured with the hidden
.env file (=enviroment configuration file) that is stored in the folder
pwgen to create secure passwords for your admin account and the database root password. The following commands will generate such passwords and include them in the
sed -i "s/^SEATABLE_ADMIN_PASSWORD=.*/SEATABLE_ADMIN_PASSWORD=$(pwgen 40 1)/" .env
sed -i "s/^SEATABLE_MYSQL_ROOT_PASSWORD=.*/SEATABLE_MYSQL_ROOT_PASSWORD=$(pwgen 40 1)/" .env
Alternatively, you can manually add your own passwords.
3. Complete settings in the .env file¶
.env file with the editor of your choice, like
Continue setting up your SeaTable server by adjusting only three more variables. These are:
# components to be used
COMPOSE_FILE='caddy.yml,seatable-server.yml' # (1)!
# system settings
TIME_ZONE='Europe/Berlin' # (2)!
# seatable server base url
SEATABLE_SERVER_HOSTNAME='seatable.example.com' # (3)!
# initial web admin
- COMPOSE_FILE is a comma separated list without spaces. This list defines which components should run on this server. Leave
seatable-server.ymlat the beginning. You will add more components at a later time.
- Get a list of timezones from Wikipedia.
- Select your domain or subdomain that points to your Server (without https://). You have to set an A-Record or CNAME pointing to your IP.
To install the SeaTable Developer Edition instead of Enterprise edition, add the following parameter to your
.env file. This overwrites the used SeaTable Docker image. Everything else remains identical to the SeaTable Enterprise Edition.
SEATABLE_IMAGE='seatable/seatable-developer:latest' # (1)!
- Instead of latest you can select a concrete version from https://hub.docker.com/r/seatable/seatable-developer/tags.
4. Get a license¶
SeaTable Enterprise requires a license to start
This step is solely required for SeaTable Enterprise Edition installation. You can bypass this step for SeaTable Developer Edition and just create an empty
Three users, two years - for free.
SeaTable use for up to three users is free, with each license valid for two years. You can generate a new license at any time. If you enjoy SeaTable and are contemplating a larger license, please get in touch with us.
We've streamlined the process to request a complimentary enterprise license for three users, valid for two years, completely free of charge. After two years, you can request a new license with another two-year validity.
Run the following command, replacing
firstname.lastname@example.org with your valid email address. Shortly after, you'll receive an email with instructions to download your license to the current directory
5. Fire up the server¶
Now it is time to run the following command to download and initiate the docker images for the initial setup. This process will require some time.
docker compose up -d
If the process completed successfully, you can now open your web browser and access SeaTable using the URL you specified in your
.env file. Sign in using the credentials you provided in the same file.
Congratulations! You've completed the basic setup of your SeaTable Server.
Your SeaTable journey has just begun! While you can dive straight into SeaTable, creating bases, adding users, utilizing the API, and more, there's an array of possibilities to explore. Here are a few examples:
- Expand functionality by installing additional components like the Python Pipeline or n8n.
- Configure your server to enable email notifications, templates, or Single Sign-On (SSO).
- For troubleshooting or queries during installation, refer to the FAQ section for assistance.
This manual covers a range of topics, from advanced cluster installations to detailed configuration options. Take your time to explore these possibilities. If you can't find what you need or require assistance, consider posting in the community forum.
Encounter an issue or need clarity? Feel free to create a post on the SeaTable community forum. We're here to assist and improve this manual based on your feedback.
For sure you can also contribute directly and create a pull request at GitHub.