Manual Docker Setup

This guide covers manually deploying Honse Farm using Docker. If you prefer an automated approach, the installer can provision everything for you in minutes.

Getting the Docker Images

There are two ways to obtain the Honse Farm Docker images.

Option 1: Build from Source

Building from source ensures you are always running the latest version. Clone the repository and build the images yourself:

git clone https://git.honse.farm/astraea/honse-farm.git

Follow the build instructions in the repository to produce the Docker images for each service.

Option 2: Pre-built Images

Pre-built Docker images are available on the GitHub Container Registry. Pull them directly:

docker pull ghcr.io/obscure-crescent/honse-honsefarm.server:latest
docker pull ghcr.io/obscure-crescent/honse-honsefarm.fileserver:latest
docker pull ghcr.io/obscure-crescent/honse-honsefarm.adminpanel:latest

Docker Compose Samples

The deploy folder in the repository contains several Docker Compose configurations for different setups:

  1. Minimal — Server, File Server, and Admin Panel only. You provide your own PostgreSQL, Redis, and reverse proxy.
  2. Minima + ClamAV — Minimal, but with an added ClamAV container for anti-virus.
  3. Complete — Adds PostgreSQL, Redis, and metrics to the stack.
  4. Complete + ClamAV — Complete, but with an added ClamAV container for anti-virus.
  5. Complete + NGINX — Complete stack with an NGINX reverse proxy included.
  6. Complete + Traefik — Complete stack with a Traefik reverse proxy included.

Pick the sample that best matches your environment and adjust to your needs.

Please note: The installer will set all of this (including the configurations) up for you.

Configuration

Regardless of which compose setup you choose, you need to configure three core services before starting the containers:

  1. Main Server — handles client connections, authentication, and federation.
  2. File Server — handles file storage and distribution for character data synced between clients.
  3. Admin Panel — the web-based administration interface for managing your server, users, and settings.

Refer to the full setup guide for the required values and their descriptions. Each service has its own configuration file that must be completed before the containers will start successfully.

Additional Requirements

If you are using the minimal compose setup, you will also need to provide:

  • PostgreSQL — the primary database.
  • Redis — used for caching and real-time messaging.
  • A reverse proxy (e.g. NGINX, Caddy, or Traefik) — to handle TLS termination and route traffic to the correct service.

The complete compose samples include PostgreSQL, Redis, and optionally a reverse proxy out of the box.