4.9 KiB
4.9 KiB
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
.envPasswö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:
- License Agreement → Akzeptieren
- System Check → Alle Checks sollten grün sein
- Database Configuration:
- Host:
mariadb - Database:
suitecrm - User:
suitecrm - Password: (aus
.env)
- Host:
- Site Configuration → Admin-Nutzer anlegen
- 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