Skip to content

Install and Build

v0.8.0 Latest
v0.7.1
v0.7.0
v0.6.0
v0.5.3
v0.5.2
v0.5.1
v0.5.0
v0.4.0
v0.3.0
v0.2.0
v0.1.0

Use the tagged release archives if you want the fastest path to a working client binary. Use the published container image for the server unless you specifically need a local binary or source checkout. The latest release stays expanded by default; earlier releases remain available in the collapsed sections below it.

For operational deployments, use the published image instead of building the Rust workspace:

Terminal window
docker pull ghcr.io/vaylix/vaylix:latest

Run it with a persistent volume:

Terminal window
docker run \
-p 9173:9173 \
-v vaylix-data:/var/lib/vaylix \
-e VAYLIX_USER=vaylix \
-e VAYLIX_PASSWORD=vaylix \
-e VAYLIX_SNAPSHOT_INTERVAL_SECONDS=300 \
ghcr.io/vaylix/vaylix:latest

The image defaults include:

  • VAYLIX_BIND=0.0.0.0
  • VAYLIX_PORT=9173
  • VAYLIX_MAX_CONNECTIONS=256
  • VAYLIX_WAL_SYNC=flush
  • VAYLIX_DATA_DIR=/var/lib/vaylix
  • VAYLIX_BACKUP_DIR=/var/lib/vaylix/backups
  • VAYLIX_USER=vaylix
  • VAYLIX_PASSWORD=vaylix

Important runtime variables:

VariablePurpose
VAYLIX_BINDBind address
VAYLIX_PORTListener port
VAYLIX_DATA_DIRPersistent storage root
VAYLIX_BACKUP_DIRServer-local logical backup directory
VAYLIX_USER / VAYLIX_PASSWORDBootstrap admin credentials
VAYLIX_SSLEnable TLS
VAYLIX_TLS_CERT / VAYLIX_TLS_KEYTLS certificate and private key
VAYLIX_TLS_CLIENT_CARequire client certificates signed by this CA
VAYLIX_WAL_SYNCWAL durability mode
VAYLIX_WAL_SEGMENT_SIZE_BYTESSegment rotation threshold
VAYLIX_WAL_RETAIN_SEGMENTSRetained sealed WAL segment count
VAYLIX_REPLICATION_ROLEstandalone, leader, or follower
VAYLIX_NODE_IDStable node identity for HA metadata
VAYLIX_REPLICATION_GROUP_IDCluster or replication group identity
VAYLIX_REPLICATION_ADVERTISE_ADDRAddress this node advertises to peers
VAYLIX_REPLICATION_UPSTREAMInitial upstream source for follower catch-up
VAYLIX_REPLICATION_USER / VAYLIX_REPLICATION_PASSWORDCredentials used by replication peer traffic
VAYLIX_WRITE_ACK_MODEreplica / majority by default; local and all are explicit alternatives
VAYLIX_CLUSTER_PEERSComma-delimited peers in node_id@host:port form
VAYLIX_SNAPSHOT_INTERVAL_SECONDSBackground snapshot interval
VAYLIX_EXPIRATION_SWEEP_INTERVAL_SECONDSBackground expiration sweep interval
VAYLIX_IDLE_TIMEOUT_SECONDSIdle client timeout
VAYLIX_DISABLE_AUTHDisable auth for trusted local testing
VAYLIX_DISABLE_COMPRESSIONDisable outbound frame compression
VAYLIX_MAX_REQUEST_PAYLOAD_BYTESMaximum post-framing request payload
VAYLIX_MAX_KEY_BYTESMaximum key size
VAYLIX_MAX_VALUE_BYTESMaximum value size in bytes
VAYLIX_MAX_KEYS_PER_BATCHMaximum key count in multi-key commands
VAYLIX_MAX_TRANSACTION_QUEUE_LENMaximum queued MULTI commands
VAYLIX_REQUESTS_PER_SECONDSustained request rate
VAYLIX_REQUEST_BURSTBurst request budget
VAYLIX_AUDIT_LOG_PATHAudit log override path
VAYLIX_SLOW_COMMAND_THRESHOLD_MSSlow-command audit threshold
VAYLIX_AUTH_FAILURE_WINDOW_SECONDSAuth failure tracking window
VAYLIX_AUTH_FAILURE_LIMITMax failures before lockout
VAYLIX_AUTH_LOCKOUT_SECONDSLockout duration
VAYLIX_TRANSACTION_MAX_SECONDSMaximum transaction lifetime

As of 0.5.1+, persisted Docker volumes track the env-managed bootstrap admin correctly across restarts. If you change VAYLIX_USER or VAYLIX_PASSWORD for an existing data directory and restart the container, the startup admin rotates to the new env-managed identity without dropping custom users or RBAC roles.

If you need local development, unreleased behavior, or a custom binary build, use Build from Source. That page is intentionally separate from the runtime/operator path.