Zum Hauptinhalt springen

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)​

  1. Öffne Mitglieder und klicke auf Mitglied hinzufügen.
  2. Wechsle im Dialog auf den Reiter Konto direkt anlegen.
  3. Gib Vorname, Nachname und E-Mail-Adresse ein.
  4. 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.
  5. 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.

Einladen ohne Mailserver

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
Vorsicht bei der Umstellung

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='...';"