Root-Based Installation Guide

Quick installation path using root account (Simpler setup, but less secure)

System Requirements & Prerequisites

Minimum Production Specifications

  • RAM: 4 GB
  • Disk: 20 GB available space
  • OS: Ubuntu 20.04 LTS or later (x86_64 architecture)
  • Network: Internet connectivity for package installation

Required Open Ports

  • Port 80 (HTTP)
  • Port 443 (HTTPS)
  • Port 3000 (Next.js application, if not proxied)

Unsupported Environments

  • Non-Ubuntu distributions (Debian, CentOS, RHEL, etc.)
  • ARM architectures (ARM64, ARMv7)
  • Ubuntu versions prior to 20.04

Prerequisites

Before starting the installation, ensure you have the following:

  • Domain Name (Required): A valid domain name that points to your server's IP address
    • The domain must have DNS A record configured to point to your server's public IP
    • Example: app.yourcompany.com or hiretrack.yourdomain.com
    • The installer will prompt for this domain name during Nginx setup
    • SSL certificate generation (Let's Encrypt) requires the domain to resolve correctly
  • Root Access: Full root access to the server
  • SSH Access: Ability to connect to the server via SSH
  • Email Address: Verified email address to get the license for Hiretrack

Security Note: Root-based installation provides full system privileges. For better security, consider using User-Based Installation which offers better isolation and restricted permissions.

Root-Based Preparation Steps

This section assumes you already have root access and want the quickest path. SSH key setup is not required in this flow.

Step 1: Basic Server Prep (as root)

Update package index and confirm you are root:

whoami
apt-get update

Expected output for whoami: root.

Step 2: Download Installer

Download the installer directly as root:

Download installer:

curl -L https://your-domain.com/hiretrack-installer -o /root/hiretrack-installer

Make executable:

chmod +x /root/hiretrack-installer

Verify download:

ls -l /root/hiretrack-installer

Proceed to Run Installer.

Run Installer

Note: If you haven't downloaded the installer yet, go back to Step 2: Download Installer in the preparation steps.

Run the Installer

Ensure you're logged in as root:

whoami

Expected output: root

Run the installer:

./hiretrack-installer

Installation Process

The installer will:

  1. Check and install system dependencies (Node.js, npm, PM2, Nginx, MongoDB)
  2. Register or validate your license
  3. Download and extract the latest HireTrack application
  4. Configure the application environment
  5. Set up PM2 process management
  6. Configure Nginx reverse proxy
  7. Set up SSL certificates (Let's Encrypt)
  8. Configure automatic updates via cron
  9. Start the application

Monitor the output for any errors or warnings. Installation typically takes 5-15 minutes depending on system resources and network speed.

Installation Output

At the end of installation, you'll see a prominent registration URL:

════════════════════════════════════════════════
  🎯 REGISTRATION URL
════════════════════════════════════════════════

You can register the first organization from the URL below:

   ╔═══════════════════════════════════════════════════════════╗
   ║                                                           ║
   ║   https://your-domain.com/register/org                    ║
   ║                                                           ║
   ╚═══════════════════════════════════════════════════════════╝

Copy this URL and access it in your browser to complete the organization registration.

Post-Installation Verification

Check PM2 Process Status

pm2 list

Expected output should show the HireTrack application process in online status.

Check Nginx Service Status

systemctl status nginx

Expected output should show active (running).

Check Application Accessibility

curl -I http://localhost

Expected output should show HTTP 200 or 301/302 redirect status.

View Application Logs

pm2 logs

Check Cron Jobs

crontab -l

Expected output should show auto-update and snapshot cron jobs.

Verify SSL Certificate

certbot certificates