Raytha Logo Developer Docs v1.4.2

Deploy with Docker

Learn how to deploy Raytha using Docker. Covers required dependencies (Postgres, SMTP), environment variables, file storage options, and running multiple instances with custom path bases.

getting_started Updated Nov 15, 2025

One of Raytha's missions is to keep as minimal as a deployment footprint as possible. With that said, here are the dependencies to deploy Raytha.

Required dependencies

  • Postgres for the database

  • SMTP for email (can deploy without it, but needed for password resets, etc).

Optional dependencies

  • File storage defaults to local storage, but can configure Azure Blob or S3

Running raytha via docker

  1. Pull the docker image from Docker Hub

docker pull raythahq/raytha
  1. Create your database in postgres

  2. Set your connection string environment variable to point to the database

ConnectionStrings__DefaultConnection=...Your postgres connection string

View all available environment variables, including if you wish to set the local file storage directory, or use a storage provider such as Azure Blob or S3-compatible, and also receive emails for password retrieval and other functionality.

  1. Run with command

 docker run -p 8080:8080 --env-file your-env-file

Run at a different path base

Raytha allows you to specify a custom path base route by setting the optional PATHBASE environment variable. This is particularly useful if you have multiple web applications running on a single domain, being routed to via proxy like nginx, or multiple Raytha websites running on the same domain.

For instance, let's say you are running an annual conference for your association and you want to keep the content of previous years' conferences intact while dedicating a separate website for the current year's conference. You might want a configuration that looks like this:

Each route would represent a separate instance of Raytha. You can achieve this by setting the PATHBASE environment variable to /2023, /2024, and /2025 respectively.

Was this page helpful?

Help us improve our documentation by providing feedback.