Deploy EspoCRM on Ubuntu 22.04 or 24.04 using Docker — a lightweight, fast, and fully open-source CRM for managing leads, contacts, deals, and business communications on your own server.
Grab the automated bash script from GitHub to follow along with the video.
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/crm/espocrm/espocrm-ubuntu.sh
chmod +x espocrm-ubuntu.sh
sudo bash espocrm-ubuntu.sh
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/crm/espocrm/espocrm-ubuntu.sh
chmod +x espocrm-ubuntu.sh
The script installs Docker if needed, then deploys EspoCRM with MySQL automatically.
sudo bash espocrm-ubuntu.sh
Open your browser and navigate to:
http://<your-server-ip>
Follow the on-screen wizard to set your admin username and password, configure your site URL, and verify the database connection. Once done, log in and start importing your contacts.
| Port | Purpose |
|---|---|
| 80 | EspoCRM Web UI (HTTP) |
| 443 | EspoCRM Web UI (HTTPS — via reverse proxy) |
| 3306 | MySQL — internal only, not exposed |
EspoCRM is a fast, lightweight, open-source Customer Relationship Management system built for businesses that want full control over their sales and customer data without paying per-seat SaaS fees. It covers the full CRM lifecycle — leads, accounts, contacts, opportunities, cases, tasks, meetings, and calls — with a clean interface that is quick to learn. Unlike heavier alternatives, EspoCRM is designed to stay responsive even on modest hardware. It ships with a powerful REST API, a visual workflow builder, email integration including two-way IMAP sync, and a highly flexible entity/field customization system. Self-hosting EspoCRM means your customer data never leaves your server, your usage is unlimited, and you own every byte.
Most SaaS CRMs charge $25–100 per user per month and lock your data behind proprietary exports. EspoCRM gives you all the core CRM features — pipeline management, contact tracking, email integration, reporting, and workflow automation — at zero license cost. Its codebase is PHP/MySQL, so it runs on the same stack many businesses already operate. The UI is modern and responsive, avoiding the clunky feel of some older open-source CRMs. Custom entities and fields let you reshape EspoCRM to fit your exact business process without hacking the core. For MENA businesses especially, data sovereignty matters — keeping customer data on a local server avoids GDPR and data localization compliance headaches.
EspoCRM only needs port 80 (HTTP) or 443 (HTTPS via reverse proxy) open to users. MySQL runs on port 3306 inside the Docker network and must never be exposed publicly. If you plan to use two-way email sync, ensure your server can make outbound connections on port 587 (SMTP) and 993 (IMAP). Configure your firewall with ufw allow 80 and ufw allow 443, and block all other inbound ports. Restrict admin panel access by IP if your team works from fixed office IPs.
SuiteCRM is the most feature-complete open-source CRM alternative — it has more modules (quotes, invoices, projects) but is significantly heavier and slower. Twenty is a modern, developer-friendly CRM built on a GraphQL API with a slick UI, but is newer and less battle-tested. Odoo CRM is extremely powerful but comes bundled with an entire ERP, making it overkill for teams that only need CRM. Vtiger is another PHP-based CRM with a free community edition. EspoCRM hits the best balance of features, speed, and ease of self-hosting for most SMEs.
If your team needs built-in quoting, invoicing, inventory, or project management tightly integrated with CRM, SuiteCRM or Odoo will serve you better. If you need a developer-first API-centric CRM to build custom applications on, Twenty's GraphQL API is more ergonomic. EspoCRM is also not ideal for offline-first mobile CRM for field teams with no connectivity — it is a web application requiring a network connection. For very large enterprises (1000+ users) needing enterprise SSO, advanced audit trails, and SLA-backed support, a commercial CRM with professional services is more appropriate.
PrismaTechWork provides end-to-end infrastructure services — from initial deployment and security hardening to ongoing monitoring, automated backups, and dedicated support. Whether you need a single-server setup or a multi-site network, our team ensures your infrastructure is built right, secured properly, and maintained reliably.
Yes — EspoCRM is fully open-source under the GPLv3 license. The core product, including all modules, is free with no feature restrictions. There is a paid hosted SaaS version and optional paid extensions in the marketplace, but self-hosting the community edition costs nothing beyond your server.
HubSpot's free tier is limited in contacts and features; paid plans start at $800+/month for teams. EspoCRM is fully self-hosted with unlimited contacts, users, and no feature gating. HubSpot has deeper marketing automation and native integrations, while EspoCRM wins on data ownership, customization depth, and zero recurring cost.
Yes — EspoCRM has a built-in Mass Email module. You can create target lists, design HTML email templates, schedule sends, and track open/click rates. For high-volume sending, configure a dedicated SMTP relay (SendGrid, Mailgun, Amazon SES) instead of your regular SMTP server.
Yes — EspoCRM has a built-in Arabic language pack with RTL layout support. Go to Administration → Language → select Arabic, and the entire UI switches to RTL. Individual users can also set their preferred language in their profile settings independently of the default.
Yes — EspoCRM has a full REST API covering all entities. You can push website form submissions as leads using a simple HTTP POST, integrate with n8n or Make for automation workflows, and connect to accounting tools via API. There is also a webhooks system for real-time event triggers.
Always back up the database and data volume first. Then go to Administration → Upgrade, upload the upgrade package downloaded from the EspoCRM website, and follow the wizard. Never skip versions — if you are several releases behind, upgrade step by step through each major version to avoid database migration conflicts.
For a small team (up to 20 users, under 50,000 contacts): 2 vCPU / 2 GB RAM / 20 GB SSD is sufficient. For medium deployments (50–100 users): 4 vCPU / 4 GB RAM / 50 GB SSD. PHP 8.1+ and MySQL 8.0+ are recommended. EspoCRM is significantly lighter than SuiteCRM or Odoo on the same hardware.
Yes — EspoCRM's team and role system allows multiple business units to share one instance with controlled data visibility. Assign users to teams, then configure role permissions so each team only sees their own accounts, leads, and opportunities. For strict multi-tenant isolation, run separate EspoCRM instances per tenant.