Skip to content

Services Overview

Detailed overview of each service in the MediaMagic CRM stack.

Service Map

EspoCRM

The primary CRM interface where users manage all content and workflows.

PropertyValue
Containermediamagic-espocrm
Port8080
TechnologyPHP 8.2, Backbone.js
DatabaseMySQL 8.0

Features

  • Custom Entities: ContentProduction, PlatformPublish, Clip, SocialPost, GuestBooking
  • Kanban Boards: Visual pipeline management
  • Webhooks: Trigger Bridge API on entity changes
  • API Access: Full REST API
  • Video Editor: Descript-style text-based editing

Custom Extensions

espocrm/custom/
├── Espo/Custom/           # Backend PHP
│   ├── Classes/
│   ├── Controllers/
│   ├── Hooks/
│   └── Services/
└── client/                # Frontend JS/CSS
    ├── src/views/         # Custom views
    ├── css/               # Custom styles
    └── js/                # Custom scripts

Bridge API

The central orchestration layer connecting EspoCRM to external services.

PropertyValue
Containermediamagic-bridge
Port3100
TechnologyNode.js 20, Express
DatabasePostgreSQL 16

Responsibilities

  • Receive webhooks from EspoCRM
  • Forward publishing requests to X Server
  • Schedule social posts via Ayrshare
  • Collect and store analytics
  • Trigger n8n workflows
  • AI analysis via Claude

Key Routes

RoutePurpose
/webhooks/*EspoCRM webhook handlers
/ayrshare/*Social media proxy
/analytics/*Analytics queries
/boxcast/*Boxcast operations
/x/*X Server proxy

MySQL

CRM database storing all EspoCRM data.

PropertyValue
Containermediamagic-mysql
Port3306 (internal)
Version8.0
Databaseespocrm

Key Tables

  • Entity tables (auto-generated by EspoCRM)
  • Relationship tables
  • User and role tables
  • Workflow tables

PostgreSQL

Analytics database for time-series metrics.

PropertyValue
Containermediamagic-postgres
Port5432
Version16
Databasemediamagic_analytics

Schema


Grafana

Visual analytics dashboards connected to PostgreSQL.

PropertyValue
Containermediamagic-grafana
Port3200
Version11
Data SourcePostgreSQL

Dashboards

DashboardPurpose
social-overview.jsonFollower trends, engagement, platform comparison
post-performance.jsonIndividual post analytics, top performers

Features

  • Time series charts
  • Platform filtering
  • Date range selection
  • Auto-refresh

Mobile PWA

Progressive Web App for mobile access.

PropertyValue
Containermediamagic-mobile
Port3300
TechnologyVanilla JS, Service Worker

Features

  • Installable on mobile devices
  • Offline support
  • Quick actions for common tasks
  • Push notifications (planned)

X Server

Platform automation server using Playwright for browser automation, video processing, and AI integrations.

PropertyValue
RepositoryAmericanMedia/x
Port3000
TechnologyNode.js 20+, Express, Playwright, FFmpeg
PurposePublishing, video processing, AI analysis

Key Features

  • Browser Automation — Playwright-based automation for platforms without APIs
  • Video Processing — FFmpeg-powered editing and conversion
  • AI Integration — OpenAI/LangChain for content analysis
  • CDN Upload — Direct Bunny CDN storage integration
  • Social Media — Ayrshare proxy for social scheduling

Supported Platforms

PlatformLivestreamUploadStatus Check
Rumble
YouTube
Boxcast
Brighteon
Odysee
Bitchute
Banned.Video
Transistor
Substack
Restream

Additional Capabilities

FeatureEndpointDescription
Video Editor/video-editor/*Text-based video editing
YouTube Download/clips/youtube-downloadDownload clips from YouTube
Transcription/video-editor/transcribeDeepgram-powered transcription
Bunny CDN/bunny-*Storage and streaming uploads
Descript/descript-*Descript project management

Running Locally

bash
cd x
npm install
npm run dev

For detailed setup, see the X Server Architecture documentation.


Container Communication

Docker Network

All services communicate via the mediamagic bridge network:

yaml
networks:
  mediamagic:
    driver: bridge

Internal DNS

Services can reach each other by container name:

  • http://espocrm → EspoCRM
  • http://bridge:3100 → Bridge API
  • http://postgres:5432 → PostgreSQL
  • http://grafana:3000 → Grafana

MediaMagic CRM Documentation