Quickstart
Install Noite on a fresh server with one command, then deploy your first app with git push.
From a fresh Ubuntu or Debian server to a live app. You need a server with a public IP, ports 80 and 443 free, and 2 GB of memory. Nothing gets cloned or built: the server pulls the release image, and your laptop needs only git.
Point DNS at the server
Add A records for app.<domain>, api.<domain>, git.<domain> and *.<domain> pointing at the server. To try Noite without a domain, skip this: the installer falls back to <server-ip>.sslip.io, which resolves every subdomain to your IP.
Run the installer
curl -fsSL https://noite.now/install.sh | sudo bashIt installs Docker if missing, asks for the base domain, generates secrets into /opt/noite/.env, starts Noite and waits until it is ready. See Install for its options.
Create the admin account
Open https://app.<domain> and register with a passkey. The first account needs no invite code and becomes the admin, so do this right away.
Create an app and an API key
In the control UI, go to Apps → New app and pick a slug, e.g. hello. Then open Account → API keys and create a key; it is the password for git push.
Write a Worker
On your laptop:
mkdir hello && cd hello
cat > wrangler.jsonc <<'EOF'
{
"name": "hello",
"main": "index.js",
"compatibility_date": "2026-09-01"
}
EOF
cat > index.js <<'EOF'
export default {
fetch: () => new Response("Hello from Noite"),
};
EOFPush it
git init -b main
git add -A && git commit -m "first deploy"
git remote add origin "https://git:<api-key>@git.<domain>/hello"
git push -u origin mainEvery push to main deploys. The app’s Deployments tab shows the build log.
Open the app
Open https://hello.<domain>. The first visit to a new hostname waits a few seconds while its certificate is issued.