Setup Guide
Install Kora, run the setup wizard and get your license server online.
Kora is set up in the browser. You start it once, open the dashboard and a setup wizard asks for everything it needs.
Before You Start
You need:
- A host that runs Node.js 20 or newer, or Bun.
- An empty PostgreSQL, MySQL or MariaDB database. Kora creates its own tables.
- A Discord application from the Discord Developer Portal.
- Your Kora license key from the Zero Development Discord.
Hosting
| Option | Best for |
|---|---|
| Game panel (Pterodactyl) | The easiest choice. The panel keeps Kora running and gives you a console and file manager. |
| Linux VPS or dedicated server | Full control. Use a process manager such as PM2 or systemd. |
| Your own computer | Testing and development. |
Haven Development hosts Kora on Pterodactyl.
Install
- Create a server with a Node.js 20 or newer egg.
- Upload the Kora files.
- Set the startup command to
node index.js. - Start the server.
On the first start Kora creates config.json and serves the dashboard on port 3000. The console shows:
Kora is not configured yet. Open the dashboard to run the setup wizard.Kora installs the driver for your database the first time it connects, so there is nothing else to install.
Discord Application
Everyone signs in to the dashboard with Discord.
- Create an application in the Discord Developer Portal.
- Go to OAuth2 and add your dashboard address followed by
/api/auth/callback/discordunder Redirects:- On your own computer:
http://localhost:3000/api/auth/callback/discord - On a domain:
https://kora.example.com/api/auth/callback/discord
- On your own computer:
- Copy the Client ID and Client Secret for the wizard.
Setup Wizard
Open http://localhost:3000, or your server's address on port 3000.
| Step | What you enter |
|---|---|
| Welcome | The dashboard language. |
| Database | Type, host, port, user, password and database name. Click Test Connection. |
| License | Your license key. Click Check License. The Discord account on the license becomes the dashboard owner. |
| Branding | Dashboard name, accent colour, Dashboard URL and API URL. Leave the URLs empty on your own computer. |
| Discord Sign In | Client ID and client secret. The wizard shows the redirect to add. Click Test Credentials. |
| Launch | Click Launch Kora. |
Kora then saves your settings, connects to the database, activates the license, loads its modules and checks for updates. The wizard shows each stage with the live console. When it finishes, click Go to Sign In. There is no restart.
Hosting on a Domain
Point a reverse proxy at each port. Pick yours:
Caddy gets and renews HTTPS certificates on its own. Add this to your Caddyfile and reload Caddy.
kora.example.com {
reverse_proxy 127.0.0.1:3000
}
api.kora.example.com {
reverse_proxy 127.0.0.1:3001
}sudo systemctl reload caddySet Dashboard URL and API URL in the wizard, or later under Settings > Server URLs. Changing them later asks you to restart Kora.
The dashboard URL, the address in your browser and the redirect in the Developer Portal must all match, or sign-in fails.
Next
- Dashboard to create your first product.
- Validating Keys to check licenses from your product.