Tutorial8 min readApril 25, 2025

Install FreeScout on DigitalOcean (2025)

Step-by-step guide to install FreeScout on DigitalOcean Droplet. Covers App Platform, Marketplace, and manual VPS setup — the fastest way to get FreeScout running.

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:

  1. Marketplace (1-click) — Fastest but limited
  2. App Platform — Most managed, slightly expensive
  3. 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

  1. Log into your DigitalOcean account
  2. Click "Create" → "Droplets"
  3. Under "Choose an image," click "Marketplace"
  4. Search for "FreeScout"
  5. 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:

  1. SSH into your Droplet: ssh root@your-droplet-ip
  2. The FreeScout installer will greet you with setup instructions
  3. Follow the on-screen prompts to set admin password, database, and email
  4. Visit http://your-droplet-ip in your browser
  5. 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:

  1. Go to DigitalOcean → "Apps" → "Create App"
  2. Select "GitHub" and authorize
  3. Select the FreeScout GitHub repository (https://github.com/freescout-helpdesk/freescout.git)
  4. 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

  1. Click "Add Database"
  2. Choose "MySQL" → Latest version
  3. Name it freescout
  4. 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

  1. Go to DigitalOcean → "Create" → "Droplets"
  2. Choose Image: "Ubuntu 22.04 LTS" (latest LTS release)
  3. Droplet Size: $6/month (1GB) minimum, $12/month (2GB) recommended
  4. Region: Closest to you
  5. Add SSH key for secure login
  6. 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)

  1. Go to DigitalOcean → Networking → Reserved IPs (or find your Droplet's IP)
  2. Click "Edit Reverse DNS"
  3. Set it to your domain: mail.your-domain.com

Step 11: Point Your Domain to DigitalOcean

  1. Go to your domain registrar (GoDaddy, Namecheap, Route 53)
  2. Update DNS A record to point to your Droplet's IP address
  3. 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

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