Skip to main content

Server

One of the main goals of Chatfall is to be easily deployable.

To this end, every Chatfall release includes a single binary executable with zero dependencies!

On Github, every release will have the following assets:

  • chatfall-server.js - Node.js script to run using Bun.
  • chatfall-linux-arm64 - Binary executable for Linux ARM architectures.
  • chatfall-linux-x64 - Binary executable for Linux x64/Intel/AMD architectures.
  • chatfall-macos-arm64 - Binary executable for Mac OS ARM architectures.
  • chatfall-macos-x64 - Binary executable for Mac OS x64/Intel/AMD architectures.
  • chatfall-windows-x64.exe - Binary executable for Windows x64/Intel/AMD architectures.

You can run these binaries manually as shown in the tutorial, though we recommend using a process manager like PM2 in that case.

Remember to set the correct environment variables.

Running with Docker

Every release of Chatfall also includes a Docker image hosted at https://github.com/hiddentao/chatfall/pkgs/container/chatfall.

The images are currently built for the following platforms:

  • linux/amd64
  • linux/arm64

To run them you first need to migrate your Chatfall database (replace VERSION with your chosen version, e.g "v1.1.6"):

docker run --rm \
--env ENC_KEY=<your chatfall encryption key> \
--env DATABASE_URL="<your postgres database url>" \
ghcr.io/hiddentao/chatfall:VERSION migrate-db

Then you would run the server (replace VERSION with your chosen version, e.g "v1.1.6"):

docker run --rm \
-p 3000:3000 \
--name chatfall \
--env ENC_KEY=<your chatfall encryption key> \
--env DATABASE_URL="<your postgres database url>" \
--env MAILGUN_API_KEY=<your mailgun api key> \
--env MAILGUN_SENDER=<your mailgun sender email> \
ghcr.io/hiddentao/chatfall:VERSION server

This starts the Chatfall server on port 3000 - access it at http://localhost:3000.

You can then shut down the server later on by running:

docker stop chatfall