EESI is self-hosted with Docker. Everything ships as two images (eesi-api and eesi-ui) plus Postgres, Redis, and MinIO, orchestrated with Docker Compose. Pick the deployment path that matches what you’re trying to do: Browsers treat microphone access as a secure-context feature, so the app must be served over HTTPS β€” or accessed at localhost/127.0.0.1 over HTTP, which is also a secure context. Local Docker uses http://localhost:3010 and therefore does not need a certificate.

After you deploy

Once the platform is running, these guides cover keeping it running:
  • Authentication β€” configure Clerk for user sign-in (Google + email) and superuser promotion.
  • Scaling β€” run multiple FastAPI workers behind nginx for higher call throughput.
  • Update β€” move an existing deployment to a newer EESI version.

Where to start

  1. Kicking the tires? Start with local Docker β€” running in a few minutes, no server needed.
  2. Putting it in front of real callers? Use remote server deployment, then layer on a custom domain if you want one.
  3. Already running and need to upgrade? Go straight to Update.
  4. Expecting high call volume? Read Scaling once your base deployment is live.