Chatwoot - Open-Source-Kundensupport-Chat

Chatwoot

Open-Source-Kundensupport-Plattform mit Live-Chat, E-Mail und Social-Media-Integration.

Was ist Chatwoot?

Chatwoot ist eine selbst gehostete Alternative zu Intercom und Zendesk. Es bündelt Kundenkommunikation aus verschiedenen Kanälen — Website-Chat, E-Mail, WhatsApp, Twitter, Facebook Messenger — in einer einheitlichen Agenten-Oberfläche. Teams können gemeinsam Konversationen bearbeiten, Labels vergeben, automatische Antworten einrichten und Auswertungen einsehen. Chatwoot ist in Ruby on Rails und Vue.js geschrieben und aktiv weiterentwickelt.

Voraussetzungen

  • Docker 20.10+ / Docker Compose
  • PostgreSQL und Redis (im Stack enthalten)
  • SMTP-Zugang für ausgehende E-Mails
  • Mindestens 2 GB RAM empfohlen

Compose-Beispiel

services:
  chatwoot:
    image: chatwoot/chatwoot:latest
    container_name: chatwoot
    restart: unless-stopped
    ports:
      - "3000:3000"
    volumes:
      - ./storage:/app/storage
    environment:
      - SECRET_KEY_BASE=changeme
      - FRONTEND_URL=https://support.example.com
      - DATABASE_URL=postgresql://chatwoot:secret@db/chatwoot
      - REDIS_URL=redis://redis:6379
      - SMTP_ADDRESS=smtp.example.com
      - SMTP_PORT=587
    depends_on:
      - db
      - redis

  db:
    image: postgres:15
    container_name: chatwoot-db
    restart: unless-stopped
    volumes:
      - db_data:/var/lib/postgresql/data
    environment:
      - POSTGRES_USER=chatwoot
      - POSTGRES_PASSWORD=secret
      - POSTGRES_DB=chatwoot

  redis:
    image: redis:7-alpine
    container_name: chatwoot-redis
    restart: unless-stopped
    volumes:
      - redis_data:/data

volumes:
  db_data:
  redis_data:

Hinweise

  • Beim ersten Start bundle exec rails db:chatwoot_prepare im Container ausführen.
  • Das storage-Volume enthält Dateianhänge — regelmäßig sichern.
  • Chatwoot benötigt einen separaten Worker-Prozess für Background-Jobs; das offizielle Docker-Image startet beide automatisch.
  • FRONTEND_URL muss der tatsächlichen öffentlichen URL entsprechen, da sie in E-Mails und Widgets verwendet wird.