Soul is a SQLite REST and Realtime server that automatically generates a REST API and WebSocket endpoint for any existing SQLite database. Version 0.8.2 provides declarative CRUD endpoints, real-time data streaming, authentication/authorization with JWT, rate limiting, and CORS configuration. Released under MIT license with irregular cadence. Key differentiator: instant REST+WebSocket layer over SQLite without schema definition, unlike alternatives that require configuration or code generation.
npm install soul-cliNo compatibility data collected yet for this library.
Installs Soul CLI, starts a REST+WebSocket server on a SQLite database, demonstrates CRUD and filtering, WebSocket subscription, and auth mode login.
Use Docker or install build-essential (apt) / Xcode Command Line Tools (macOS) / Visual Studio Build Tools (Windows).
Use --rate-limit-enabled and consider HTTP caching or a reverse proxy for production rate limiting.
Set environment variables directly or use a wrapper script.
Use REST API for complex queries; WebSocket only streams entire table changes.
Ensure build tools are installed (e.g., 'sudo apt install python3 make g++' on Debian/Ubuntu) and reinstall: 'npm install -g soul-cli'. Alternatively, use the Docker image.
Check npm global prefix with 'npm config get prefix' and add its bin directory to PATH. Common on Windows: %APPDATA%\npm. On Unix: /usr/local/bin or ~/.npm-global/bin.
Kill the other process or use a different port: 'soul -d db.sqlite -p 8001'.