Vultr is the best global cloud provider for FreeScout. They offer datacenters in 30+ countries, affordable pricing ($3.50/month), and excellent performance. This guide shows you how to deploy FreeScout on Vultr in under 2 hours.
Why Vultr?
| Provider | 2GB / 2 vCPU | Global Reach | DDoS Protection | Value | |---|---|---|---|---| | Vultr | $3.50/mo | 30+ regions | Free basic | Best | | Hetzner | €2.99/mo | EU + Asia | Optional | Cheapest in EU | | DigitalOcean | $6/mo | 12 regions | Optional | Most popular | | Linode | $12/mo | 12 regions | Free | Best support |
Vultr is the sweet spot: Cheap ($3.50/mo), global (30+ regions), excellent uptime (99.99% SLA).
Step 1: Create Vultr Account
- Go to https://www.vultr.com
- Click "Sign Up"
- Create account (email + password)
- Add payment method (credit card)
- Verify email
Step 2: Deploy a Cloud Compute Instance
- Go to Products → Cloud Compute → Deploy New Instance
- Choose Server Location: Pick closest to your users
- North America: New Jersey, Miami, Dallas, Seattle, Los Angeles
- Europe: London, Paris, Amsterdam, Frankfurt
- Asia: Tokyo, Singapore, Sydney, Delhi
- Choose London or Frankfurt for EU customers, Singapore for Asia
- Server Type: "Cloud Compute"
- Server Location (again): Choose your region
- Operating System: Ubuntu 22.04 LTS
- Server Size: Choose 2GB Regular Performance ($3.50/month)
- 2GB RAM, 1 vCPU, 55GB SSD
- SSH Key: Create new SSH key
- Name:
freescout-key - Download and save locally:
~/.ssh/freescout-key.pem
- Name:
- Hostname:
freescout - Click "Deploy Now"
Instance boots in 30 seconds.
Step 3: Set Reverse DNS (Email Deliverability)
This is critical for email not going to spam.
- Go to Products → Cloud Compute → Your Instance
- Click "Settings"
- Scroll to "Reverse DNS"
- Set to:
mail.your-domain.com - Save
Step 4: Point Domain to Vultr
- Go to your domain registrar
- Update the A record to your Vultr instance IP
- Wait 15–30 minutes for DNS propagation
Step 5: Enable DDoS Protection (Free)
Vultr includes free basic DDoS protection.
- Go to Products → Cloud Compute → Your Instance
- Click "DDoS Protection"
- Enable "DDoS Protection" toggle
- It's free and already enabled by default
Step 6: SSH into Instance
chmod 600 ~/.ssh/freescout-key.pem
ssh -i ~/.ssh/freescout-key.pem root@your-vultr-ip
Step 7: Initial Setup
apt update && apt upgrade -y
apt install -y curl wget git unzip supervisor
Create non-root user:
adduser freescout
usermod -aG sudo freescout
su - freescout
Step 8: Install PHP 8.2 & Dependencies
sudo apt install -y software-properties-common
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
sudo apt install -y php8.2 php8.2-fpm php8.2-mysql php8.2-mbstring \
php8.2-xml php8.2-curl php8.2-imap php8.2-zip php8.2-gd \
php8.2-bcmath php8.2-intl nginx mysql-server
Step 9: MySQL Setup
sudo mysql_secure_installation
sudo mysql -u root -p
CREATE DATABASE freescout CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'freescout'@'localhost' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON freescout.* TO 'freescout'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Step 10: Download FreeScout
cd /var/www
sudo git clone https://github.com/freescout-helpdesk/freescout.git
sudo chown -R www-data:www-data /var/www/freescout
cd /var/www/freescout
Install Composer:
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo -u www-data composer install --no-dev --optimize-autoloader
Step 11: Configure Environment
sudo cp .env.example .env
sudo nano .env
Update:
APP_URL=https://your-domain.com
APP_KEY= # Leave blank, auto-generated
DB_DATABASE=freescout
DB_USERNAME=freescout
DB_PASSWORD=strong_password
MAIL_DRIVER=smtp
MAIL_HOST=smtp.sendgrid.net
MAIL_PORT=587
MAIL_USERNAME=apikey
MAIL_PASSWORD=your-sendgrid-api-key
Step 12: Laravel Setup
sudo -u www-data php8.2 artisan key:generate
sudo -u www-data php8.2 artisan migrate --force
sudo -u www-data php8.2 artisan freescout:after-app-update
sudo -u www-data php8.2 artisan storage:link
Step 13: Configure NGINX
Create /etc/nginx/sites-available/freescout:
server {
listen 80;
server_name your-domain.com www.your-domain.com;
root /var/www/freescout/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.ht {
deny all;
}
}
Enable:
sudo ln -s /etc/nginx/sites-available/freescout /etc/nginx/sites-enabled/
sudo systemctl enable nginx
sudo systemctl reload nginx
Step 14: Install SSL
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d your-domain.com -d www.your-domain.com
Step 15: Queue Workers
Create /etc/supervisor/conf.d/freescout.conf:
[program:freescout-worker]
process_name=%(program_name)s_%(process_num)02d
command=php8.2 /var/www/freescout/artisan queue:work database --sleep=3 --tries=3 --timeout=60
autostart=true
autorestart=true
user=www-data
numprocs=1
stdout_logfile=/var/www/freescout/storage/logs/worker.log
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start freescout-worker:*
Step 16: Cron Job
sudo crontab -u www-data -e
Add:
* * * * * /usr/bin/php8.2 /var/www/freescout/artisan schedule:run >> /dev/null 2>&1
Vultr Features
Snapshots (Backups)
Vultr snapshots let you backup your entire instance:
- Go to Products → Cloud Compute → Your Instance
- Click "Snapshots"
- Click "Create Snapshot"
- Name:
freescout-backup-2025-05-08 - Creates a full backup (takes 5 minutes)
- Can be restored with one click
Auto-Scale (Advanced)
Vultr supports auto-scaling groups (like AWS):
- Create an instance template
- Set auto-scale rules (CPU > 80% → add instance)
- Traffic automatically distributes across instances
Vultr vs DigitalOcean vs Hetzner
| | Vultr | DigitalOcean | Hetzner | |---|---|---|---| | Cost (2GB) | $3.50 | $6 | €2.99 | | Regions | 30+ | 12 | EU + Asia | | DDoS protection | Free | Optional | Optional | | Snapshots | Included | Included | Optional | | SLA | 99.99% | 99.99% | Best effort | | Best for | Global reach, cheap | US market, simplicity | EU budget |
Choose Vultr if: You need global datacenters and want the cheapest option with good performance.
Troubleshooting
| Issue | Cause | Fix |
|---|---|---|
| Can't SSH | SSH key wrong | Check key permissions: chmod 600 ~/.ssh/freescout-key.pem |
| Email going to spam | Reverse DNS not set | Set PTR record in Vultr Settings → Reverse DNS |
| Instance slow | CPU/RAM maxed | Check Monitoring, upgrade instance size |
| HTTPS fails | DNS not propagated | Wait 24 hours, then certbot again |
Want FreeScout professionally installed and optimized on Vultr?
We handle the full FreeScout installation on your server — SSL, email, security hardening, and a 1-hour onboarding call. Done in 24 hours.
One-time fee · 30-day support · Money-back guarantee
Summary
Vultr offers the best combination of price, performance, and global reach. $3.50/month for a 2GB instance is unbeatable, and having 30+ datacenters means you can serve customers anywhere in the world.
FreeScout on Vultr is production-ready in under 2 hours.
Resources
- Vultr Documentation — official Vultr guide
- FreeScout GitHub — source code and releases
- Vultr Marketplace — one-click applications
- Certbot on Ubuntu — SSL setup