Skip to content

Overview

LeafLock runs anywhere Docker does. Pick the option that matches how you ship software and follow the linked page. Everything here stays lean so you are not reading the same advice twice.

PlatformBest ForWhy Choose It
RailwayFastest path to a hosted instanceGit-based deploys, zero infrastructure maintenance
CoolifySelf-hosted control with a UIBring-your-own server, Docker Compose stays first-class
Docker ComposeLocal or custom serversFull control, easy to integrate with existing stacks
KubernetesEnterprises and complex scalingWorks with any cluster, fits GitOps/Argo workflows

All platforms share the same requirements:

  • Generate POSTGRES_PASSWORD, REDIS_PASSWORD, JWT_SECRET, and SERVER_ENCRYPTION_KEY with openssl rand
  • Point CORS_ORIGINS and VITE_API_URL at the URL your users will hit
  • Keep ENABLE_REGISTRATION=false unless you want public sign-ups on day one
  • Expose 8080 for the backend and 80 (or your chosen ingress) for the frontend

Keep the Reference page open for variable names, ports, and health endpoints.

  • Walk through the short Readiness checklist
  • Hit /api/v1/health and verify the UI can create an encrypted note
  • Rotate secrets and reboot once to prove everything survives restarts

Head to Troubleshooting for platform-specific fixes (starting with Railway), or open a GitHub issue if something new breaks. The goal is to keep each document focused so you spend time shipping, not reading.