Install & self-host
OpenSpeak is self-hosted: your club runs its own instance, owns its own data, and shares one URL among members. There is no hosted/cloud version.
What you need
Section titled “What you need”- Node.js 22+ and Docker (with the Compose plugin) for development, or
- for production: a small Linux server (1 vCPU / 1 GB RAM is enough), Docker, PostgreSQL 16+, and a reverse proxy with TLS.
Remember: OpenSpeak has no logins — treat the URL itself as the key to your instance.
Try it locally
Section titled “Try it locally”From a clone of the repository:
cd agenda-appdocker compose up -d # start the dev PostgreSQLecho 'DATABASE_URL="postgresql://agenda:agenda@localhost:5432/agenda"' > .envnpm installnpx prisma migrate dev # create the database schemanpx prisma db seed # optional sample data (includes the Toastmasters template)npm run devThen open http://localhost:3000 in your browser.
Production deployment
Section titled “Production deployment”The repository README is the single source of truth for production setup — a Docker image that applies database migrations automatically on startup, plus a complete Ubuntu walkthrough (PostgreSQL in Docker or via apt, nginx with TLS certificates, updating, and backups):