Self-Hosting Honcho
Running a local version of the Honcho API Server
This guide was made using a M1 Macbook Pro. For any compatibility issues on different platforms please raise an Issue.
Prerequisites and Dependencies
Honcho is developed using python and uv.
The minimum python version is 3.9
The minimum poetry version is 0.4.9
Setup
Once the dependencies are installed on the system run the following steps to get the local project setup.
- Clone the repository
- Enter the repository and install the python dependencies
We recommend using a virtual environment to isolate the dependencies for Honcho
from other projects on the same system. uv
will create a virtual environment
when you sync your dependencies in the project.
Putting this together:
This will create a virtual environment and install the dependencies for Honcho.
The default virtual environment will be located at honcho/.venv
. Activate the
virtual environment via:
- Set up a database
Honcho utilized Postgres for its database with pgvector. An easy way to get started with a postgresdb is to create a project with Supabase
A docker-compose
template is also available with a database configuration
available.
- Edit the environment variables.
Honcho uses a .env
file for managing runtime environment variables. A
.env.template
file is included for convenience. Several of the configurations
are not required and are only necessary for additional logging, monitoring, and
security.
Below are the required configurations
Note that the
CONNECTION_URI
must have the prefixpostgresql+psycopg
to function properly. This is a requirement brought bysqlalchemy
The template has the additional functionality disabled by default. To ensure that they are disabled you can verify the following environment variables are set to false.
- Launch the API
With the dependencies installed, a database setup and enabled with pgvector
,
and the environment variables setup you can now launch a local instance of
Honcho. The following command will launch the storage API for Honcho
This is a development server that will reload whenever code is changed. When first launching the API with a connection the database it will provision the necessary tables for Honcho to operate.
Docker
As mentioned earlier a docker-compose
template is included for running Honcho.
As an alternative to running Honcho locally it can also be run with the compose
template.
Copy the template and update the appropriate environment variables before launching the service.