Benutzer anlegen
Im Einzelbetrieb gibt es keine Selbstregistrierung. Konten legt die Mitgliederverwaltung an. Das hat zwei Gründe: eine Registrierung würde jedes Mal eine weitere Organisation anlegen, und sie setzt einen funktionierenden Mailversand voraus — ohne den bliebe das neue Konto unbestätigt und damit dauerhaft ausgesperrt.
Ohne Mailserver (Normalfall)
- Öffne Mitglieder und klicke auf Mitglied hinzufügen.
- Wechsle im Dialog auf den Reiter Konto direkt anlegen.
- Gib Vorname, Nachname und E-Mail-Adresse ein.
- Lege ein Startpasswort fest und wiederhole es unter Startpasswort bestätigen. Es gelten dieselben Regeln wie bei der Registrierung: mindestens 8 Zeichen, Groß- und Kleinbuchstaben sowie eine Zahl.
- Wähle Rolle und Berechtigungen (siehe unten) und klicke auf Konto anlegen.
Das Konto gilt sofort als bestätigt und ist unmittelbar anmeldebereit; eine E-Mail wird nicht verschickt. Gib das Startpasswort persönlich weiter. Die Person kann es nach der Anmeldung unter Einstellungen → Konto selbst ändern — erzwungen wird das nicht.
Konten direkt anlegen können nur Administratoren. Mitglieder mit der Berechtigung „Mitglieder“ sehen den Reiter nicht, können nur einladen und dabei weder die Administrator-Rolle noch Berechtigungen vergeben, die sie selbst nicht haben.
Gibt es zu der Adresse bereits ein Konto, legt OpenEOS kein zweites an und meldet:
Zu dieser E-Mail-Adresse gibt es bereits ein Konto. Du kannst es ohne Startpasswort hinzufügen – das bisherige Passwort bleibt gültig.
Klicke dann auf Vorhandenes Konto hinzufügen. Das Konto wird mit der gewählten Rolle und den Berechtigungen in die Organisation aufgenommen; Name und Startpasswort aus dem Formular werden dabei nicht übernommen.
Der Reiter Einladen verschickt eine E-Mail mit einem Link, über den die Einladung angenommen wird. Ohne Mailversand kommt dieser Link nicht an — nutze dann Konto direkt anlegen.
Rolle und Berechtigungen
In beiden Reitern wählst du:
- den Schalter Administrator — darf alles in der Organisation
- ohne den Schalter ein Mitglied — sieht nur die Module, die du unter Berechtigungen einzeln freischaltest (Produkte, Veranstaltungen, Geräte, Mitglieder, Schichtpläne, Rabatt-Bons, Pfand, Auswertung, Inventur)
Für Helfer an der Kasse genügt in der Regel ein Mitglied ohne besondere Berechtigungen — die Kasse selbst läuft ohnehin über ein gekoppeltes Gerät, nicht über ein Benutzerkonto.
Mit eigenem Mailserver
Ist ein Mailserver vorhanden, funktionieren zusätzlich Einladungen per
E-Mail (Reiter Einladen im Dialog Mitglied hinzufügen),
„Passwort vergessen“ und die Anmeldung per zugesandtem Link. Ergänze die
.env und starte den Server neu:
EMAIL_ENABLED=true
EMAIL_HOST=smtp.example.com
EMAIL_PORT=587
EMAIL_PASSWORD=...
EMAIL_FROM_NAME=OpenEOS Musikverein
Diese Werte gehören zusätzlich in den environment:-Block des Dienstes api
in der docker-compose.yml, sonst erreichen sie den Container nicht.
sudo docker compose up -d --force-recreate api
Sobald EMAIL_ENABLED=true gesetzt ist, verschickt OpenEOS auch tatsächlich
Mails — an die hinterlegten Adressen. Wenn du bis dahin mit erfundenen
Adressen wie [email protected] gearbeitet hast, laufen diese Zustellungen
ins Leere. Das ist harmlos, aber die Funktion „Passwort vergessen“ hilft
diesen Konten dann nicht weiter.
Wenn du dich ausgesperrt hast
Nach fünf Fehlversuchen sperrt OpenEOS ein Konto für 15 Minuten. Warten genügt.
Ist das Administrator-Passwort verloren und kein Mailversand eingerichtet, hilft nur der direkte Weg über die Datenbank. Ein neues Passwort setzt du so — der Hash wird dabei im Container erzeugt, das Klartextpasswort landet nicht in der Datenbank:
# 1. Hash für das neue Passwort erzeugen
sudo docker compose exec api node -e \
"console.log(require('bcrypt').hashSync('NeuesPasswort123', 12))"
# 2. Den ausgegebenen Hash eintragen
sudo docker compose exec postgres psql -U openeos -d openeos -c \
"UPDATE users SET password_hash='<HASH>', failed_login_attempts=0,
locked_until=NULL WHERE email='[email protected]';"
Ist ein Konto unbestätigt und kommt keine Mail an, genügt:
sudo docker compose exec postgres psql -U openeos -d openeos -c \
"UPDATE users SET email_verified_at=now() WHERE email='...';"