cPanel Setup Guide

Deploy BucksBee on your cPanel server — step by step

This guide walks you through deploying BucksBee on a cPanel shared hosting environment using Node.js via Setup Node.js App (or Passenger) and a PostgreSQL database.

1

Prepare Your Files

Compress your project folder into a .zip archive. Make sure node_modules is excluded — do not include it.

# From your project root (exclude node_modules) zip -r bucksbee.zip . -x "node_modules/*"
Excluding node_modules keeps the zip small and avoids platform incompatibilities.
2

Upload to cPanel

Log into your cPanel dashboard and open File Manager. Navigate to your document root (usually public_html or a subdirectory like public_html/bucksbee).

  • Click Upload and select your bucksbee.zip
  • Once uploaded, right-click the zip and choose Extract
  • After extraction, delete the zip file
If your hosting expects the app at a subdirectory (e.g. yourdomain.com/app), upload to public_html/app.
3

Create PostgreSQL Database

In cPanel, find the PostgreSQL Databases wizard:

  • Create a new database (e.g. bucksbee_db)
  • Create a database user with a strong password
  • Assign the user to the database with ALL PRIVILEGES
# Typical credentials you'll need: DB_HOST = localhost DB_PORT = 5432 DB_NAME = cpaneluser_bucksbee DB_USER = cpaneluser_bucksbee_user DB_PASS = your_strong_password
cPanel often prefixes database and user names with your cPanel username — check the exact names shown in the interface.
4

Import Database Schema

Open phpPgAdmin (or PostgreSQL section) in cPanel. Select your database, click the SQL tab, and paste the schema from config/schema.sql.

Alternatively, import via command line (if SSH is available):

psql -h localhost -U cpaneluser_bucksbee_user -d cpaneluser_bucksbee < config/schema.sql
If you use Setup Node.js App (cPanel 98+), you can skip SSH and run the schema import via the app's terminal tab.
5

Configure Environment Variables

Rename .env.example to .env (or create a new .env file) in your app root with the following values:

# Database — use the credentials from step 3 DATABASE_URL=postgres://cpaneluser_bucksbee_user:your_password@localhost:5432/cpaneluser_bucksbee # Session secret (generate a random 32-char string) SESSION_SECRET=your_random_secret_here # Site URL (your actual domain) SITE_URL=https://yourdomain.com # Blockchain (BSC) — optional, for deposit detection BSC_RPC_URL=https://bsc-dataseed.binance.org MNEMONIC=your_wallet_mnemonic
Never commit .env to version control. Keep your secrets safe.
6

Install Dependencies

In cPanel, open Setup Node.js App (or Passenger):

  • Click Create Application
  • Node.js version: Select 20.x or higher
  • Application root: Browse to your uploaded folder (public_html or subdirectory)
  • Application URL: Choose your domain and path
  • Application startup file: server.js
  • Click Create

After creation, open the app's Run npm install tab and click Run npm install. This installs all dependencies from package.json.

npm install may take 1-3 minutes. Wait for it to complete before proceeding.
7

Start the App & Verify

Back in Setup Node.js App, click the Start App button (or restart if it auto-started).

Visit your domain to verify the app is running:

  • Open https://yourdomain.com — you should see the landing page
  • Test a route like /api/apk-status — you should get a JSON response
  • Register a test account and verify the dashboard loads
If you see a 500 error, check the app's Error Log tab inside Setup Node.js App, or look in cPanel's Error Log section.
8

Set Up a Cron Job (Optional)

BucksBee uses a background script to monitor blockchain deposits. In cPanel, go to Cron Jobs and add:

# Runs every 15 seconds (use * * * * * with sleep) * * * * * cd /home/cpaneluser/public_html && /usr/local/bin/node scripts/monitor-deposits.js >> /dev/null 2>&1

For precise 15-second intervals, create a wrapper script or use a tool like sleep:

* * * * * for i in $(seq 0 15 45); do sleep $i && cd /home/cpaneluser/public_html && node scripts/monitor-deposits.js; done
If you don't need blockchain deposit detection (e.g. manual deposits only), you can skip this step.
9

Troubleshooting Tips

  • App won't start: Check server.js is in the root you specified. Verify package.json exists and npm install completed.
  • Database connection error: Confirm DB host, name, user, and password in .env. Some cPanel hosts use localhost but others require a socket path.
  • Blank page / 503: Your Node.js app may have crashed. Restart it from Setup Node.js App and check error logs.
  • Assets not loading (CSS/JS): Make sure public/ directory is in the correct location relative to server.js.
  • Session not persisting: Ensure SESSION_SECRET is set and the PostgreSQL session table was created by the schema import.
  • Port issues: On cPanel, your app runs on a random port and is proxied via Apache. Use process.env.PORT in your app (BucksBee handles this automatically).

Need more help?

Contact support or check your cPanel hosting documentation

Go to Dashboard