This documentation is actively being improved. You may encounter gaps or incomplete sections as we refine and expand the content. We appreciate your understanding and welcome any feedback to help us make this resource even better!

Docker is the easiest way to deploy a self-hosted instance of Fonoster. This guide will walk you through deploying the Fonoster services using Docker and Docker Compose.

Prerequisites

The only prerequisite for Fonoster is to have Docker installed on the host machine.

Step-by-step installation

1

Prepare the environment

Follow the next few steps to prepare the environment:

2

Generate keys

Next, generate a set of public and private keys for the server. You can use the following command to generate the keys:

mkdir -p config/keys
openssl genpkey -algorithm rsa -out config/keys/private.pem -pkeyopt rsa_keygen_bits:2048
openssl rsa -pubout -in config/keys/private.pem -out config/keys/public.pem
chmod 644 config/keys/*
3

Confirm the directory structure

Your directory structure should look like this:

.
├── .env
├── compose.yaml
└── config
    ├── envoy.yaml
    ├── integrations.json
    └── keys
        ├── private.pem
        └── public.pem

3 directories, 6 files

If it looks different, go back and review your steps.

4

Start the server

Finally, run the following command to start the application:

docker compose up -d

After a few moments, you can interact with Fonoster using the API or SDK.