root 30905b15d4
Some checks failed
Docker Build & Push / build-and-push (push) Has been cancelled
feat: SuiteCRM Docker + compose + CI/CD
2026-05-24 14:12:23 +02:00
2026-05-24 14:12:23 +02:00

SuiteCRM Docker — Containerized CRM Environment

SuiteCRM 7.15.1 — vollständig containerisiert mit Docker Compose. Ein Befehl, alles läuft: SuiteCRM + MariaDB + (optional) Redis.

Systemanforderungen

  • Docker 20.10+ und Docker Compose v2
  • 2 GB RAM empfohlen (MariaDB Puffer)

Schnellstart

# 1. Repository klonen
git clone https://git.kgessner.de/LuiiCode/sugar-crm.git
cd sugar-crm

# 2. Umgebungsvariablen anpassen
cp .env.example .env
nano .env  # Passwörter ändern!

# 3. Starten
docker compose up -d

# 4. SuiteCRM Installation im Browser abschließen:
#    http://localhost:8080

Architektur

┌──────────────────────────────────────┐
│  Docker Compose                       │
│                                       │
│  ┌──────────┐  ┌──────────┐          │
│  │ SuiteCRM │  │ MariaDB  │  Redis?  │
│  │  :8080   │  │  :3307   │  :6379   │
│  │ PHP 8.1  │  │  10.11   │  (opt.)  │
│  │ Apache   │  │          │          │
│  └──────────┘  └──────────┘          │
│       │             │                 │
│  Volumes:      Volumes:               │
│   - upload     - /var/lib/mysql       │
│   - custom                            │
│   - config                            │
└──────────────────────────────────────┘

Services

Service Image Port Profil
suitecrm Custom (PHP 8.1) 8080 standard
mariadb mariadb:10.11 3307 standard
redis redis:7-alpine 6379 redis/full

Konfiguration

Umgebungsvariablen (.env)

Variable Default Beschreibung
SUITECRM_PORT 8080 Webinterface-Port
SUITECRM_SITE_URL http://localhost:8080 Öffentliche URL
MYSQL_PORT 3307 DB-Port (Host)
MYSQL_ROOT_PASSWORD change_this… Root-Passwort
MYSQL_DATABASE suitecrm Datenbank-Name
MYSQL_USER suitecrm Datenbank-Nutzer
MYSQL_PASSWORD change_this… Nutzer-Passwort

⚠️ Sicherheit: Immer .env Passwörter ändern vor erstem Start!

Kommandos

# Grundbefehle
docker compose up -d              # Alle Services starten
docker compose up -d redis        # + Redis-Cache starten
docker compose down               # Stoppen
docker compose down -v            # Stoppen + ALLE DATEN LÖSCHEN

# Logs
docker compose logs -f suitecrm   # SuiteCRM-Logs verfolgen
docker compose logs mariadb       # DB-Logs

# Backup
docker compose exec mariadb mysqldump -u suitecrm -p suitecrm > backup.sql
tar -czf upload-backup.tar.gz -C /var/lib/docker/volumes/sugarcrmreponame_suitecrm_data/_data .

SuiteCRM Installation (Erst-Start)

Nach docker compose up -d im Browser http://localhost:8080 öffnen:

  1. License Agreement → Akzeptieren
  2. System Check → Alle Checks sollten grün sein
  3. Database Configuration:
    • Host: mariadb
    • Database: suitecrm
    • User: suitecrm
    • Password: (aus .env)
  4. Site Configuration → Admin-Nutzer anlegen
  5. Fertig! SuiteCRM ist einsatzbereit.

Redis aktivieren

# Mit Redis-Profil starten
docker compose --profile redis up -d

# Oder Full-Stack (alles inkl. Redis)
docker compose --profile full up -d

Redis-Konfiguration in SuiteCRM Admin → System → Redis:

  • Host: redis
  • Port: 6379

Elasticsearch (optional)

Für Volltextsuche kann Elasticsearch ergänzt werden. Dazu in docker-compose.yml einfügen:

  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.17.24
    container_name: suitecrm-es
    environment:
      - discovery.type=single-node
      - xpack.security.enabled=false
    volumes:
      - es_data:/usr/share/elasticsearch/data
    networks:
      - suitecrm-net

Docker Image bauen & pushen

# Lokal bauen
docker build -t suitecrm:7.15.1 .

# In Gitea Registry pushen
docker tag suitecrm:7.15.1 git.kgessner.de/luiicode/sugar-crm:7.15.1
docker login git.kgessner.de
docker push git.kgessner.de/luiicode/sugar-crm:7.15.1

CI/CD

Bei jedem Push auf main baut Gitea Actions das Image automatisch und pusht es in die Gitea Container Registry. Workflow: .gitea/workflows/docker-build.yml


Version: SuiteCRM 7.15.1 | PHP: 8.1 | MariaDB: 10.11

Description
Containerized SugarCRM/SuiteCRM environment with Docker Compose
Readme 78 KiB
Languages
Python 70.1%
Shell 24.4%
Dockerfile 5.5%