Skip to content

Setup SeaDB in single node

SeaDB depends on FoundationDB.

FoundationDB is a distributed database designed to handle large volumes of structured data across clusters of commodity servers.

Deploy FoundationDB

For non-production environments, FoundationDB(v7.3.63) can be deployed as a single-node instance using Docker. For installation-package deployments, please refer to the official documentation.

Download and modify .env

mkdir -p /opt/seadb
cd /opt/seadb

wget -O .env https://manual.seaticket.ai/0.9/repo/docker/seadb/env
wget https://manual.seaticket.ai/0.9/repo/docker/seadb/fdb.yml
wget https://manual.seaticket.ai/0.9/repo/docker/seadb/fdb.cluster

vim .env

Modify COMPOSE_FILE='seadb.yml' to COMPOSE_FILE='fdb.yml' in the .env file.

COMPOSE_FILE='fdb.yml'

Initialize FoundationDB

# Start the FoundationDB service
docker compose up -d

# Enter the fdb container
docker exec -it fdb bash

fdbcli
# Configure the ssd-2 storage engine
fdb> configure new single ssd
fdb> configure storage_migration_type=aggressive
fdb> configure ssd

# Check the fdb status
fdb> status

Deploy SeaDB

Download and modify .env

cd /opt/seadb

wget https://manual.seaticket.ai/0.9/repo/docker/seadb/seadb.yml

vim .env

Modify COMPOSE_FILE='fdb.yml' to COMPOSE_FILE='fdb.yml,seadb.yml' in the .env file.

COMPOSE_FILE='fdb.yml,seadb.yml'

The following fields merit particular attention:

Variable Description Default Value
SEADB_SERVER_ACCESS_TOEKN SEADB_SERVER_ACCESS_TOEKN, A random string with a length of no less than 32 characters is required for SeaTicket, which can be generated by using pwgen -s 40 1 (required)
SEADB_VOLUME The volume directory of SeaDB data /opt/seadb-data
FDB_VOLUME The volume directory of FoundationDB data /opt/fdb-data
TIME_ZONE Time zone UTC

Start SeaDB

Run the following command:

docker compose up -d

docker logs -f seadb

When you see the following log, it means that SeaDB is ready:

seadb | seadb started