Getting Started
This guide will help you get Luker up and running in minutes.
Luker runs on your own computer or phone. Pick the method that fits you — you only need the tools that method requires. Every method also needs a working LLM API (OpenAI, Claude, Google Gemini, local models, etc.).
Standalone App
Run the complete Luker server and interface inside a single app. Opening it shows the full interface — there is no terminal and no browser address.
| Platform | How to get it | Requirements |
|---|---|---|
| Desktop (macOS, Windows, Linux) | Desktop App | None |
| Android | Android App | None |
| HarmonyOS | Build from source | Node.js >= 24.0, DevEco Studio |
iPhone and iPad have no app; use Luker in Safari. See iOS.
Docker
Best for server deployments or users who want an out-of-the-box experience. Luker provides pre-built Docker images. Requires Docker.
1. Create docker-compose.yml
Create a docker-compose.yml in the directory where you want to store data:
services:
luker:
image: ghcr.io/funnycups/luker:latest
container_name: luker
ports:
- 127.0.0.1:8000:8000
volumes:
- ./plugins:/home/node/app/plugins
- ./config:/home/node/app/config
- ./data:/home/node/app/data
- ./extensions:/home/node/app/public/scripts/extensions/third-party
restart: unless-stopped2. Start the Container
docker compose up -dPort Binding and Security
The default configuration binds the port to 127.0.0.1:8000, allowing only local access. For remote access, change 127.0.0.1:8000:8000 to 0.0.0.0:8000:8000 and make sure to set up the following security measures:
- Reverse Proxy + HTTPS: Use a reverse proxy like Nginx to provide HTTPS encryption
- Enable Authentication: Turn on Basic Auth (
basicAuthMode: true) or multi-user login (enableUserAccounts: true) to prevent unauthorized access. See Configuration for details
3. Update the Image
docker compose pull
docker compose up -dGit Clone
Best for users who want to manage and update manually. Requires Node.js >= 24.0 and Git.
1. Clone the Repository
git clone https://github.com/funnycups/Luker.git
cd Luker2. Install Dependencies
npm install3. Start the Server
node server.jsYou can also use the provided startup script, which automatically installs dependencies and starts the server:
bash start.shAlternative Runtimes
Luker also supports launching via Deno or Bun:
# Deno
npm run start:deno
# Bun
npm run start:bun4. Update
git pull
npm installInitial Setup
Access Luker
Once the server is running, open your browser and navigate to:
http://localhost:8000Standalone App Users
The Desktop, Android, and HarmonyOS apps display the full interface when opened — there is no URL to visit in a separate browser.
Configure API Connection
When you first enter Luker, you need to configure at least one LLM API to start chatting:
- Click the API Connection icon at the top
- Select your API type (e.g., OpenAI, Claude, etc.)
- Enter the API endpoint and key
- Test the connection
For detailed instructions, see API Connections.
Select or Import a Character Card
Once the API is configured, you can:
- Select a character from the character card list to start chatting
- Click the Import button to import a
.pngor.jsoncharacter card file
Learn more at Character Cards.
Migrating from SillyTavern
Luker is fully compatible with SillyTavern data. If you're a SillyTavern user, you can simply copy the data directory into Luker. If you later decide to stop using Luker, you can downgrade back to SillyTavern at any time without data loss.
Backup Reminder
Although Luker is compatible with SillyTavern data, it's still recommended to back up before migrating.
For a detailed migration guide, see Migrating from SillyTavern.
Next Steps
- Configure API Connections — Connect your LLM service
- Learn about Character Cards — Start your first roleplay
- Migrate from SillyTavern — If you're a SillyTavern user