Installation

How Speaknode is distributed and the ways to install it

Speaknode is distributed as a set of Docker images hosted in our private container registry, plus a public docker-compose.yml + .env.example bundle that wires all services together.

There are three supported install paths:

1. Quickstart (single host, Docker Compose)

The fastest way to try Speaknode — a single docker compose up brings up the full stack on a 4 vCPU / 8 GB machine. See Quickstart for the step-by-step guide.

Good for: demos, local dev, pilot deployments up to ~10 concurrent sessions.

2. Compose on a production VM

Same compose file as the quickstart, deployed to a properly sized Linux VM (see Requirements). Reuses the public docker-compose.yml, but with secrets and scaled-up resource limits.

Good for: small/medium production deployments up to ~50 concurrent sessions, single-tenant setups.

3. Managed / Railway / Kubernetes

Each service is available as a standalone container — you can deploy them to Railway, ECS, Kubernetes or any orchestrator. For production we run Speaknode on Railway with managed Postgres, Redis and Kafka.

Contact us if you need Helm charts or Terraform modules — we're happy to help set this up for your environment.

What you need before starting

  • A container registry deployment token (see below).
  • A host matching Requirements.
  • Accounts for the external services you want to enable: an LLM provider, an STT provider, a TTS provider, a payment provider supported by the billing engine (for paid plans), Mailgun or similar (for email).

Getting a deployment token

Container images live at registry.gitlab.com/nodevoice/*. They are not publicly pullable — each customer gets their own read-only deployment token.

Request a token: open an issue in the quickstart repo or email us and we'll issue one.

Then log in on the host:

docker login registry.gitlab.com -u <your-token-name> -p <your-token-secret>

After that docker compose pull will work for every image the stack needs.

On this page