Quick Start Guide

This guide will help you set up and start using Kalmia in just a few minutes. Follow these steps to get your documentation system up and running quickly. In this guide we will use docker to setup an instance and also use NGINX as a reverse proxy.

Prerequisites

  • Docker (version 27.1 or later)
  • Git
  • OS that is compatible
  • NGINX

Installation

  1. First you have to clone the git repository for Kalmia:
git clone https://github.com/DifuseHQ/kalmia && cd kalmia

2. Configure the config.json file appropriately, you can copy from the template config.json.example file.

3. Run the docker compose command:

docker compose up

4. Setup nginx reverse proxy (if not running for testing/development purposes), here's the config we use for this server:

server {
        listen 80;
        listen [::]:80;
        server_name kalmia.difuse.io;
        return 301 https://$host$request_uri;
}

server {
        server_name kalmia.difuse.io;

        listen 443 ssl;
        listen [::]:443 ssl;

        ssl_certificate      /etc/tlsfiles/difuse.io.fullchain.pem;
        ssl_certificate_key  /etc/tlsfiles/difuse.io.privkey.pem;

        client_max_body_size 16M;

    	location = / {
           return 301 /doc;
    	}

        location / {
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $host;
                proxy_pass http://127.0.0.1:2727/;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
        }
}

You can use caddy or even just use kalmia directly by binding on port 80, but that is HIGHLY not recommended.

5. Navigate to /admin/ which means if your subdomain is https://kalmia.difuse.io/ you should go to https://kalmia.difuse.io/admin

6. Profit! 💸