Welcome! This is the standalone server for RikkaHub — run the full Web UI and API without Android.
The easiest way to get started? Just grab the prebuilt jar:
java -jar rikkaweb.jar --host 0.0.0.0 --port 11001 --data-dir ./data \
--jwt-enabled true --access-password "your_password"- Java 17+ runtime
- A folder to store your data (settings, database, uploads)
mkdir -p ./dataYou have two options to set up your data:
| Option | When to use |
|---|---|
| 📦 Import from Android backup (recommended) | Already using RikkaHub on Android? This keeps everything in sync. |
| ✏️ Manual setup | Starting fresh? Copy settings.example.json to get started. |
Got a backup ZIP from the Android app? Import it in one command:
java -jar rikkaweb.jar --data-dir ./data \
--import-zip "/path/to/rikkahub-backup.zip" \
--import-overwrite trueThis pulls in your settings.json, databases, and uploaded files — seamless migration! ✨
java -jar rikkaweb.jar --host 0.0.0.0 --port 11001 --data-dir ./data \
--jwt-enabled true --access-password "your_password"Now open your browser:
- 🌐 Web UI:
http://<host>:11001/ - 🔌 API:
http://<host>:11001/api/*
| Option | Description | Default |
|---|---|---|
--host <host> |
Bind address | 0.0.0.0 |
--port <port> |
Bind port | 8080 |
--data-dir <path> |
Data directory | ./data |
--jwt-enabled <bool> |
Enable authentication | false |
--access-password <str> |
Password for JWT signing | — |
--import-zip <path> |
Import backup ZIP, then exit | — |
--import-overwrite <bool> |
Overwrite existing data on import | true |
--help, -h |
Show help | — |
Prefer env vars? These override CLI defaults:
RIKKAHUB_HOST
RIKKAHUB_PORT
RIKKAHUB_DATA_DIR
RIKKAHUB_JWT_ENABLED
RIKKAHUB_ACCESS_PASSWORD
data/
├── settings.json # Your configuration
├── db/ # SQLite databases (from app backup)
├── upload/ # Uploaded files & tool outputs
└── tmp/ # Temp files (safe to delete when stopped)
Exposing this to the internet? Please:
- ✅ Enable auth:
--jwt-enabled true - ✅ Use a strong password:
--access-password "something_unguessable" - ✅ Add HTTPS: Put it behind nginx/caddy with TLS
The Web UI stores your access token in
localStorage.
Models come from settings.json. Either:
- Import an Android backup ZIP, or
- Manually add providers/models (see
settings.example.json)
Check that your MCP servers have commonOptions.enable: true in settings.json.
Want to build it yourself? Sure:
./gradlew :standalone-server:rikkawebJarOutput: standalone-server/build/libs/rikkaweb.jar
Happy hacking! 🚀