DigitalOcean is the easiest platform to install FreeScout on. They offer 1-click Marketplace deployments and simple VPS management that makes FreeScout setup almost trivial compared to Hetzner or Linode.
This guide covers three ways to get FreeScout running on DigitalOcean:
- Marketplace (1-click) — Fastest but limited
- App Platform — Most managed, slightly expensive
- Droplet + manual setup — Most control, requires Linux knowledge
Option 1: DigitalOcean Marketplace (Fastest)
DigitalOcean has a FreeScout 1-click app in their Marketplace. This is the fastest way to get started.
Step 1: Create a new Droplet
- Log into your DigitalOcean account
- Click "Create" → "Droplets"
- Under "Choose an image," click "Marketplace"
- Search for "FreeScout"
- Select the official FreeScout 1-click app
Step 2: Configure the Droplet
- Region: Pick the region closest to your customers (US East, US West, London, Singapore, etc.)
- Droplet Size: Select $6/month (1GB RAM, 1 vCPU, 25GB SSD) minimum. $12/month (2GB RAM, 2 vCPU, 50GB SSD) is recommended for stability
- Backups: Highly recommended — add $1.20/month for automated weekly backups
- SSH Key: Generate or upload your SSH key (required for secure login)
Step 3: Deploy
Click "Create Droplet" and wait 2–3 minutes for it to boot.
Step 4: Access FreeScout
Once the Droplet is running:
- SSH into your Droplet:
ssh root@your-droplet-ip - The FreeScout installer will greet you with setup instructions
- Follow the on-screen prompts to set admin password, database, and email
- Visit
http://your-droplet-ipin your browser - Complete the web installer
Time to working FreeScout: 10–15 minutes from clicking "Create Droplet"
Pros:
- Fastest possible setup
- No Linux knowledge required
- Everything pre-configured
- DigitalOcean handles security updates
Cons:
- Limited customization (pre-built stack, harder to add modules)
- No SSL certificate pre-installed (you still need to configure Let's Encrypt)
- Less control over PHP/MySQL versions
Cost: $6/month (1GB) or $12/month (2GB)
Option 2: DigitalOcean App Platform (Most Managed)
App Platform is DigitalOcean's managed container platform. Less setup than droplets, but slightly more expensive.
Step 1: Connect Your GitHub Repo
FreeScout on App Platform requires connecting your GitHub account:
- Go to DigitalOcean → "Apps" → "Create App"
- Select "GitHub" and authorize
- Select the FreeScout GitHub repository (https://github.com/freescout-helpdesk/freescout.git)
- Select "main" branch
Step 2: Configure Services
DigitalOcean will auto-detect a PHP/Laravel app. Configure:
- HTTP Port: 8080 (default)
- Build command:
composer install && npm run build - Run command:
php artisan serve --host 0.0.0.0
Step 3: Add a Database
- Click "Add Database"
- Choose "MySQL" → Latest version
- Name it
freescout - DigitalOcean will auto-inject connection credentials into your environment
Step 4: Configure Environment Variables
Click "Environment" and set:
APP_URL=https://your-domain.com
APP_KEY= # Leave blank, auto-generated
APP_ENV=production
DB_DATABASE=freescout
DB_USERNAME=mysql_user
DB_PASSWORD=auto-injected-by-digitalocean
MAIL_DRIVER=smtp
MAIL_HOST=smtp.sendgrid.net
MAIL_PORT=587
MAIL_USERNAME=apikey
MAIL_PASSWORD=your-sendgrid-api-key
Step 5: Deploy
Click "Create App" and DigitalOcean deploys FreeScout. Takes 5–10 minutes.
Time to working FreeScout: 20–30 minutes
Pros:
- Fully managed (DigitalOcean handles updates, backups, security patches)
- Auto-SSL via Let's Encrypt
- Git-based deployments (push to GitHub, auto-deploys)
- Built-in monitoring
Cons:
- More expensive ($12/month app + $15/month database + $12/month Redis)
- Total ~$40/month vs $6/month for a basic Droplet
- Less control over infrastructure
- Harder to customize (must commit to GitHub to deploy changes)
- Queue workers require additional configuration
Cost: $12–$40/month (depends on add-ons)
Best for: Teams who want zero ops work and can pay for convenience
Option 3: Droplet + Manual Setup (Most Control)
This is the standard approach for developers. More steps, but you get full control and lowest cost.
Step 1: Create a Basic Droplet
- Go to DigitalOcean → "Create" → "Droplets"
- Choose Image: "Ubuntu 22.04 LTS" (latest LTS release)
- Droplet Size: $6/month (1GB) minimum, $12/month (2GB) recommended
- Region: Closest to you
- Add SSH key for secure login
- Click "Create Droplet"
Step 2: Initial Server Setup
SSH into your droplet:
ssh root@your-droplet-ip
apt update && apt upgrade -y
apt install -y curl wget git unzip supervisor nginx 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
Step 3: Install MySQL
apt install -y mysql-server
sudo mysql_secure_installation
Answer yes to all prompts.
Step 4: Create Database
sudo mysql -u root -p
CREATE DATABASE freescout CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'freescout'@'localhost' IDENTIFIED BY 'strong_password_here';
GRANT ALL PRIVILEGES ON freescout.* TO 'freescout'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Step 5: 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
Step 6: Install Composer Dependencies
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 7: Configure Environment
sudo cp .env.example .env
sudo nano .env
Update these values:
APP_URL=https://your-domain.com
APP_KEY= # Leave blank, auto-generated in next step
DB_DATABASE=freescout
DB_USERNAME=freescout
DB_PASSWORD=strong_password_here
MAIL_DRIVER=smtp
MAIL_HOST=smtp.sendgrid.net
MAIL_PORT=587
MAIL_USERNAME=apikey
MAIL_PASSWORD=your-sendgrid-api-key
Step 8: Generate Keys & Migrate
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 9: 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 it:
sudo ln -s /etc/nginx/sites-available/freescout /etc/nginx/sites-enabled/
sudo systemctl enable nginx
sudo systemctl reload nginx
Step 10: Configure Reverse DNS (Important for Email)
- Go to DigitalOcean → Networking → Reserved IPs (or find your Droplet's IP)
- Click "Edit Reverse DNS"
- Set it to your domain:
mail.your-domain.com
Step 11: Point Your Domain to DigitalOcean
- Go to your domain registrar (GoDaddy, Namecheap, Route 53)
- Update DNS A record to point to your Droplet's IP address
- Wait 15–30 minutes for DNS propagation
Step 12: Install SSL Certificate
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d your-domain.com -d www.your-domain.com
Step 13: 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 apt install -y supervisor
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start freescout-worker:*
Step 14: Cron Job
sudo crontab -u www-data -e
Add:
* * * * * /usr/bin/php8.2 /var/www/freescout/artisan schedule:run >> /dev/null 2>&1
Time to working FreeScout: 3–4 hours for experienced Linux users, 6–8 hours for first-timers
Pros:
- Lowest cost ($6/month for Droplet + email service)
- Full control over stack
- Easy to customize and extend
- Full SSH access
Cons:
- Requires Linux knowledge
- You own all updates and security
- Harder to debug if something breaks
- No managed database backups
Cost: $6–$12/month for Droplet + email service costs
Comparison: Which Option Should You Choose?
| | Marketplace | App Platform | Droplet | |---|---|---|---| | Setup time | 10 min | 20 min | 3–4 hours | | Cost | $6/mo | $40/mo | $6/mo | | Managed updates | Yes | Yes | You | | SSL included | No | Yes | No (but free via Let's Encrypt) | | Customization | Limited | Medium | Full | | Best for | Quick start | Teams valuing ops-free | Developers, cost-conscious |
Recommendation:
- Small team, non-technical: Use Marketplace or App Platform
- Developer, cost-conscious: Use Droplet + manual setup
- Team that values ops management: Use App Platform
Want FreeScout installed and optimized on DigitalOcean in 24 hours?
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
DigitalOcean Tips & Tricks
Tip 1: Enable Backups Add automated backups to your Droplet ($1.20/mo). One restore can save hours of work.
Tip 2: Use Spaces for Storage If you store large files in FreeScout (attachments), use DigitalOcean Spaces ($5/mo, 250GB) instead of filling your Droplet's disk.
Tip 3: Monitor Your Droplet Enable Droplet monitoring (free) to see CPU, RAM, and disk usage. If you hit limits, upgrade your Droplet size.
Tip 4: Use the DigitalOcean CLI
doctl auth init
doctl compute droplet list
Much faster than the web UI for managing multiple droplets.
Common DigitalOcean + FreeScout Issues
| Issue | Cause | Fix |
|---|---|---|
| 502 Bad Gateway | PHP-FPM not running | sudo systemctl restart php8.2-fpm |
| Emails not sending | SMTP not configured | Add MAIL_* variables to .env |
| HTTPS not working | SSL cert not installed | Run sudo certbot --nginx |
| Disk full | Logs filling up | rm /var/www/freescout/storage/logs/*.log |
| App Platform: queue workers not running | Missing environment | Add QUEUE_CONNECTION=database to environment |
Resources
- DigitalOcean Droplet Documentation — official guide
- FreeScout GitHub — source code and releases
- DigitalOcean Community Tutorials — server guides
- Certbot on Ubuntu — SSL setup