Troubleshooting a failed install

DNS failures, service won’t start, database errors, and a wizard that says you’re already installed.

Troubleshooting a failed install

Work top to bottom. Most failed installs are DNS, database, or the Node service not running — not a mystery bug.

1. DNS

Symptom: buyer-setup.sh stops and complains about DNS.

Check: A record for your domain (and www if needed) points to this VPS. Wait for propagation. Re-run the script.

2. Unzip / path

Symptom: scripts/buyer-setup.sh not found.

Check: You should be in /var/www/xfileultra (or the path you chose) where scripts/ exists. Nested unzip folders are a common mistake.

3. PostgreSQL / Tables step

Symptom: Wizard cannot connect or Tables fails.

Check:

sudo systemctl status postgresql

Re-copy host, port, user, password, database name from the setup script output. Password typos are the usual culprit.

4. License step

Symptom: License rejected.

Check: Key copied correctly; VPS has outbound HTTPS; you are using a key for this product.

5. Service won’t stay up

Symptom: Site 502, or systemctl status xfileultra is failed.

Check:

sudo journalctl -u xfileultra -n 100 --no-pager

Look for missing .env, bad DATABASE_URL, or build errors. Fix the cause, then:

sudo systemctl restart xfileultra

6. HTTPS / certificate

Symptom: Certificate errors in the browser.

Check: You are visiting the exact domain you installed, ports 80/443 are open, and Certbot completed for that name.

7. Wizard says already installed

Symptom: /install refuses a new run.

Meaning: data/install.lock or an admin already exists. This stops random visitors from re-running setup.

If the first attempt is half-broken, do not delete the database blindly on a production box. Take a backup first. Recovery often means fixing .env + migrations + admin password rather than a full wipe. A clean reinstall on an empty test VPS is a full rebuild only when you accept losing everything on that server.

8. Still stuck

Gather: domain, OS version, last 50 lines of journalctl -u xfileultra, and which step failed (script vs wizard vs first login). That is enough for support without a guessing game.

Related