Docker Self-Hosting

Build and deploy your CamelMind documentation site using Docker.

CamelMind includes a production-ready Dockerfile and docker-compose.yml, making it easy to deploy your documentation site on your own infrastructure.

Docker deployments are ideal for on-premises environments, private clouds, Kubernetes clusters, and air-gapped networks.

Build and run

From the root of your project, build the Docker image:

bash
docker build -t my-docs .

Run the container:

bash
docker run --rm \
  --env-file .env \
  -p 3000:3000 \
  my-docs

Open your documentation site at:

text
http://localhost:3000
Tip

Copy .env.example to .env and update it with your site's configuration before starting the container.


Using Docker Compose

Start the site with Docker Compose:

bash
docker compose up --build

CamelMind automatically reads environment variables from .env.


Configure your site

Configure authentication, your public site URL, and other runtime settings in .env.

For a complete list of supported variables, see Environment Variables.


Update documentation without rebuilding

During development, you can mount your documentation files into the container to see changes without rebuilding the image.

bash
docker run --rm \
  -p 3000:3000 \
  --env-file .env \
  -v "$(pwd)/content:/app/content" \
  -v "$(pwd)/nav:/app/nav" \
  my-docs

If you're using Docker Compose, uncomment the volumes section in docker-compose.yml to enable the same behavior.


Deploy to production

For production deployments, place a reverse proxy such as Nginx, Caddy, or Traefik in front of the CamelMind container to provide HTTPS and TLS termination.

Also ensure that:

  • CAMELMIND_URL is set to your public HTTPS URL.
  • Your reverse proxy forwards requests to the CamelMind container.
  • Container health checks target /home.

Next steps

  • Configure your site's Environment Variables.
  • Set up Authentication for protected documentation sites.
  • Deploy the container to your preferred hosting platform or Kubernetes cluster.
July 25, 2026
Was this page helpful?