Nojoin
Self-Hosted Meeting Transcription and Notes
What Is Nojoin?
Nojoin is a self-hosted meeting transcription and notes solution.
It captures audio through a supported browser, processes recordings on your own server, and gives you transcripts, speaker separation, meeting notes, search, meeting chat, and a web-based dashboard for day-to-day work.
Nojoin is built for people who want the usefulness of meeting assistants without inviting bots into meetings or defaulting to a SaaS platform for storage and processing.
Why Nojoin?
- It is free, self-hosted, and open-source.
- No meeting bot awkwardly joins your calls.
- Works across any meeting platform, Google Meet, Microsoft Teams, Zoom, Webex, and more. If you can hear it, Nojoin can capture it.
- Local transcription and speaker attribution on your own infrastructure.
- Optional cloud LLMs, or fully local AI with Ollama.
- Web dashboard with recordings, calendar context, a Task List, and a fuller Tasks workspace.
- Browser-native capture for system audio and microphone input.
Quick Start
-
Clone the repository.
git clone https://github.com/Valtora/Nojoin cd Nojoin -
Create local deployment files from the tracked examples.
cp docker-compose.example.yml docker-compose.yml cp .env.example .env - Set
FIRST_RUN_PASSWORDin.env. -
Set
DATA_ENCRYPTION_KEYin.envfor any persistent deployment. -
Start Nojoin.
docker compose up -d -
Open the web app.
https://localhost:14443 -
Complete the first-run wizard.
- Open Nojoin in Chrome on Windows, Linux, or macOS for shared-audio recording, in another Chromium-family browser on Windows or Linux, or in Chrome on Android/iOS for microphone-only recording, then start a short test meeting. Other Chromium-family browsers on macOS are best-effort. See docs/CAPTURE.md for browser capture guidance.
Notes:
- An NVIDIA GPU is strongly recommended for faster processing.
- CPU-only mode is supported but it is much slower.
- Browser capture supports shared-audio recording on Chrome for Windows, Linux, and macOS, Chromium-family browsers on Windows and Linux, and best-effort macOS Chromium-family browsers, plus microphone-only recording on Chrome for Android and iOS.
- Set
DATA_ENCRYPTION_KEYonce and keep it stable to avoid losing access to previously encrypted calendar credentials after restores or host changes. - For remote access, reverse proxy setup, calendar OAuth, updates, and backup guidance, use the documentation below.
Documentation
- Documentation Index
- Getting Started
- Deployment & Configuration
- Browser Capture Guide
- User Guide
- Calendar Guide
- Administration Guide
- Backup & Restore
- Architecture Overview
- Security Policy
- Legal Disclaimer
- Screenshots
Project Status
Nojoin is under active development. Back up your instance regularly before upgrading.
Contributing
Contributions are welcome. See CONTRIBUTING.md for the development workflow and contribution expectations.
Security
If you discover a vulnerability, follow the security policy.
Licence
Nojoin is licensed under the GNU Affero General Public License v3.0 (AGPLv3).
Legal
Recording laws vary by jurisdiction. Review the legal disclaimer before using Nojoin.
Support
If Nojoin is useful, please consider buying me a coffee.