DigitalOcean App Platform is the easiest way to deploy FreeScout if you want zero operations work. It's like Heroku but cheaper and more reliable. This guide shows you how.
Why App Platform?
Pros:
- ✅ Zero operations (DigitalOcean manages everything)
- ✅ Auto-scaling (handles traffic spikes automatically)
- ✅ Git-based deployments (push to GitHub → auto-deploys)
- ✅ Managed database (automatic backups, failover)
- ✅ Free SSL (auto-renewed)
- ✅ Built-in monitoring and logs
Cons:
- ❌ More expensive ($40–$60/month)
- ❌ Less customization (can't SSH into app container)
- ❌ Vendor lock-in (data in DigitalOcean databases)
Best for: Teams that want to avoid ops work and have budget.
Prerequisites
- DigitalOcean account
- GitHub account (for Git-based deployments)
- FreeScout repository (can fork official or create your own)
Step 1: Fork FreeScout Repository
- Go to https://github.com/freescout-helpdesk/freescout
- Click "Fork" (top right)
- Fork to your GitHub account
- Clone locally (optional, for customization)
Step 2: Create App Platform App
- Go to DigitalOcean → Apps
- Click "Create App"
- Select "GitHub" and authorize DigitalOcean to access your GitHub repos
- Select the FreeScout repository fork
- Choose "main" branch
- Click "Next"
Step 3: Configure App Components
DigitalOcean will auto-detect it's a PHP/Laravel app.
Service Configuration
- HTTP Port:
8080(default) - Build Command:
composer install && npm run build - Run Command:
php artisan migrate --force && php-fpm - Source Dir:
/(root)
Step 4: Add Database
- Click "Add Component" → "Database"
- Engine: MySQL (latest version)
- Name:
db - Version: 8.0
- Click "Create Database"
DigitalOcean will:
- Create managed MySQL instance
- Auto-inject credentials as environment variables
- Set up automatic backups
Step 5: Configure Environment Variables
Click "Edit" on the app service and add:
APP_ENV=production
APP_DEBUG=false
APP_URL=https://freescout-yourname.ondigitalocean.app
APP_KEY= # Will be generated
QUEUE_CONNECTION=database
DB_CONNECTION=mysql
DB_HOST=${db.HOSTNAME}
DB_PORT=${db.PORT}
DB_DATABASE=${db.DATABASE}
DB_USERNAME=${db.USERNAME}
DB_PASSWORD=${db.PASSWORD}
MAIL_DRIVER=smtp
MAIL_HOST=smtp.sendgrid.net
MAIL_PORT=587
MAIL_USERNAME=apikey
MAIL_PASSWORD=${SENDGRID_API_KEY}
Add SENDGRID_API_KEY as a secret (your SendGrid API key).
Step 6: Add Queue Worker Component
FreeScout needs a background worker to process emails.
- Click "Add Component" → "Worker"
- Name:
queue - Build Command: (same as app service)
- Run Command:
php artisan queue:work database --sleep=3 --tries=3 --timeout=60 - Environment: (inherit from app service)
Step 7: Deploy
- Click "Create App"
- DigitalOcean builds and deploys (takes 5–10 minutes)
- You'll see a URL:
https://freescout-yourname.ondigitalocean.app
Wait for all components to show "Running" (green checks).
Step 8: Complete Web Installer
- Visit your app URL:
https://freescout-yourname.ondigitalocean.app - Complete the FreeScout web installer
- Create admin account
- Configure first mailbox
- Done!
Using a Custom Domain
- Go to Apps → Your App → Settings
- Click "Domains"
- Add "freescout.your-domain.com" (or your domain)
- Update DNS A record in your registrar to point to DigitalOcean
DigitalOcean auto-renews the SSL certificate.
Git-Based Deployments
Once deployed, every GitHub push auto-deploys:
- Make changes to your FreeScout fork
- Commit and push to GitHub
- DigitalOcean automatically:
- Builds your app
- Runs migrations
- Deploys new version
- Zero downtime
Perfect for adding custom modules or configuring FreeScout code.
Monitoring & Logs
View Logs:
- Apps → Your App → Logs
- See real-time logs from app and worker
Check App Health:
- Apps → Your App → Overview
- See resource usage (CPU, memory, storage)
- See last deployment status
Backup & Disaster Recovery
Database Backups (Automatic):
- DigitalOcean backs up your database daily
- 7-day retention by default
- Restore with one click (advanced feature)
App Code:
- Always in GitHub (version controlled)
- Can redeploy anytime
User Uploads:
- Stored in app container filesystem
- Survives deployments (DigitalOcean mounts persistent volumes)
Scaling
If traffic grows:
- Go to Apps → Your App → Settings → Resource Allocation
- Increase app container size (or let auto-scaling handle it)
- Database automatically scales with you
No manual server management needed.
Cost Breakdown (Monthly)
| Component | Size | Cost | |---|---|---| | App service | Basic | $12 | | Database | Managed MySQL | $15 | | Worker | Basic | $12 | | Bandwidth | Included | Included | | Total | | $39/month |
(Can be cheaper if you downsize components)
App Platform vs Traditional VPS
| | App Platform | Traditional VPS | |---|---|---| | Monthly cost | $39–$60 | $6–$12 | | Setup time | 15 minutes | 3–4 hours | | Scaling | Automatic | Manual | | Ops work | Zero | Full responsibility | | Database management | Automatic | Your job | | Backups | Automatic daily | Your job | | Updates | Automatic | Your job |
App Platform: Pay more for zero ops. VPS: Pay less but manage everything.
Limitations
- No SSH access: Can't shell into the app container
- Ephemeral filesystem: App container resets on deploy (uploads are safe, code isn't)
- More expensive: $39/month minimum
- Vendor lock-in: Data lives in DigitalOcean systems
For these reasons, some teams prefer traditional VPS + manual setup.
Perfect For
- Startups: Quick deployment, focus on business not ops
- Small teams: 1–3 people, want zero server management
- Proof of concept: Test FreeScout before committing to VPS
- Growing teams: Auto-scaling handles traffic automatically
Summary
App Platform = Operations-Free FreeScout
Everything is managed for you:
- Deploys (Git push → live)
- Database (automatic backups, failover)
- Scaling (traffic spikes handled)
- Monitoring (logs, metrics built-in)
- SSL (auto-renewed)
You focus on FreeScout configuration. DigitalOcean handles the rest.
Want FreeScout deployed on App Platform with zero setup required?
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
Next Steps
- Fork the FreeScout repo on GitHub
- Create the App Platform app (15 minutes)
- Visit your URL
- Complete setup
- Start helping customers
No VPS knowledge required. No server management. Just FreeScout.
Resources
- DigitalOcean App Platform Docs — official documentation
- FreeScout GitHub — source code and releases
- DigitalOcean Community Tutorials — server setup guides
- DigitalOcean Managed Databases — managed MySQL