Development Installation

Set up Holt for development and testing purposes.

Prerequisites

First, install Python using Python Installation

Installation Steps

1. Create a directory for Holt and navigate to it

mkdir Holt
cd Holt

2. Clone the Repository

git clone https://github.com/holt-chat/keel.git

3. (Optional but recommended) Clone the Shore (Frontend) Repository

To also host the Frontend with the Backend clone the Shore (Frontend) Repository:

git clone https://github.com/holt-chat/shore.git

4. Navigate to Keel (Backend) Directory

cd keel

5. Install Dependencies

Install the required Python packages:

pip install -r requirements.txt

6. Generate Configuration File

Run the Keel backend to create a config file:

python3.13 main.py

main.py launches the FastAPI app with uvicorn using the host/port from config.toml. To run uvicorn directly instead, use uvicorn app.main:app --host 0.0.0.0 --port 42835.

Replace python3.13 with python on Windows

7. Configure the Backend

Open config.toml with a text editor to configure the Backend:

Linux:

nano config.toml

Windows:

notepad config.toml

You can configure the Backend to run in debug mode using dev=true in the config file. See Keel (Backend) for the presence, last-seen and typing configuration keys.

8. Start the Server

Run the following command to start the server:

python3.13 main.py

Replace python3.13 with python if you’re on Windows

You can also run in development mode/debug mode using --dev in the command

You can access it at http://your-domain:port/uri-prefix-if-set/ (or https:// if SSL is configured)

Management Commands

Shutdown

To shut it down, use Ctrl+C in the terminal you’re running it in.

Update

To update the installation:

git pull

Then run it again using the start command from step 8.