OPSI (Open PC Server Integration) ist eine Open-Source-Lösung für das automatisierte Client-Management in IT-Umgebungen. Mit OPSI kannst du Betriebssysteme verteilen, Software installieren, Inventarisierung durchführen und vieles mehr – zentral und automatisiert.
In diesem Beitrag zeige ich dir, wie du OPSI auf einem Synology NAS (z. B. DS920+) oder einem Ugreen NAS über Docker Compose im Container Manager installierst.

Was ist OPSI?
OPSI ist ein Enterprise-Tool zur zentralen Verwaltung von Windows-, Linux- und macOS-Clients. Es stammt ursprünglich aus dem Schul- und Verwaltungsbereich, ist aber längst auch im Unternehmensumfeld angekommen. Es ist besonders leistungsfähig bei:
- Betriebssystemverteilung (inkl. PXE)
- Softwareverteilung
- Lizenzmanagement
- Hardware- und Software-Inventarisierung
Voraussetzungen
Für Synology NAS
- Synology NAS mit DSM 7.x oder höher
- Docker / Container Manager installiert
- Benutzer mit UID 1026 und GID 100 (Standard bei DSM)
Für Ugreen NAS
- Ugreen NAS mit Docker-Funktion (z. B. über Portainer)
- Benutzer mit UID 1000 und GID 100
Schritt 1: Verzeichnisstruktur vorbereiten
- Öffne auf deinem NAS den File Station.
- Navigiere zu:
/volume1/docker/ - Lege dort einen neuen Ordner namens
opsian:/volume1/docker/opsi/ - Lege darunter folgende Unterordner an:
/volume1/docker/opsi/data/volume1/docker/opsi/mysql/volume1/docker/opsi/redis/volume1/docker/opsi/grafana
Wichtig: Stelle sicher, dass diese Ordner deinem Benutzer gehören – auf Synology UID 1026 / GID 100, auf Ugreen UID 1000 / GID 100.
Schritt 2: Docker Compose-Datei erstellen
Für Synology NAS (UID 1026 / GID 100):
version: '3.8'
x-restart-policy: &restart-policy
restart: unless-stopped
x-common-variables: &common-variables
TZ: Europe/Berlin
PUID: 1026
PGID: 100
x-common-mysql-variables: &common-mysql-variables
MYSQL_DATABASE: opsi
MYSQL_USER: opsi
MYSQL_PASSWORD: eeC9ku3iejeiriSh
x-common-redis-variables: &common-redis-variables
REDIS_PASSWORD: ideeT2aeliesh4oo
x-common-grafana-variables: &common-grafana-variables
GF_SECURITY_ADMIN_USER: admin
GF_SECURITY_ADMIN_PASSWORD: shai6eeQuuQuuo0a
services:
mysql:
image: mariadb:10.7
<<: *restart-policy
command: --max_connections=1000 --max_allowed_packet=256M --sort_buffer_size=4M
environment:
<<: [*common-variables, *common-mysql-variables]
MYSQL_ROOT_PASSWORD: oareaNg6Ooz4teik
MYSQL_INITDB_SKIP_TZINFO: 1
volumes:
- /volume1/docker/opsi/mysql:/var/lib/mysql
user: "1026:100"
redis:
image: redislabs/redistimeseries:latest
<<: *restart-policy
command: sh -c "redis-server --requirepass $$REDIS_PASSWORD --loadmodule /usr/lib/redis/modules/redistimeseries.so"
environment:
<<: [*common-variables, *common-redis-variables]
volumes:
- /volume1/docker/opsi/redis:/data
user: "1026:100"
grafana:
image: grafana/grafana:latest
<<: *restart-policy
environment:
<<: [*common-variables, *common-grafana-variables]
GF_INSTALL_PLUGINS: simpod-json-datasource
GF_SERVER_ROOT_URL: "%(protocol)s://%(domain)s:%(http_port)s/grafana"
volumes:
- /volume1/docker/opsi/grafana:/var/lib/grafana
user: "1026:100"
opsi-server:
image: uibmz/opsi-server:4.3
<<: *restart-policy
depends_on:
- mysql
- redis
ports:
- "4447:4447"
- "69:69/udp"
hostname: opsi
domainname: domain.tld
environment:
<<: [*common-variables, *common-mysql-variables, *common-grafana-variables, *common-redis-variables]
MYSQL_HOST: mysql
REDIS_HOST: redis
GRAFANA_HOST: grafana
OPSI_ADMIN_PASSWORD: vhahd8usaz
OPSI_HOST_ROLE: configserver
OPSI_TFTPBOOT: "true"
OPSICONFD_GRAFANA_EXTERNAL_URL: /grafana
OPSICONFD_LOG_LEVEL: 6
OPSICONFD_LOG_LEVEL_FILE: 4
USERNAME: opsi
volumes:
- /volume1/docker/opsi/data:/data
user: "1026:100"Für Ugreen NAS (UID 1000 / GID 100):
Ändere in obiger Datei:
PUID: 1000
PGID: 100und alle user: "1026:100" zu:
user: "1000:100"Schritt 3: Projekt im Synology Container Manager erstellen
- Öffne die Docker / Container Manager App.
- Gehe zu: Projekte > Erstellen > Benutzerdefiniertes Projekt.
- Wähle:
- Projektname:
opsi - Speicherort:
/volume1/docker/opsi/
- Projektname:
- Lade dort deine
docker-compose.ymlhoch oder füge sie im Editor ein. - Klicke auf “Erstellen und starten”.
Der erste Start kann etwas länger dauern. Danach erreichst du OPSI über den Browser unter:
http://<NAS-IP>:4447
Login in OPSI
- Benutzername:
adminuser - Passwort:
vhahd8usaz(wie in der Compose-Datei gesetzt) - One Time Password: leer lassen, sofern keine Zwei-Faktor-Authentifizierung aktiviert ist
Fazit
Mit dieser Anleitung betreibst du eine vollwertige OPSI-Umgebung direkt auf deinem NAS. Ideal für Testumgebungen, Schulungsnetzwerke oder sogar kleinere produktive Szenarien.











Moin.
Installation hat soweit auf der Synology geklappt. UID und GID stimmten. Allerdings kommt nach einigen Minuten die Fehlermeldung, daß der opsi-server Container gestoppt wurde. Fehlermeldung: init_volumes:12: no matches found: /etc/opsi/*
Anscheinend kann er keine Unterordner anlegen. Hast du da eine Lösung? Die Ordner habe ich alle mit dem gleichen User angelegt, der auch die entsprechende UID und GID (1026/100) hat.
Moin,
ich vermute, einfache Lese- und Schreibrechte reichen bei dir nicht aus. Der User muss auch Eigentümer des Ordners sein, ist bei dir ggf. nicht der Fall.
Versuch bitte Folgendes auf der Synology:
Rechtsklick auf den opsi-Ordner
Eigenschaften → Permissions
Deinen User auswählen oben auf bearbeiten
Take ownership (Besitz übernehmen) aktivieren
Danach unter advanced Berechtigungen ausdrücklich machen
Rechte auf Ordner und alle Unterordner anwenden
Danach den Projekt einmal neu starten bzw. neu erstellen.
Klappt leider nicht. Habe alle Berechtigungen korrekt gesetzt. Nach deiner Anleitung. Fehlermeldung bleibt die Gleiche.
Moin,
probier bitte testweise Folgendes:
Entferne beim opsi-server in der Compose die Zeile
user: “1026:100”
und starte den Container einmal komplett neu (nicht nur Restart auch alte volumes leeren).
Wenn der Fehler danach immer noch kommt, schick einmal die kompletten Logs per Mail, wenn ich Zeit finde schaue ich mal genauer rein.