Skip to content
Noite
Esc
↑↓navigate↵open⌘Jpreview
On this page

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 bash

It 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"),
};
EOF

Push 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 main

Every 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.

Next steps

Was this page helpful?