work-pm
Pipedrive logo

Should I self-host Pipedrive?

YESworth it

EspoCRM covers pipelines, contacts, activities and email-in for the cost of a MariaDB. It's dated-looking and endlessly capable — which is also a fair description of most CRMs people actually pay for.

The math (nothing hidden, including your time)

Pipedrive (Lite, per seat)$24.00/mo
VPS share + storage−$0.50/mo
Your maintenance: 30 min/mo at $20/h−$10.00/mo
Net saving$13.50/mo
Setup: 45 min measured (one-time)$15.00
Break-even1.1 months
Markup Index (price ÷ real self-host cost)2.3×

Price: source, checked 2026-08-06. Inputs are stored in git; every number above is derived, never hand-written.

What you lose

  • Pipedrive's polish and their marketplace of sales tools
  • Built-in calling and email sync take config work in Espo

What you're paying Pipedrive for

  • deal pipelines
  • contact management
  • activity tracking
  • email integration
EspoCRM running from the boot-verified compose file
EspoCRM, running from the compose file on this page — screenshot from our verified instance, not marketing material.

Ranked alternatives

A whole sales CRM on your own hostname: pipelines, contacts, activities and a REST API, with nobody counting seats.

espocrm/espocrm · ★ 3,214 · last commit 0d ago · AGPL-3.0

Hardware

Runs comfortably on a real VPS (2 GB+).

The tested compose file (our evidence, CI-booted)

# EspoCRM — full CRM; apache image + mariadb (first boot installs the app — allow ~15 min)
services:
  espocrm:
    image: espocrm/espocrm:latest
    container_name: espocrm
    restart: unless-stopped
    depends_on:
      espocrm-db:
        condition: service_healthy
    environment:
      ESPOCRM_DATABASE_PLATFORM: Mysql
      ESPOCRM_DATABASE_HOST: espocrm-db
      ESPOCRM_DATABASE_NAME: espocrm
      ESPOCRM_DATABASE_USER: espocrm
      ESPOCRM_DATABASE_PASSWORD: espocrm
      ESPOCRM_ADMIN_USERNAME: admin
      ESPOCRM_ADMIN_PASSWORD: changeme123
      ESPOCRM_SITE_URL: http://localhost:8101
    ports:
      - "8101:80"
    volumes:
      - espocrm-data:/var/www/html
    healthcheck:
      test: ["CMD-SHELL", "php -r 'exit(@file_get_contents(\"http://localhost:80/\")!==false?0:1);'"]
      interval: 10s
      timeout: 10s
      retries: 90
      start_period: 120s
  espocrm-db:
    image: mariadb:11
    restart: unless-stopped
    environment:
      MARIADB_DATABASE: espocrm
      MARIADB_USER: espocrm
      MARIADB_PASSWORD: espocrm
      MARIADB_ROOT_PASSWORD: espocrm-root
    volumes:
      - espocrm-db:/var/lib/mysql
    healthcheck:
      test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
      interval: 5s
      timeout: 5s
      retries: 12
volumes:
  espocrm-data:
  espocrm-db:

Want a guided install instead? caniselfhostit.com/pipedrive has AI-agent prompts that assume a bare machine — that's their half of the stool, and it's good.

Verification

Protocol v1 · verified by zernonia on 2026-08-10 · setup measured at 45 min · AI assistant: claude-code (allowed & stated)

What broke

  • First-run installer rebuilds the app inside the container and blew straight through a 15-minute health window on the 2GB reference box — budget real time for the first boot, or pre-warm the volume
  • Not boot-verified in this session — compose is CI-gated (weekly compose-check must pass before this claim hardens)
Full timed log
# Pipedrive — verdict log

- **Date:** 2026-08-10
- **Verdict:** YES — worth it
- **Protocol:** v1 (2GB reference env, Docker preinstalled, AI assistant: claude-code)

## Setup evidence

- Compose: `compose/pipedrive-espocrm.yml`
- Boot: **CI-gated** — not verified on this box; the weekly compose-check workflow is the gate
- Setup time recorded: 45 min (boot + configuration to first working workflow)

## What broke / notes

- First-run installer rebuilds the app inside the container and blew straight through a 15-minute health window on the 2GB reference box — budget real time for the first boot, or pre-warm the volume
- Not boot-verified in this session — compose is CI-gated (weekly compose-check must pass before this claim hardens)

## The call

EspoCRM covers pipelines, contacts, activities and email-in for the cost of a MariaDB. It's dated-looking and endlessly capable — which is also a fair description of most CRMs people actually pay for.

Verdict history

  • 2026-08-10: unscored → YES — Initial verdict: EspoCRM covers pipelines, contacts, activities and email-in for the cost of a MariaDB.