Tutorial7 min readMay 8, 2025

Install FreeScout on Vultr — Complete Guide (2025)

Step-by-step guide to deploy FreeScout on Vultr Cloud. Covers instance setup, DDoS protection, backups, and why Vultr is the best global option.

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

  1. Go to https://www.vultr.com
  2. Click "Sign Up"
  3. Create account (email + password)
  4. Add payment method (credit card)
  5. Verify email

Step 2: Deploy a Cloud Compute Instance

  1. Go to Products → Cloud Compute → Deploy New Instance
  2. 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
  3. Server Type: "Cloud Compute"
  4. Server Location (again): Choose your region
  5. Operating System: Ubuntu 22.04 LTS
  6. Server Size: Choose 2GB Regular Performance ($3.50/month)
    • 2GB RAM, 1 vCPU, 55GB SSD
  7. SSH Key: Create new SSH key
    • Name: freescout-key
    • Download and save locally: ~/.ssh/freescout-key.pem
  8. Hostname: freescout
  9. Click "Deploy Now"

Instance boots in 30 seconds.


Step 3: Set Reverse DNS (Email Deliverability)

This is critical for email not going to spam.

  1. Go to Products → Cloud Compute → Your Instance
  2. Click "Settings"
  3. Scroll to "Reverse DNS"
  4. Set to: mail.your-domain.com
  5. Save

Step 4: Point Domain to Vultr

  1. Go to your domain registrar
  2. Update the A record to your Vultr instance IP
  3. Wait 15–30 minutes for DNS propagation

Step 5: Enable DDoS Protection (Free)

Vultr includes free basic DDoS protection.

  1. Go to Products → Cloud Compute → Your Instance
  2. Click "DDoS Protection"
  3. Enable "DDoS Protection" toggle
  4. 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:

  1. Go to Products → Cloud Compute → Your Instance
  2. Click "Snapshots"
  3. Click "Create Snapshot"
  4. Name: freescout-backup-2025-05-08
  5. Creates a full backup (takes 5 minutes)
  6. Can be restored with one click

Auto-Scale (Advanced)

Vultr supports auto-scaling groups (like AWS):

  1. Create an instance template
  2. Set auto-scale rules (CPU > 80% → add instance)
  3. 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

Need FreeScout Installed Professionally?

Skip the complexity. We install and configure FreeScout on your server in 24 hours — SSL, email, security, and a full onboarding call included.

Get It Done for $100

One-time fee · 30-day support · Money-back guarantee

Related Articles