Setup Guide
Install Vail, edit settings.json and put your status page online.
Vail is a Next.js app. You install it once, edit settings.json and run it. There is no database and no admin panel.
Before You Start
You need:
- A host that runs Node.js 20.9 or newer.
- The
vail.zipfrom your BuiltByBit download. - A domain, if you want your status page public.
Hosting
| Option | Best for |
|---|---|
| Game panel (Pterodactyl) | The easiest choice. The panel keeps Vail running and gives you a file manager. |
| Linux VPS or dedicated server | Full control. Use a process manager such as PM2. |
| Docker | Running next to other containers. |
| Your own computer | Trying it out and editing settings.json. |
Haven Development hosts Vail on Pterodactyl.
Install
- Create a server with a Node.js 20 or newer egg.
- Upload and extract
vail.zip. - Set the startup command to
npm install && npm run build && npm start -- -p {{SERVER_PORT}}. - Start the server.
Open http://localhost:3000, or your server's address on port 3000. To use another port, start it with npm start -- -p 8080.
Configure
Set your title, colours, services and incidents in settings.json. See Configuration, Monitors and Discord Alerts.
Vail reads settings.json on every page load, so changes show up when you refresh. You do not need to rebuild or restart. The file stays on the server and is never sent to visitors.
settings.json must be valid JSON. A missing comma or quote stops the page from loading. Paste it into a JSON validator if the page breaks after an edit.
Hosting on a Domain
Point a domain at your server and put a reverse proxy in front of port 3000. Pick yours:
Caddy gets and renews HTTPS certificates on its own. Add this to your Caddyfile and reload Caddy.
status.example.com {
reverse_proxy 127.0.0.1:3000
}sudo systemctl reload caddyUpdating
- Back up
settings.json. - Extract the new version over the old folder, keeping your
settings.json. - Run
npm installandnpm run build, then restart.
Next
Read Monitors to add the services you want to watch.