The Nightjar server ingests recordings, transcribes them, writes summaries, and serves the open API. It runs happily on a home NAS, a mini-PC, or a small cloud box.
Clone the repository and enter the server directory.
git clone <nightjar-repo>
cd nightjar/serverThe public code is being prepared for release. Register interest to be notified when the repository opens.
python -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
Copy the example config and edit it. Set your storage, and your AI providers (see Connect your AI).
cp .env.example .env
# then edit .env:
NIGHTJAR_STORAGE_BACKEND=local # or s3 / webdav
NIGHTJAR_LOCAL_MEDIA_DIR=./media
NIGHTJAR_LLM_PROVIDER=ollama
NIGHTJAR_TRANSCRIPTION_PROVIDER=local_whisper
uvicorn app.main:app --host 0.0.0.0 --port 8000Open http://your-server:8000/docs to browse the live API, and http://your-server:8000/health to confirm which providers are wired up.
In the phone app, set the server URL to your machine, and set the device’s upload target to your storage. From then on, recordings flow in automatically: the device uploads, the server transcribes and summarises, and the results appear in the app and through the API.
For anything beyond testing, run the server under a process manager (a systemd service or a Docker container) so it restarts on reboot, and put it behind a reverse proxy with HTTPS. A small always-on box is ideal; a laptop that sleeps is not.