Installing ChurchCRM on a VPS or Cloud Provider
ChurchCRM runs on any Linux server with Apache, PHP 8.4+, and MySQL/MariaDB. If you or your church has a volunteer comfortable with the command line, a VPS gives you more control, better performance, and lower cost than most shared hosting plans.
This page covers the popular cloud options and maps you to the right install guide. The underlying steps are the same across all of them — the only difference is how you spin up the VM.
Which provider should I choose?
| Provider | Notes |
|---|---|
| DigitalOcean | Simple UI, predictable pricing ($6–$12/mo for a small church), good for first-timers. Create a "Droplet" with Ubuntu 24.04. |
| Linode / Akamai | Similar to DigitalOcean, very reliable, slightly cheaper at entry level. |
| Hetzner | Cheapest option (~€4/mo), European data centers, excellent value for money. |
| Vultr | Many global regions, competitive pricing, good for international churches. |
| AWS Lightsail | Amazon's simplified VPS product — predictable cost, easy to upgrade to full AWS later. |
| AWS EC2 | Full AWS power, more setup required, free tier available for 12 months (t2.micro). Follow the Azure guide pattern and adapt for EC2. |
| Google Cloud (GCE) | Google's VMs — free tier available (e2-micro in us-east1 is permanently free). |
| Microsoft Azure | See the dedicated Azure installation guide. |
For a congregation under 500 people: 1 vCPU, 1–2 GB RAM, 20 GB disk is fine. Under 2,000 people: 2 vCPU, 2–4 GB RAM. The database and file storage grow slowly — most churches stay under 5 GB for years.
Steps: Ubuntu-based providers (DigitalOcean, Linode, Hetzner, Vultr, Lightsail, GCE)
- Create a VM running Ubuntu 22.04 LTS or Ubuntu 24.04 LTS
- SSH in as root (or a sudo user)
- Follow the Self-Hosted on Ubuntu guide from the top
That's it. The guide covers Apache, MariaDB, PHP 8.4, and deploying the release zip — all tested on Ubuntu 22.04/24.04.
Steps: RHEL-based providers (any provider running Rocky Linux / AlmaLinux)
- Create a VM running Rocky Linux 9 or AlmaLinux 9
- SSH in
- Follow the Self-Hosted on Rocky Linux guide
Steps: Microsoft Azure
See the dedicated Azure installation guide, which covers resource groups, VM creation, and Apache configuration specific to Azure's networking.
SSL / HTTPS
On any VPS you'll want a TLS certificate. Let's Encrypt is free and takes about 2 minutes with Certbot:
Ubuntu:
sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d yourdomain.com
Rocky Linux:
sudo dnf install certbot python3-certbot-apache
sudo certbot --apache -d yourdomain.com
Certbot auto-renews certificates — no annual fee, no manual renewal. See SSL / HTTPS for more.
Docker
ChurchCRM publishes official Docker images as
churchcrm/crm.
They are built from each stable release for linux/amd64 and linux/arm64, and
run as a non-root user.
See Docker for the images, a Compose file, and how to back up and upgrade.
Running a container shifts some maintenance onto you: pull a newer image when you are ready to upgrade, so the application and its base image stay patched. If you would rather not take that on, the standard Apache + PHP setup on this page or a self-hosted Linux install needs less ongoing attention.
What about managed databases (RDS, Cloud SQL)?
You can point ChurchCRM at a managed MySQL/MariaDB instance (AWS RDS, Google Cloud SQL, Azure Database for MySQL) instead of running MariaDB on the same server. The connection details go in Include/Config.php — same as a local install. A managed database adds cost but removes the backup and patching burden for the database tier.
See Also
Can't find what you need? Ask in Discord, or open an issue on the ChurchCRM repository.