Deployment
This page focuses on the basics: keeping your data durable, configuring the server, and running it via Docker or as a native binary.
Option 1: Run the native binary
Build Xeondb (see Quick Start), then run it with a config file:
./build/xeondb --config /etc/xeondb/settings.yml
Make sure the configured dataDir points to persistent storage.
Option 2: Run with Docker
docker build -t xeondb .
docker run --name xeondb
For real deployments you will typically also:
- publish a port (
-p hostPort:containerPort) - mount a persistent volume for
dataDir - mount a config file into the container
Option 3: ISO
Coming soon: a standalone ISO image with everything included, for easy deployment on bare metal or in the cloud.
Configuration
Xeondb is configured via YAML. The config controls networking, storage, limits, and storage-engine tuning.
Example:
network:
host: 0.0.0.0
port: 9876
storage:
dataDir: /var/lib/xeondb/data
limits:
maxLineBytes: 1048576
maxConnections: 1024
wal:
walFsync: periodic
walFsyncIntervalMs: 50
walFsyncBytes: 1048576
memtable:
memtableMaxBytes: 33554432
sstable:
sstableIndexStride: 16
Durability and restarts
- Data persistence is tied to
storage.dataDir. If you change or wipe it, your data is gone. - For best durability, keep WAL fsync enabled (defaults are set in config).
- If you want to force memtable contents to disk, run:
FLUSH myapp.users;
Xeondb Documentation