---
title: "Deploy SuiteCRM"
description: "Open-source CRM for sales, marketing, service, and workflow automation"
category: "Other"
url: https://railway.com/deploy/-7e9P7
---

# Deploy SuiteCRM

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

**[Deploy SuiteCRM on Railway](https://railway.com/template/-7e9P7)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/-7e9P7/manifest.json

- **Creator:** Vamos Automatizar
- **Category:** Other
- **Total deploys:** 146

## Template content

### MySQL https://devicons.railway.app/i/mysql.svg

- **Image:** mysql:8.4
- **Start command:** `docker-entrypoint.sh mysqld --innodb-use-native-aio=0 --disable-log-bin --performance_schema=0`

### SuiteCRM https://baserow-backend-production20240528124524339000000001.s3.amazonaws.com/user_files/l71GgggT5ocGSbyNfC9iQQlltlUelVX7_2feedbda063140ed7be626d5d26c14d62d4784c3c991fdf9a23dcbb2e555c6d5.jpg

- **Source:** vamos-automatizar/suitecrm-railway
- **Public domain:** Yes

## Documentation

# 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

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](https://github.com/SuiteCRM/SuiteCRM)

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

- [SuiteCRM](https://suitecrm.com/)
- [SuiteCRM Documentation](https://docs.suitecrm.com/)
- [SuiteCRM Installation Guide](https://docs.suitecrm.com/admin/installation-guide/)
- [SuiteCRM Compatibility Matrix](https://docs.suitecrm.com/admin/compatibility-matrix/)
- [SuiteCRM 7.15.x Release Notes](https://docs.suitecrm.com/admin/releases/7.15.x/)
- [SuiteCRM GitHub](https://github.com/SuiteCRM/SuiteCRM)
- [Railway Templates](https://docs.railway.com/templates/create)
- [Railway Variables](https://docs.railway.com/variables)
- [Railway Volumes](https://docs.railway.com/volumes)

## Similar templates

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀
- [Foundry Virtual Tabletop](https://railway.com/deploy/X5tR6G) — A Self-Hosted & Modern Roleplaying Platform
- [Letta Code Remote](https://railway.com/deploy/letta-code-remote) — Run a Letta Code agent 24/7. No inbound ports, just deploy.

Open this page in a browser: https://railway.com/deploy/-7e9P7
