---
title: Self-hosting
description: Run Noite on your own server with Docker Compose — install, storage, tenancy, platforms, and operations.
---

Noite ships as one image, `ghcr.io/ryuzcorp/noite`. Its runner is PID 1 and supervises everything else in the container: Caddy (the edge), the control UI (a celld node, fleet #0, bundle baked into the image), and one celld fleet per tenant app. `compose.yaml` runs it next to the bundled RustFS store; there is no host-side build or deploy step.

On a fresh Ubuntu or Debian server the whole install is one command:

```bash
curl -fsSL https://noite.now/install.sh | sudo bash
```

The same `compose.yaml` also boots as-is on any Docker host, a cloud VM or a Compose store/panel (Arcane, Portainer, Dockge, …), and from Coolify or Railway.

Per-app concerns — creating apps, pushing code, env vars, custom domains, logs, metrics — live in [Apps](/apps). This track covers the install itself.

**[Install](/self-hosting/install)**

One-command installer, manual Compose install, your own bucket, verify.

**[Storage](/self-hosting/storage)**

Qualified stores, volumes, snapshots, telemetry pipeline.

**[Tenancy](/self-hosting/tenancy)**

Multi vs single tenant isolation and the e2e-isolation proof.

**[Platforms](/self-hosting/platforms)**

Coolify and Railway layouts, env, downtime model.

**[Operations](/self-hosting/operations)**

Updating, backups, restore, troubleshooting.

**[Accounts](/self-hosting/accounts)**

Invite-only registration, codes, admin panels.
