serge

serge

Docker app from Kilrah's Repository

Overview

Serge - LLaMa made easy A chat interface based on llama.cpp for running Alpaca models. Entirely self-hosted, no API keys needed. Fits on 4GB of RAM (depending on model) and runs on the CPU. Models can be downloaded from within the interface. A note on memory usage: llama will just crash if you don't have enough available memory for your model. 7B requires about 4.5GB of free RAM 13B requires about 12GB free 30B requires about 20GB free New models are regularly being added, check the project page for notes and requirements

Serge - LLaMA made easy ๐Ÿฆ™

License Discord

Serge is a chat interface crafted with llama.cpp for running LLM models. No API keys, entirely self-hosted!

  • ๐ŸŒ SvelteKit frontend
  • ๐Ÿ’พ Redis for storing chat history & parameters
  • โš™๏ธ FastAPI + LangChain for the API, wrapping calls to llama.cpp using the python bindings

๐ŸŽฅ Demo:

demo.webm

โšก๏ธ Quick start

๐Ÿณ Docker:

docker run -d \
    --name serge \
    -v weights:/usr/src/app/weights \
    -v datadb:/data/db/ \
    -p 8008:8008 \
    ghcr.io/serge-chat/serge:latest

๐Ÿ™ Docker Compose:

services:
  serge:
    image: ghcr.io/serge-chat/serge:latest
    container_name: serge
    restart: unless-stopped
    ports:
      - 8008:8008
    volumes:
      - weights:/usr/src/app/weights
      - datadb:/data/db/

volumes:
  weights:
  datadb:

Then, just visit http://localhost:8008, You can find the API documentation at http://localhost:8008/api/docs

๐ŸŒ Environment Variables

The following Environment Variables are available:

Variable Name Description Default Value
SERGE_DATABASE_URL Database connection string sqlite:////data/db/sql_app.db
SERGE_JWT_SECRET Key for auth token encryption. Use a random string uF7FGN5uzfGdFiPzR
SERGE_SESSION_EXPIRY Duration in minutes before a user must reauthenticate 60
NODE_ENV Node.js running environment production

๐Ÿ–ฅ๏ธ Windows

Ensure you have Docker Desktop installed, WSL2 configured, and enough free RAM to run models.

โš ๏ธ Memory Usage

LLaMA will crash if you don't have enough available memory for the model

๐Ÿ’ฌ Support

Need help? Join our Discord

๐Ÿงพ License

Nathan Sarrazin and Contributors. Serge is free and open-source software licensed under the MIT License and Apache-2.0.

๐Ÿค Contributing

If you discover a bug or have a feature idea, feel free to open an issue or PR.

To run Serge in development mode:

git clone https://github.com/serge-chat/serge.git
cd serge/
docker compose -f docker-compose.dev.yml up --build

The solution will accept a python debugger session on port 5678. Example launch.json for VSCode:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Remote Debug",
            "type": "python",
            "request": "attach",
            "connect": {
                "host": "localhost",
                "port": 5678
            },
            "pathMappings": [
                {
                    "localRoot": "${workspaceFolder}/api",
                    "remoteRoot": "/usr/src/app/api/"
                }
            ],
            "justMyCode": false
        }
    ]
}

Install Serge on Unraid in a few clicks.

Find Serge in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for Serge Review the template variables and paths Click Install

Categories

Related apps

Explore more like this

Explore all

Details

Repository
ghcr.io/serge-chat/serge
Last Updated2026-07-17
First Seen2023-06-12

Runtime arguments

Web UI
http://[IP]:[PORT:8008]
Network
bridge
Shell
bash
Privileged
false

Template configuration

Web UIPorttcp
Target
8008
Default
8008
DB pathPathrw
Target
/data/db/
Default
/mnt/user/appdata/serge/db
Weights pathPathrw
Target
/usr/src/app/weights
Default
/mnt/user/appdata/serge/weights