Relaticle
★ 1.8kGNU Affero General Public License v3.0Open Source — No Paywall5 Containers — 5 containers — moderate hosting footprintSourceNeeds Postgres1+ active committer (12mo)
About
Relaticle is a self-hosted CRM designed for teams that want to combine customer relationship management with AI-agent workflows. It presents itself as an open-source, privacy-first system built for...
Community Ratings
No ratings yetNew this week
Read recap →Weekly Recap — Oct 16, 2026 – Oct 23, 2026Oct 23, 2026
Features
- self-hosted CRM
- MCP server
- 37 MCP tools
- REST API
- full CRUD
- schema access
- activity history
- pipeline analysis
- 22 custom field types
- multi-team isolation
Details
- Last Updated
- Oct 26, 2026
- Created
- Sep 25, 2024
- Install Methods
- source
- Requirements
- PHP 8.5+PostgreSQL 17+Composer 2Node.js 22+Redis for queues (optional for development)
- API
- REST
- Runtime / Stack
- PHPDocker
- Privacy & Independence
- No Cloud Required
- User Model
- Multi-UserMulti-Tenant
- Deployment
Deployment: Docker Compose ✓5 Containers — moderate hosting footprintRuns as 5 containers
Run Relaticle with Docker Compose
Compose file from the Relaticle project repository.
5 services · database: postgres · infra: postgres, redis
no resource limits declared
needs persistent storage (5 volumes)
compose.yml · @ 5227644 · scanned Sep 23, 2026
services:
app:
image: ghcr.io/relaticle/relaticle:latest
restart: unless-stopped
ports:
- "${APP_PORT:-80}:8080"
environment:
APP_NAME: ${APP_NAME:-Relaticle}
APP_ENV: ${APP_ENV:-production}
APP_KEY: ${APP_KEY:?APP_KEY is required}
APP_DEBUG: ${APP_DEBUG:-false}
APP_TIMEZONE: ${APP_TIMEZONE:-UTC}
APP_URL: ${APP_URL:-http://localhost}
APP_PANEL_DOMAIN: ${APP_PANEL_DOMAIN:-}
SYSADMIN_DOMAIN: ${SYSADMIN_DOMAIN:-}
SYSADMIN_SESSION_DRIVER: ${SYSADMIN_SESSION_DRIVER:-database}
SYSADMIN_SESSION_CONNECTION: ${SYSADMIN_SESSION_CONNECTION:-null}
SYSADMIN_SESSION_LIFETIME: ${SYSADMIN_SESSION_LIFETIME:-120}
SYSADMIN_SESSION_EXPIRE_ON_CLOSE: ${SYSADMIN_SESSION_EXPIRE_ON_CLOSE:-true}
REQUIRE_EMAIL_VERIFICATION: ${REQUIRE_EMAIL_VERIFICATION:-true}
LOG_CHANNEL: ${LOG_CHANNEL:-stderr}
LOG_LEVEL: ${LOG_LEVEL:-warning}
DB_CONNECTION: pgsql
DB_HOST: postgres
DB_PORT: 5432
DB_DATABASE: ${DB_DATABASE:-relaticle}
DB_USERNAME: ${DB_USERNAME:-relaticle}
DB_PASSWORD: ${DB_PASSWORD:?DB_PASSWORD is required}
REDIS_HOST: redis
REDIS_PASSWORD: ${REDIS_PASSWORD:-null}
REDIS_PORT: 6379
CACHE_STORE: redis
SESSION_DRIVER: redis
QUEUE_CONNECTION: redis
MAIL_MAILER: ${MAIL_MAILER:-log}
MAIL_HOST: ${MAIL_HOST:-}
MAIL_PORT: ${MAIL_PORT:-587}
MAIL_USERNAME: ${MAIL_USERNAME:-}
MAIL_PASSWORD: ${MAIL_PASSWORD:-}
MAIL_ENCRYPTION: ${MAIL_ENCRYPTION:-tls}
MAIL_FROM_ADDRESS: ${MAIL_FROM_ADDRESS:-hello@example.com}
MAIL_FROM_NAME: ${MAIL_FROM_NAME:-Relaticle}
# serversideup/php Laravel automations
AUTORUN_ENABLED: "true"
AUTORUN_LARAVEL_MIGRATION: "true"
AUTORUN_LARAVEL_MIGRATION_ISOLATION: "true"
volumes:
- storage:/var/www/html/storage/app
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/up"]
interval: 30s
timeout: 5s
retries: 3
start_period: 60s
horizon:
image: ghcr.io/relaticle/relaticle:latest
restart: unless-stopped
command: ["php", "/var/www/html/artisan", "horizon"]
stop_signal: SIGTERM
environment:
APP_NAME: ${APP_NAME:-Relaticle}
APP_ENV: ${APP_ENV:-production}
APP_KEY: ${APP_KEY:?APP_KEY is required}
APP_DEBUG: ${APP_DEBUG:-false}
APP_URL: ${APP_URL:-http://localhost}
APP_PANEL_DOMAIN: ${APP_PANEL_DOMAIN:-}
SYSADMIN_DOMAIN: ${SYSADMIN_DOMAIN:-}
SYSADMIN_SESSION_DRIVER: ${SYSADMIN_SESSION_DRIVER:-database}
SYSADMIN_SESSION_CONNECTION: ${SYSADMIN_SESSION_CONNECTION:-null}
SYSADMIN_SESSION_LIFETIME: ${SYSADMIN_SESSION_LIFETIME:-120}
SYSADMIN_SESSION_EXPIRE_ON_CLOSE: ${SYSADMIN_SESSION_EXPIRE_ON_CLOSE:-true}
REQUIRE_EMAIL_VERIFICATION: ${REQUIRE_EMAIL_VERIFICATION:-true}
LOG_CHANNEL: ${LOG_CHANNEL:-stderr}
DB_CONNECTION: pgsql
DB_HOST: postgres
DB_PORT: 5432
DB_DATABASE: ${DB_DATABASE:-relaticle}
DB_USERNAME: ${DB_USERNAME:-relaticle}
DB_PASSWORD: ${DB_PASSWORD:?DB_PASSWORD is required}
REDIS_HOST: redis
REDIS_PASSWORD: ${REDIS_PASSWORD:-null}
REDIS_PORT: 6379
QUEUE_CONNECTION: redis
# Disable automations for worker container
AUTORUN_ENABLED: "false"
volumes:
- storage:/var/www/html/storage/app
depends_on:
app:
condition: service_healthy
redis:
condition: service_healthy
healthcheck:
test: ["CMD", "healthcheck-horizon"]
start_period: 10s
scheduler:
image: ghcr.io/relaticle/relaticle:latest
restart: unless-stopped
command: ["php", "/var/www/html/artisan", "schedule:work"]
stop_signal: SIGTERM
environment:
APP_NAME: ${APP_NAME:-Relaticle}
APP_ENV: ${APP_ENV:-production}
APP_KEY: ${APP_KEY:?APP_KEY is required}
APP_DEBUG: ${APP_DEBUG:-false}
APP_URL: ${APP_URL:-http://localhost}
APP_PANEL_DOMAIN: ${APP_PANEL_DOMAIN:-}
SYSADMIN_DOMAIN: ${SYSADMIN_DOMAIN:-}
SYSADMIN_SESSION_DRIVER: ${SYSADMIN_SESSION_DRIVER:-database}
SYSADMIN_SESSION_CONNECTION: ${SYSADMIN_SESSION_CONNECTION:-null}
SYSADMIN_SESSION_LIFETIME: ${SYSADMIN_SESSION_LIFETIME:-120}
SYSADMIN_SESSION_EXPIRE_ON_CLOSE: ${SYSADMIN_SESSION_EXPIRE_ON_CLOSE:-true}
REQUIRE_EMAIL_VERIFICATION: ${REQUIRE_EMAIL_VERIFICATION:-true}
LOG_CHANNEL: ${LOG_CHANNEL:-stderr}
DB_CONNECTION: pgsql
DB_HOST: postgres
DB_PORT: 5432
DB_DATABASE: ${DB_DATABASE:-relaticle}
DB_USERNAME: ${DB_USERNAME:-relaticle}
DB_PASSWORD: ${DB_PASSWORD:?DB_PASSWORD is required}
REDIS_HOST: redis
REDIS_PASSWORD: ${REDIS_PASSWORD:-null}
REDIS_PORT: 6379
QUEUE_CONNECTION: redis
# Disable automations for scheduler container
AUTORUN_ENABLED: "false"
volumes:
- storage:/var/www/html/storage/app
depends_on:
app:
condition: service_healthy
healthcheck:
test: ["CMD", "healthcheck-schedule"]
start_period: 10s
postgres:
image: postgres:17-alpine
restart: unless-stopped
environment:
POSTGRES_DB: ${DB_DATABASE:-relaticle}
POSTGRES_USER: ${DB_USERNAME:-relaticle}
POSTGRES_PASSWORD: ${DB_PASSWORD:?DB_PASSWORD is required}
volumes:
- postgres:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${DB_USERNAME:-relaticle} -d ${DB_DATABASE:-relaticle}"]
interval: 10s
timeout: 5s
retries: 5
redis:
image: redis:7-alpine
restart: unless-stopped
command: redis-server --appendonly yes
volumes:
- redis:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
volumes:
postgres:
redis:
storage:
This file may be out of date. Check the Relaticle documentation for current setup steps.
Tags
Track your self-hosted stack
Bookmark software to try, rate tools you've used, and keep your collection in one place.
Metadata extracted from README on Sep 12, 2026
Related Software
macro
5.0k
Macro is an all-in-one team workspace that combines email, chat, docs, tasks, agents, and CRM in a single interface.
CRM SystemsTask ManagementNote Taking Apps+2
22 ContainersFreemium
Fusio
2.1k
Fusio is an open source API management platform for self-hosted backend APIs, gateway routing, documentation, SDK generation, and monetization.
API ManagementCopyleft LicenseSelf Hosting Solutions+3
MindsDB
39.8k
Minds Platform is a general-purpose AI workspace for knowledge workers to automate multi-step tasks and build internal AI tools.
Database ManagementArtificial IntelligenceAI RAG Systems+4
Open Core
open-seo
25.1k
OpenSEO is an open source SEO tool for keyword research, rank tracking, competitor insights, backlinks, site audits, and AI visibility.
SEO ToolsAnalytics ToolsAI Agents+2
Single ContainerOpen CoreCloud RequiredFully FOSS
crm
11.7k
Comp AI CRM is an open-source CRM designed for AI agents and built around a durable autonomous agent that researches, records facts, and manages follow-ups.
CRM SystemsAI AgentsAutomation Tools+3
Single Container
Tiledesk
323
Tiledesk is an open source live chat and customer support platform with integrated chatbots and multi-channel messaging.
Custom CommunicationsTicketing SystemsCRM Systems+4
Open Core
Mautic
10.9k
Open source marketing automation software for creating and managing integrated marketing campaigns.
Mailing ListsSelf Hosting SolutionsAutomation Tools+3
Django-CRM
647
A free, self-hosted CRM built with Python and Django for managing leads, deals, contacts, tasks, email campaigns, and analytics.
CRM SystemsTask ManagementAnalytics Tools+4
Dittofeed
3.0k
Dittofeed is an open-source omni-channel customer engagement platform for sending broadcasts and automated user journeys across channels like email, SMS, WhatsApp, Slack, and mobile push.
Automation ToolsMailing ListsCRM Systems+3
Open Core
Usertour
2.3k
Usertour is an open-source user onboarding platform for creating in-app product tours, checklists, launchers, and surveys.
Miscellaneous ToolsAnalytics ToolsCRM Systems+2
Open Core
Lobe Chat
83.5k
LobeHub is a self-hostable AI agent platform for organizing, creating, and collaborating with multi-agent workflows.
Artificial IntelligenceAI InterfacesSelf Hosting Solutions+3
6 Containers
AnythingLLM
67.6k
An all-in-one AI application for chatting with documents, building AI agents, and running local or cloud LLM workflows.
Artificial IntelligenceAutomation ToolsSelf Hosting Solutions+7
Single Container