Before you begin
Pick the environment that fits your first installation. In both cases, GitHub sign-in creates your Nebulai organisation, and the setup screens guide you through connecting a repository you control.
Evaluation on this computer
macOS or Linux, Docker Desktop or Docker Engine with Compose v2.
Runs at http://localhost:4300. No public DNS or payment details needed.
Team on a server
Linux host, Docker Engine with Compose v2, a public DNS name, and ports 80/443 open for TLS.
Encrypted persistent storage and an active Team entitlement are required.
Evaluation can use an explicit unencrypted-storage override for a local trial. Team cannot. Your repositories and GitHub App credentials stay on your installation, not in the Nebulai account service.
Get a verified download
The small bootstrap script installs the Nebulai command and a trusted release public key. Check the script's SHA-256 against the value published on this site before running it. The command then checks the downloaded executable and key. Never copy a command from an untrusted download mirror.
There is no release URL or checksum to trust today, so this page does not show a pretend install command. Once the signed release passes its public audit, the exact platform commands will appear here.
Evaluation on this computer
This path is for trying Nebulai privately on a workstation. Follow the steps in order after the verified installer is available.
Install Docker and Nebulai
Start Docker with Compose v2. Use the verified download above for your computer, then note the two paths printed by the installer.
Create your organisation
When account sign-up opens, sign in with GitHub, accept the published terms, and create an Evaluation organisation. The trial begins when your first installation activates, not when you sign up.
Check your computer and start setup
Replace
INSTALLED_RELEASE_KEY_PATHwith the path printed by the installer. If your Docker data is encrypted, use--storage-encryptedinstead of the Evaluation-only override shown here.nebulai doctor --mode evaluation --allow-unencrypted-storage nebulai setup --mode evaluation \ --release-key INSTALLED_RELEASE_KEY_PATH \ --allow-unencrypted-storageIf
nebulaiis not in your shell's PATH, use the absolute executable path printed by the installer.Approve this device and finish in the browser
Setup opens a device approval page. Check the short code,
localhosthostname, mode, and version before approving. Then open the one-time local owner link, create your customer-owned GitHub App in the guided setup, install it on your GitHub account, and choose a repository.Prove it works
Wait for the first indexed commit. From the project page, create a personal MCP token for your coding agent and run the displayed test query; the answer should cite that commit. Use Sources to refresh after later commits—GitHub cannot send a webhook to
localhost.
Team on a Linux server
Team adds a public HTTPS installation and automatic GitHub updates. It is not a self-serve checkout today: we agree the commercial terms separately and activate Team for your organisation before you install.
Prepare the host
Use a Linux machine with Docker Engine and Compose v2, encrypted persistent storage, a DNS name pointing to it, and ports 80 and 443 available. Get the verified Linux installer above.
Create your organisation and arrange Team access
When account sign-up opens, sign in with GitHub and create an organisation. Contact Nebulai with that organisation ID to arrange and activate a Team entitlement before running setup. No payment details are entered in this installation flow.
Run the Team preflight and setup
Run as root. Replace both uppercase values with your real public hostname and the installed release-key path. If
sudodoes not preserve PATH, use the absolute Nebulai executable path.nebulai doctor --mode team --hostname CUSTOMER_HOSTNAME --storage-encrypted nebulai setup --mode team --hostname CUSTOMER_HOSTNAME \ --release-key INSTALLED_RELEASE_KEY_PATH --storage-encryptedApprove, connect, and verify
At device approval, check that the public hostname and Team mode are exactly right. Claim the local owner, follow the guided GitHub App setup, select a repository, and confirm a real push updates it. Run a cited MCP test query. Make a backup to encrypted storage and keep an off-host copy before production use.
nebulai backup --destination ENCRYPTED_BACKUP_DIRECTORY
Check and recover
These commands report service and licence status. If a service is not ready, the status output tells you which logs to inspect. Replace SERVICE with the service named in the status report. Do not send private keys, tokens, or repository contents to support.
nebulai status
nebulai license status
nebulai logs SERVICEFor Team, practice a backup and restore on a disposable installation before relying on it for production data. If setup stops, rerun the same setup command; it is designed to resume rather than make you start again.