Deploy FreeScout | Open Source Help Scout Alternative
Self-host FreeScout. Free helpdesk, unlimited agents, shared mailbox & more
MySQL
Just deployed
/var/lib/mysql
FreeScout
Just deployed
/data

Deploy and Host FreeScout on Railway
Deploy FreeScout as your self-hosted helpdesk and shared inbox — a lightweight, open-source alternative to Zendesk and Help Scout. This Railway template pre-configures FreeScout with a MySQL database, persistent storage for sessions and uploads, automatic cron scheduling for background jobs, and a public HTTPS domain ready for your support team.
Getting Started with FreeScout on Railway
Once the deployment is live, open your Railway-generated public URL in the browser. You'll see the FreeScout login page — sign in with the admin email and password you set in the environment variables (ADMIN_EMAIL and ADMIN_PASS). After logging in, navigate to Manage > Mailboxes to create your first mailbox and connect it to your support email address. Configure your SMTP settings under Manage > Settings > Mail Settings so FreeScout can send and receive emails. Create your first test conversation to verify everything works end-to-end.
About Hosting FreeScout
FreeScout is a super lightweight (~10MB) PHP/Laravel helpdesk that gives teams unlimited agents, tickets, and mailboxes with zero per-user fees. It mirrors Help Scout's clean interface while running entirely on your own infrastructure.
Key features:
- Shared inbox with collision detection, auto-replies, and conversation merging
- Multi-channel support — email, Slack, WhatsApp, Facebook, Telegram
- Module system — extend with workflows, knowledge base, customer portal, tags
- Multi-language — 25+ languages out of the box
- REST API for custom integrations and automation
- Push notifications and open tracking for real-time awareness
The template runs two services: the FreeScout application container (with Nginx, PHP-FPM, and cron built in via s6-overlay) and a Railway-managed MySQL database.
Why Deploy FreeScout on Railway
- One-click deploy with zero server administration
- Railway handles TLS, domain provisioning, and container orchestration
- Persistent volume keeps sessions, uploads, and modules across redeploys
- Scale vertically by adjusting Railway service resources — no migration needed
- Full data ownership with no vendor lock-in
Common Use Cases for Self-Hosted FreeScout
- SME customer support — replace Zendesk/Help Scout at a fraction of the cost with unlimited agents and mailboxes
- Developer teams — build custom PHP modules for internal ticketing, bug tracking, or client communication workflows
- Privacy-first organizations — keep all support data on infrastructure you control, meeting compliance requirements
- Automation pipelines — connect FreeScout to Zapier, Make.com, or custom webhooks to auto-create Jira issues, post to Discord, or trigger CRM updates
Dependencies for Self-Hosted FreeScout on Railway
- FreeScout —
tiredofit/freescout:latest_php8.3(includes Nginx, PHP-FPM 8.3, cron via s6-overlay) - MySQL — Railway-managed MySQL database for conversation and user data
Environment Variables Reference for FreeScout
| Variable | Description | Example |
|---|---|---|
ADMIN_EMAIL | Admin login email (bootstrap-only) | [email protected] |
ADMIN_PASS | Admin password (bootstrap-only, static) | your-secure-password |
SITE_URL | Public URL with https:// prefix | https://${{RAILWAY_PUBLIC_DOMAIN}} |
DB_TYPE | Database engine | mysql |
DB_HOST | MySQL hostname | ${{MySQL.MYSQLHOST}} |
ENABLE_SSL_PROXY | Required behind Railway's TLS proxy | TRUE |
TIMEZONE | Server timezone | UTC |
Deployment Dependencies
- Runtime: PHP 8.3, Nginx 1.28, MySQL 5.7+
- Docker Hub: tiredofit/freescout
- GitHub: freescout-help-desk/freescout
- Docs: FreeScout Wiki
- API: api-docs.freescout.net
Hardware Requirements for Self-Hosting FreeScout
| Resource | Minimum | Recommended |
|---|---|---|
| CPU | 1 core | 2 cores |
| RAM | 512 MB | 2 GB |
| Storage | 5 GB | 20 GB SSD |
| Runtime | PHP 8.1+, MySQL 5.7+ | PHP 8.3, MySQL 8.0 |
FreeScout is exceptionally lightweight — the entire distribution is ~10MB. On Railway, the default resource allocation is more than sufficient for most teams.
Self-Hosting FreeScout with Docker
Pull the tiredofit/freescout image and connect it to a MySQL database:
docker run -d \
--name freescout \
-p 80:80 \
-e [email protected] \
-e ADMIN_PASS=changeme123 \
-e SITE_URL=https://support.example.com \
-e DB_TYPE=mysql \
-e DB_HOST=mysql \
-e DB_PORT=3306 \
-e DB_NAME=freescout \
-e DB_USER=root \
-e DB_PASS=mysqlpassword \
-e ENABLE_SSL_PROXY=TRUE \
-e TIMEZONE=UTC \
-v freescout-data:/data \
tiredofit/freescout:latest_php8.3
Or use docker-compose for the full stack:
services:
freescout:
image: tiredofit/freescout:latest_php8.3
ports:
- "80:80"
environment:
ADMIN_EMAIL: [email protected]
ADMIN_PASS: changeme123
SITE_URL: https://support.example.com
DB_TYPE: mysql
DB_HOST: mysql-db
DB_NAME: freescout
DB_USER: freescout
DB_PASS: secretpassword
ENABLE_SSL_PROXY: "TRUE"
TIMEZONE: UTC
volumes:
- freescout-data:/data
depends_on:
- mysql-db
mysql-db:
image: mysql:8.0
environment:
MYSQL_DATABASE: freescout
MYSQL_USER: freescout
MYSQL_PASSWORD: secretpassword
MYSQL_ROOT_PASSWORD: rootpassword
volumes:
- mysql-data:/var/lib/mysql
volumes:
freescout-data:
mysql-data:
Is FreeScout Free to Self-Host?
FreeScout is 100% free and open-source under the AGPL 3.0 license. There are no per-user fees, no ticket limits, and no mailbox caps. Optional paid modules (Workflows at $14.99, Knowledge Base at $12, Customer Portal at $12.99) add advanced features but are not required. When self-hosting on Railway, you only pay for infrastructure — typically under $5/month for small teams.
FreeScout vs Help Scout
| Feature | FreeScout | Help Scout |
|---|---|---|
| Price | Free (open-source) | $150–$250+/month |
| Hosting | Self-hosted | Cloud only |
| Agents | Unlimited | Per-seat pricing |
| Tickets | Unlimited | Unlimited |
| Data ownership | Full | Vendor-controlled |
| Modules/Extensions | 100+ (many free) | Built-in features |
| API | REST API | REST API |
FreeScout mirrors Help Scout's UI and workflow while eliminating recurring SaaS costs. Companies like WP Fusion and Piwigo publicly migrated from Help Scout to FreeScout citing rising costs and data ownership concerns.
FAQ
What is FreeScout and why self-host it? FreeScout is a free, open-source helpdesk and shared inbox built on PHP/Laravel. Self-hosting gives you full control over customer data, eliminates per-agent fees, and allows unlimited customization through the module system.
What does this Railway template deploy for FreeScout?
The template deploys two services: the FreeScout application container (tiredofit/freescout:latest_php8.3 with built-in Nginx, PHP-FPM, and cron) and a Railway-managed MySQL database. A persistent volume at /data preserves sessions, cache, uploads, and module data.
Why does FreeScout need a MySQL database on Railway? FreeScout stores all conversations, user accounts, mailbox configurations, and module settings in MySQL. The Railway-managed MySQL database provides automatic backups, connection variables, and persistent storage without manual database administration.
How do I connect FreeScout to my support email address? After logging in, go to Manage > Mailboxes > Create Mailbox. Enter your support email address, configure the incoming mail settings (IMAP host, port, username, password), and set up outgoing SMTP under Manage > Settings > Mail Settings. FreeScout will fetch and send emails through your existing mail provider.
Can I install FreeScout modules on Railway?
Yes. Upload module zip files through the FreeScout admin panel (Manage > Modules). The /data volume persists installed modules across container restarts. Both free community modules and paid official modules from freescout.net work on Railway deployments.
How do I enable Slack or WhatsApp integration with self-hosted FreeScout? Install the Slack or WhatsApp module from the FreeScout module marketplace. The Slack module posts helpdesk events to channels and maps mailboxes to specific Slack channels. The WhatsApp module converts WhatsApp messages into FreeScout conversations so agents can reply from the helpdesk interface.
Template Content
MySQL
mysql:9.4FreeScout
tiredofit/freescout:latest_php8.3ADMIN_PASS
Admin password (bootstrap-only)
ADMIN_EMAIL
Admin login email (bootstrap-only)