Server Requirements
VPS Specifications
- CPU: 1 vCPU Core (minimum)
- RAM: 4 GB (minimum)
- Storage: 50 GB NVMe/SSD
- Bandwidth: 4 TB
- OS: Ubuntu 22.04 LTS (recommended)
Network Requirements
- Public IP address
- Domain name with DNS access
- Ports 80 (HTTP) and 443 (HTTPS) accessible
Initial Server Setup
Connect to Your VPS
Update System Packages
Install Essential Tools
Install Node.js
ArcHive requires Node.js 20 LTS.Install Bun Runtime
Bun is the JavaScript runtime used for the ArcHive backend.If deploying with a site user (e.g., via CloudPanel), install Bun for that user as well:
Install PM2 Process Manager
PM2 manages and monitors the Node.js application and background workers.Install Nginx Web Server
Nginx serves as a reverse proxy for the backend API.If using CloudPanel, Nginx is pre-installed and managed automatically.
Domain Configuration
Configure DNS records to point your domain to the VPS.DNS Records
In your domain registrar’s DNS settings, add these records:| Type | Name | Value | TTL |
|---|---|---|---|
| A | @ | YOUR_VPS_IP | 3600 |
| A | www | YOUR_VPS_IP | 3600 |
| A | api | YOUR_VPS_IP | 3600 |
- Domain:
archive.example.com - API:
api.archive.example.com - WWW:
www.archive.example.com
Verify DNS Propagation
Configure Firewall
Set up UFW (Uncomplicated Firewall) to secure your server.Install Additional Dependencies
For Screenshot Worker (Puppeteer)
CloudPanel Setup (Optional)
If using CloudPanel for simplified management:CloudPanel Access
- URL:
https://your-vps-ip:8443 - Default credentials: Set during VPS setup
Benefits of CloudPanel
- Automatic Nginx configuration
- One-click SSL certificates via Let’s Encrypt
- Site isolation with dedicated users
- Web-based file manager
- Database management UI
CloudPanel is already installed on some VPS providers like Hostinger KVM1. Check with your provider.
Verification Checklist
Before proceeding to database setup, verify:- Server is accessible via SSH
- System packages are updated
- Node.js 20.x is installed
- Bun runtime is installed
- PM2 is installed globally
- Nginx is running
- DNS records are configured
- Firewall is configured
- Puppeteer dependencies are installed
Next Steps
Database Setup
Install and configure MongoDB and Redis