Deploy SuiteCRM

Open-source CRM for sales, marketing, service, and workflow automation

Deploy SuiteCRM

Just deployed

/var/lib/mysql

/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 FieldValue
Database TypeMySQL
Host NameValue of DB_HOST
Database NameValue of DB_NAME
User NameValue of DB_USER
PasswordValue of DB_PASSWORD
PortValue 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

  1. Deploy the SuiteCRM template to Railway.
  2. Make sure the MySQL service is running.
  3. Attach a persistent Volume to the SuiteCRM service.
  4. Wait for the SuiteCRM service to start.
  5. Open the public Railway URL.
  6. Open Variables on the SuiteCRM service.
  7. Copy the actual DB_* values.
  8. Enter them into the SuiteCRM Web Installer.
  9. Create the administrator username, password, and email.
  10. 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:

  1. Back up the MySQL database.
  2. Back up the SuiteCRM Volume.
  3. Review the official SuiteCRM upgrade documentation.
  4. Test the target release separately.
  5. 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:

SuiteCRM GitHub 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

More templates in this category

View Template
Rocky Linux
Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

codestorm
47
View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

Lucas
71
View Template
Letta Code Remote
Run a Letta Code agent 24/7. No inbound ports, just deploy.

Letta
50