Skip to main content

Getting Started


Before you start setting up the server, please read this article carefully. Pay close attention to the points mentioned in the article.

For any issues during configuration or usage, please visit the FAQ first. If you cannot resolve the issue, please contact us.

You can determine the problem based on What do the various colors of the lights on the device represent?.

Supported Services

Self-built servers require configuration of STT, LLM, TTS.

STT (Speech to Text)

  • openai-whisper
  • azure-stt
  • azure-whisper
  • dify-stt
  • aliyun-asr
  • cf-workers-ai-asr (Cloudfalre Workers AI)
  • volcengine-asr

LLM (Large Language Model)

TTS (Text to Speech)

Server Preparation

  • A machine that is always online so that the FoloToy server can continuously serve your toys.
  • The machine needs at least 512 MB of memory to be successfully installed.
  • Linux x86_64/ARM64 is recommended, with Debian 10-11/Ubuntu 20.04-22.04/Armbian.
  • Internet access is required (If you are using services like OpenAI or Azure, ensure that the server can communicate with domains like or

File Preparation

We provide a convenient tool for you to generate the files. Simply go to: Self-hosting server file online generator, generate, and copy-paste directly. Before generating, please read this article carefully.

This file is used to configure global parameters such as the global use of TTS, LLM, STT, server address, port, and configuration.

Click to see details about parameters: Environment Variables (docker-compose.yml)

  • Make sure all used ports are open, 1883/tcp, 8082/tcp, 18083/tcp, 8083/tcp, 8085/udp, especially note that port 8085 is UDP. For some VPS, you may need to open them in the security group. Please ensure that the opening is successful, especially ensure that 8085 is UDP.

  • After each modification, a rebuild is required, execute the following command:

    docker compose up -d
  • The definitions of TTS, LLM, STT in this file have lower priority than those in roles.json. If TTS, LLM, STT are defined in roles.json, the definitions in this file will not take effect. After the setup is completed, if conflicts with the services defined here are found during testing, please check roles.json.

  • The ROLES_FILE_PATH field configures the path of roles.json. Please ensure that the path is correct.

Deploying Services

We provide multiple deployment methods. Choose according to your needs:


Once the server is deployed, configure the network for the device, and you can start enjoying your happy time~

During usage, if you encounter any problems, you can find solutions in the FAQ. If you cannot find a solution, please contact us.