First-run install wizard

After buyer-setup.sh, open /install: Welcome → License → Server → Database → Tables → Admin → Done.

First-run install wizard

After buyer-setup.sh finishes, open:

https://YOUR-DOMAIN/install

The wizard writes .env, runs database migrations, creates the first admin, and locks install so strangers cannot run it again (data/install.lock).

Steps (in order)

1. Welcome — checks the server is ready (Node, data folders).

2. License — paste your license key from xfileultra.com. Writes LICENSE_KEY into .env and license state under data/.

3. Server — readiness check for the public site URL (usually already https://your-domain).

4. Database — host, port, user, password, database name. Use the values buyer-setup.sh printed. Writes DATABASE_URL and related secrets into .env.

5. Tables — runs Prisma migrations (prisma migrate deploy).

6. Admin — email + password for the first admin. Creates the admin user, seeds default plan/limits/local SFTP bits, and creates the install lock.

7. Done — tells you to restart the service.

Then on the server:

sudo systemctl restart xfileultra

Log in at /login with the admin you just created.

Tips

  • Save the database password the script generated. You need it if you edit .env later.
  • Do not close the browser while Tables is still running.
  • After Done, /install should refuse a fresh install.

Common problems

Database connection failed

Wrong password, PostgreSQL down, or host/port typo. Recheck the script output. On the server: sudo systemctl status postgresql.

License step rejected the key

Typo, wrong product key, or the VPS cannot reach the license API over HTTPS. Copy the key again from your vendor account.

Wizard says already installed

data/install.lock (or an admin) already exists. See Troubleshooting a failed install before wiping anything.

Related