
Deploy SuiteCRM
Open-source CRM for sales, marketing, service, and workflow automation
MySQL
Just deployed
/var/lib/mysql
Just deployed
/var/www/html
Deploy and Host SuiteCRM on Railway
SuiteCRM is an open-source Customer Relationship Management (CRM) platform that brings sales, marketing, customer service, reporting, and workflow automation together in one place.
With SuiteCRM, teams can manage leads, contacts, accounts, opportunities, campaigns, customer cases, activities, quotes, contracts, and more.
About Hosting
This template provides a Railway-ready deployment of SuiteCRM using the official SuiteCRM source release.
The application runs with PHP, Apache, MySQL, persistent storage, and an automated SuiteCRM scheduler.
A Railway Volume preserves the SuiteCRM application, configuration, uploads, customizations, cache, and other data across restarts and redeployments.
Why Deploy SuiteCRM on Railway
Railway provides a simple way to run a self-hosted CRM without manually configuring a traditional server environment.
This template is suitable for businesses, sales teams, agencies, consultants, customer service operations, and automation projects that need a flexible CRM platform.
Common Use Cases
- Sales Management — Manage leads, contacts, accounts, opportunities, quotes, and contracts.
- Marketing Automation — Create campaigns, manage target lists, and track marketing activities.
- Customer Service — Manage cases, support requests, activities, and customer history.
- Workflow Automation — Automate assignments, notifications, field updates, and business processes.
- Reporting and Dashboards — Monitor sales, customer information, and business performance.
- Customer 360° — Centralize customer information, communications, activities, opportunities, and service history.
Key Features
- Lead Management
- Opportunity and Pipeline Management
- Sales Automation
- Marketing Campaigns
- Customer Service
- Workflow Automation
- Reports and Dashboards
- Customizable Modules
- Calendar and Activities
- Multilingual Support
- REST API and Integrations
- Open Source
Dependencies for SuiteCRM Hosting
Deployment Dependencies
- SuiteCRM: 7.15.2
- PHP: 8.3
- Apache: 2.4
- Database: MySQL
- Container Port: 8080
- Storage: Railway Persistent Volume
- Scheduler: SuiteCRM
cron.php
SuiteCRM requires persistent storage and a relational database for reliable operation.
Railway Variables
Configure these variables on the SuiteCRM service:
PORT=8080 DB_HOST=${{MySQL.MYSQLHOST}} DB_PORT=${{MySQL.MYSQLPORT}} DB_NAME=${{MySQL.MYSQLDATABASE}} DB_USER=${{MySQL.MYSQLUSER}} DB_PASSWORD=${{MySQL.MYSQLPASSWORD}} SITE_URL=https://${{RAILWAY_PUBLIC_DOMAIN}}
These variables reference the MySQL service and provide the values required during the initial SuiteCRM installation.
Important: The variables above do not automatically complete the SuiteCRM Web Installer. Their actual values must be entered manually during the first installation.
First Access and Installation
After deploying the template, open the public URL of the SuiteCRM service.
On the first access, SuiteCRM will display its Web Installer.
Important: Open the Variables tab of the SuiteCRM service in Railway and use the actual values of the
DB_*variables when configuring the database in SuiteCRM.
The administrator username, password, and email are not Railway variables. Create them directly in the SuiteCRM Web Installer.
Database Configuration
In the Database Configuration section, select MySQL and enter:
| SuiteCRM Field | Value |
|---|---|
| Database Type | MySQL |
| Host Name | Value of DB_HOST |
| Database Name | Value of DB_NAME |
| User Name | Value of DB_USER |
| Password | Value of DB_PASSWORD |
| Port | Value of DB_PORT |
Important: Enter the actual values shown in the Variables section of the SuiteCRM service. Do not enter the literal
${{...}}expressions.
Identify Administration User
In the Site Configuration section:
- SuiteCRM Application Admin Name — Enter the administrator username.
- SuiteCRM Admin User Password — Enter a strong password.
- Re-enter SuiteCRM Admin User Password — Confirm the password.
- URL of SuiteCRM Instance — Enter the public Railway URL of the SuiteCRM service.
- Email Address — Enter the administrator email address.
These credentials are created directly in the SuiteCRM Web Installer.
Installation Checklist
Before completing the installation, verify that:
- The
DB_*values came from the SuiteCRM service Variables. - The MySQL host, database, username, password, and port are correct.
- The administrator username and password are defined.
- The public Railway URL is configured.
- A valid administrator email is provided.
Important: Railway does not automatically complete the SuiteCRM Web Installer. Database and administrator settings must be configured manually during the first access.
Getting Started
- Deploy the SuiteCRM template to Railway.
- Make sure the MySQL service is running.
- Attach a persistent Volume to the SuiteCRM service.
- Wait for the SuiteCRM service to start.
- Open the public Railway URL.
- Open Variables on the SuiteCRM service.
- Copy the actual
DB_*values. - Enter them into the SuiteCRM Web Installer.
- Create the administrator username, password, and email.
- Complete the installation and sign in.
Persistent Storage
The SuiteCRM service uses a Railway Volume mounted at:
/var/www/html
This preserves the installed application, configuration, customizations, uploads, cache, and other application data.
Do not remove the SuiteCRM Volume unless you intentionally want to reset the application data.
Database
SuiteCRM requires a relational database to store CRM data.
This template is designed to use a MySQL service within the same Railway project.
The SuiteCRM service references the MySQL connection variables through Railway service references.
Warning: Removing the MySQL Volume can permanently destroy the SuiteCRM database.
Scheduled Tasks
SuiteCRM uses scheduled tasks for features such as Workflows, Emails, and Schedulers.
This deployment automatically runs:
php -f cron.php
every minute in the background using the www-data user.
Automation and Integrations
SuiteCRM can connect to external systems through APIs, webhooks, and integrations.
Common integration options include:
- n8n
- Activepieces
- Webhooks
- REST APIs
- Custom applications
- Business automation platforms
Use SuiteCRM as a central CRM layer while connecting lead generation, messaging, marketing, customer service, and automation workflows.
Updating SuiteCRM
The application version is intentionally pinned to 7.15.2 instead of using latest.
Before upgrading:
- Back up the MySQL database.
- Back up the SuiteCRM Volume.
- Review the official SuiteCRM upgrade documentation.
- Test the target release separately.
- Upgrade only after confirming compatibility.
The Dockerfile downloads SuiteCRM from the official GitHub release instead of relying on a third-party SuiteCRM image.
Security Notes
- Use a strong administrator password.
- Never commit database credentials or secrets to Git.
- Keep SuiteCRM and MySQL volumes persistent.
- Keep SuiteCRM pinned to a specific release.
- Review official SuiteCRM security updates before upgrading.
- Avoid exposing MySQL publicly unless required.
Source and Build
The application is built from the official SuiteCRM repository:
The application version is controlled by:
ARG SUITECRM_VERSION=7.15.2
This keeps the deployment reproducible and avoids third-party SuiteCRM images.
License
SuiteCRM is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
This repository contains deployment and build configuration for a Railway-compatible SuiteCRM environment built from the official SuiteCRM source release.
Official Resources
Template Content
MySQL
mysql:8.4
