Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

CLI Reference

The eidetica binary provides a server and management commands for inspecting and operating on Eidetica instances.

Commands

serve (default)

Starts the Eidetica server with HTTP and sync endpoints.

Running eidetica with no subcommand is equivalent to eidetica serve. This default is likely to change in the future.

eidetica serve [OPTIONS]
OptionShortDefaultEnv VarDescription
--port-p3000EIDETICA_PORTPort to listen on
--host0.0.0.0EIDETICA_HOSTBind address
--backend-bsqliteEIDETICA_BACKENDStorage backend (sqlite, postgres, inmemory)
--data-dir-dcurrent dirEIDETICA_DATA_DIRData directory for storage files
--postgres-urlEIDETICA_POSTGRES_URLPostgreSQL connection URL (required when backend is postgres)

health

Checks the health of a running Eidetica server by querying its /health endpoint.

eidetica health [URL] [OPTIONS]
Argument/OptionShortDefaultDescription
URLhttp://127.0.0.1:3000URL of the server to check (appends /health if needed)
--timeout-t5Timeout in seconds

Both http:// and https:// URLs are supported. If the URL doesn’t already end with /health, it is appended automatically.

Exits with code 0 on success, code 1 on failure.

info

Displays instance information: device ID, storage backend, user count, and database count.

eidetica info [OPTIONS]
OptionShortDefaultEnv VarDescription
--backend-bsqliteEIDETICA_BACKENDStorage backend
--data-dir-dcurrent dirEIDETICA_DATA_DIRData directory for storage files
--postgres-urlEIDETICA_POSTGRES_URLPostgreSQL connection URL

Example output:

Device ID:   a1b2c3d4-...
Backend:     sqlite (./eidetica.db)
Users:       2
Databases:   5

db list

Lists all user-created databases with their root IDs and tip counts. System databases are excluded.

eidetica db list [OPTIONS]
OptionShortDefaultEnv VarDescription
--backend-bsqliteEIDETICA_BACKENDStorage backend
--data-dir-dcurrent dirEIDETICA_DATA_DIRData directory for storage files
--postgres-urlEIDETICA_POSTGRES_URLPostgreSQL connection URL

Example output:

ROOT ID         TIPS
abc123def456    5
xyz789uvw012    2

Global Flags

FlagDescription
--jsonOutput in JSON format instead of human-readable text

The --json flag works with info and db list.

Storage Backends

BackendDescriptionStorage Location
sqliteSQLite database (default)eidetica.db in data directory
postgresPostgreSQL databaseSpecified by --postgres-url
inmemoryIn-memory with JSON persistenceeidetica.json in data directory

Environment Variables

VariableDescriptionDefault
EIDETICA_PORTPort for the HTTP server (serve)3000
EIDETICA_HOSTBind address (serve)0.0.0.0
EIDETICA_BACKENDStorage backend (sqlite, postgres, inmemory)sqlite
EIDETICA_DATA_DIRDirectory for database and data filescurrent directory
EIDETICA_POSTGRES_URLPostgreSQL connection URL

Command-line flags take precedence over environment variables.

Examples

# Start server with defaults (sqlite backend, port 3000)
eidetica

# Start with PostgreSQL backend on a custom port
eidetica serve --port 8080 --backend postgres \
  --postgres-url "postgresql://user:pass@host/db"

# Check health of a running server
eidetica health

# Show instance info as JSON
eidetica info --json

# List databases from a specific data directory
eidetica db list --data-dir /var/lib/eidetica