Wichtiger Hinweis: maERP ist keine schlüsselfertige ERP-Lösung für Endkund:innen und darf nicht ohne eigene Anpassungen im Livebetrieb eingesetzt werden. Das Projekt dient als technische Basis, auf der eigene, individuelle Unternehmenslösungen aufgebaut werden können.
maERP
maERP ist ein kostenloses, Open-Source-ERP-System mit mandantenfähiger Architektur. Die Plattform richtet sich an Teams, die eine moderne Grundlage für eigene ERP-Erweiterungen, Integrationen und Benutzeroberflächen suchen.
Was maERP bietet
- Mandantenisolierte REST-API für Kunden-, Produkt-, Lager- und Auftragsverwaltung
- Module für Angebote, Verkäufe, Rechnungen und Warenzugänge inklusive Nachverfolgung
- Cross-Plattform-Oberflächen auf Basis von Uno Platform unterstützen Desktop-, Web- und Mobile-Clients
- Anbindung externer Vertriebskanäle und Versanddienstleister über konfigurierbare Schnittstellen
- Auswertungen zu Verkäufen, Produkten und Lagerbewegungen zur schnellen Entscheidungsfindung
- KI-gestützte Funktionen (z. B. Prompt-Verwaltung) zur Automatisierung wiederkehrender Aufgaben
- Kostenfrei, quelloffen und erweiterbar
Für wen eignet sich maERP?
maERP adressiert Unternehmen, Integrator:innen und IT-Dienstleister, die ein funktionsreiches Fundament benötigen, um eigene ERP-Prozesse zu digitalisieren. Durch die klare Trennung von Server, UI-Clients und Integrationen bleibt das System flexibel genug, um branchenspezifische Anfsalesungen abzubilden. Umfangreiche automatische Tests (rund 1.500 Szenarien) sorgen für eine hohe Abdeckung von Kernprozessen und erleichtern kontinuierliche Weiterentwicklungen.
Installation
maERP bietet verschiedene Installationsmöglichkeiten für unterschiedliche Anwendungsfälle und Infrastrukturen.
Standard-Zugangsdaten
- E-Mail:
[email protected] - Passwort:
P@ssword1
1. Installation per Docker Compose
Die einfachste Art, maERP mit einer vollständigen Umgebung zu starten. Alle benötigten Services (Server, Web-UI, Datenbank, Monitoring) werden automatisch konfiguriert und gestartet.
Voraussetzungen
- Docker und Docker Compose installiert
- Git für das Klonen des Repositories
SQLite (Standard, keine externe Datenbank erfsaleslich)
# Repository klonen
git clone https://github.com/maERP/maERP.git
cd maERP
# SQLite-Version starten
docker-compose up -d
# Mit Development-Einstellungen
docker-compose -f docker-compose.yml -f docker-compose.override.yml up -d
PostgreSQL
# PostgreSQL-Version starten
docker-compose -f docker-compose.postgresql.yml up -d
# Mit Development-Einstellungen
docker-compose -f docker-compose.postgresql.yml -f docker-compose.postgresql.override.yml up -d
Microsoft SQL Server
# MSSQL-Version starten
docker-compose -f docker-compose.mssql.yml up -d
# Mit Development-Einstellungen
docker-compose -f docker-compose.mssql.yml -f docker-compose.mssql.override.yml up -d
Zugriff auf die Services
- maERP Server API:
http://localhost:8443(Swagger:/swagger) - maERP Web UI:
http://localhost:8444 - Grafana Agent:
http://localhost:12345 - Datenbank-Ports (wenn in docker-compose aktiviert):
- PostgreSQL:
localhost:5432 - MSSQL:
localhost:1433
- PostgreSQL:
2. Installation mit externem Datenbank-Server
Für Produktionsumgebungen oder bei bereits vorhandener Datenbankinfrastruktur.
Lokale Installation ohne Docker
- .NET 9 SDK installieren
- Repository klonen:
git clone https://github.com/maERP/maERP.git - Abhängigkeiten laden:
dotnet restore - Datenbankkonfiguration in
src/maERP.Server/appsettings.jsonanpassen - Server starten:
dotnet run --project src/maERP.Server/maERP.Server.csproj - API verfügbar unter:
https://localhost:5001(Swagger:/swagger)
Docker mit externer Datenbank
Alle Beispiele veröffentlichen den Server auf Port 8080. Ersetze die Verbindungsparameter entsprechend Deiner Datenbankumgebung.
SQLite (eingebaute Datei-Datenbank)
docker run -d \
--name maerp-server-sqlite \
-p 8080:80 \
-e DatabaseConfig__Provider=SQLite \
-e DatabaseConfig__ConnectionString="Data Source=/data/maerp.db" \
-v maerp-sqlite-data:/data \
maerp/server:latest
PostgreSQL (externe Datenbank)
docker run -d \
--name maerp-server-postgres \
-p 8080:80 \
-e DatabaseConfig__Provider=PostgreSQL \
-e DatabaseConfig__ConnectionString="Host=postgres-host;Port=5432;Database=maerp;Username=maerp;Password=maerp;" \
maerp/server:latest
Microsoft SQL Server (externe Datenbank)
docker run -d \
--name maerp-server-sqlserver \
-p 8080:80 \
-e DatabaseConfig__Provider=MSSQL \
-e DatabaseConfig__ConnectionString="Server=sqlserver-host;Database=maerp;User Id=maerp;Password=maerp;TrustServerCertificate=True;" \
maerp/server:latest
3. Installation auf Synology NAS
maERP lässt sich optimal auf Synology NAS-Systemen über den Container Manager betreiben.
Voraussetzungen
- Synology NAS mit DSM 7.0 oder höher
- Container Manager (ehemals Docker) aus dem Paket-Zentrum installiert
- Mindestens 2 GB RAM empfohlen
Installation über Container Manager GUI
Schritt 1: Projekt erstellen
- Container Manager öffnen → Projekt → Erstellen
- Projektname:
maerp - Pfad wählen (z.B.
/docker/maerp)
Schritt 2: Docker Compose Datei konfigurieren
Wähle eine der folgenden Konfigurationen je nach gewünschter Datenbank:
Für SQLite (empfohlen für kleine bis mittlere Installationen):
name: maerp
services:
maerp.server:
image: maerp/server:latest
container_name: maerp-server
environment:
- DatabaseConfig__Provider=Sqlite
- DatabaseConfig__ConnectionString=Data Source=/app/data/maerp.db
- HTTP_PORTS=8443
ports:
- "8443:8443"
volumes:
- ./data:/app/data
restart: unless-stopped
maerp.browser:
image: maerp/browser:latest
container_name: maerp-browser
environment:
- MAERP_SERVER_BASE_URL=http://localhost:8443
ports:
- "8444:80"
depends_on:
- maerp.server
restart: unless-stopped
Für PostgreSQL (empfohlen für größere Installationen):
name: maerp-postgresql
services:
maerp.server:
image: maerp/server:latest
container_name: maerp-server
environment:
- DatabaseConfig__Provider=PostgreSQL
- DatabaseConfig__ConnectionString=Host=postgresql;Port=5432;Database=maerp_01;Username=maerp;Password=maerp;
- HTTP_PORTS=8443
ports:
- "8443:8443"
depends_on:
postgresql:
condition: service_healthy
restart: unless-stopped
maerp.browser:
image: maerp/browser:latest
container_name: maerp-browser
environment:
- MAERP_SERVER_BASE_URL=http://localhost:8443
ports:
- "8444:80"
depends_on:
- maerp.server
restart: unless-stopped
postgresql:
image: postgres:16-alpine
container_name: maerp-postgres
environment:
POSTGRES_DB: maerp_01
POSTGRES_USER: maerp
POSTGRES_PASSWORD: maerp
PGDATA: /var/lib/postgresql/data/pgdata
volumes:
- ./postgres-data:/var/lib/postgresql/data
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -U maerp -d maerp_01"]
interval: 10s
timeout: 5s
retries: 5
Schritt 3: Projekt starten
- Erstellen klicken
- Warten bis alle Container heruntergeladen und gestartet sind
- Status im Container Manager überprüfen
Schritt 4: Zugriff konfigurieren
Lokaler Zugriff:
- Server-API:
http://[NAS-IP]:8443 - Web-UI:
http://[NAS-IP]:8444
Externe Zugriffe (optional):
- DSM Systemsteuerung → Externe Zugriffe → Router-Konfiguration
- Ports weiterleiten: 8443 (Server), 8444 (Web-UI)
- Oder Reverse Proxy in DSM konfigurieren für SSL/HTTPS-Zugriff
Installation über SSH (Fortgeschrittene)
# Per SSH auf das NAS verbinden
ssh admin@[NAS-IP]
# In Docker-Verzeichnis wechseln
cd /volume1/docker
# maERP-Verzeichnis erstellen
sudo mkdir maerp && cd maerp
# Docker Compose Datei erstellen (SQLite-Beispiel)
sudo tee docker-compose.yml << 'EOF'
name: maerp
services:
maerp.server:
image: maerp/server:latest
container_name: maerp-server
environment:
- DatabaseConfig__Provider=Sqlite
- DatabaseConfig__ConnectionString=Data Source=/app/data/maerp.db
- HTTP_PORTS=8443
ports:
- "8443:8443"
volumes:
- ./data:/app/data
restart: unless-stopped
maerp.browser:
image: maerp/browser:latest
container_name: maerp-browser
environment:
- MAERP_SERVER_BASE_URL=http://localhost:8443
ports:
- "8444:80"
depends_on:
- maerp.server
restart: unless-stopped
EOF
# Container starten
sudo docker-compose up -d
# Status prüfen
sudo docker-compose ps
Tipps für Synology NAS
- Automatischer Start: Container werden automatisch mit dem NAS gestartet
- Updates: Über Container Manager → Projekt → Aktion → Erstellen
- Backups: Daten-Ordner in Synology Backup-Routine einbeziehen
- Monitoring: Task Scheduler für Health-Checks nutzen
- Ressourcen: Bei mehreren Containern CPU/RAM-Limits setzen
Troubleshooting
- Port-Konflikte: Andere Ports verwenden (z.B. 9443 statt 8443, 9444 statt 8444)
- Berechtigungen: Ordner-Berechtigungen für Docker-Volumes prüfen
- Logs: Container Manager → Container → Details → Terminal → Logs
Nützliche Ressourcen
- GitHub-Repository: https://github.com/maERP/maERP
- Docker Hub: https://hub.docker.com/u/maerp
- Live-Frontend zur Benutzung mit beliebigen maERP.Server-Instanzen: https://www.maerp.de