timothepoznanski/poznote has 1,024 GitHub stars and 51 forks. GitHot measured +3 stars in 24 hours. Last checked 2026-11-10 02:29 UTC. Last push 2026-11-05.
So werden diese Zahlen gemessen
Powerful note-taking without the hassle.
Gemessener Sternzuwachs
- in 24h
- +3
- in 7 days
- Aktualisierung verzögert
- in 15 days
- Aktualisierung verzögert
- in 1 month
- Aktualisierung verzögert
Nettoänderungen in überlappenden Zeiträumen, keine Tagessummen. Fehlende Messwerte bleiben leer. Sterne zeigen Interesse, nicht Qualität.
docs/README.de.md
OriginalEnglish · Français · Deutsch · Español · Português · Русский · 简体中文 · 한국어 · 日本語 · Català
Leistungsstarke Notizen ohne Aufwand.
Eine kostenlose, selbst gehostete Open-Source-Alternative zu Notion, Obsidian, Evernote oder OneNote.
Funktionen
Alle Funktionen finden Sie hier.
Screenshots
Alle Screenshots sehen Sie hier.
Demo
Benutzername: poznote
Passwort: poznote
Sie möchten keinen Server verwalten?
Ein Hosting-Anbieter kann Poznote für Sie betreiben.
Anbieter vergleichen oder direkt bereitstellen:
Poznote in den Medien
https://poznote.com/press.html
Discord
Treten Sie der Community bei, um Fragen zu stellen, Feedback zu geben oder die Entwicklung zu verfolgen:
Inhaltsverzeichnis
- Installation
- Zugriff
- Einstellungen ändern
- Anwendung aktualisieren
- Authentifizierung
- App-Passwörter
- Notiztypen
- Versionen
- Personalisierung
- Mehrbenutzerbetrieb
- Teilen und Zusammenarbeit
- Schnellwahl
- Aktivitätsprotokoll
- Webhooks
- Git-Synchronisierung
- S3-Speicher für Anhänge
- Sicherung / Export
- Wiederherstellen / Importieren
- Offline
- Mehrere Instanzen
- KI-Assistent
- Transkription (Sprache zu Text)
- MCP-Server
- Apps
- Chrome-Erweiterung
- Unter Android an Poznote teilen
- API-Dokumentation
- Technologie-Stack
Installation
Das offizielle Image ist Multi-Arch (linux/amd64, linux/arm64) und unterstützt Windows/macOS über Docker Desktop sowie ARM64-Geräte wie Raspberry Pi, NAS-Systeme usw.
Wählen Sie unten Ihre bevorzugte Installationsmethode:
🖥️ Windows
Schritt 1: Voraussetzung
Installieren und starten Sie Docker Desktop
Schritt 2: Poznote bereitstellen
Erstellen Sie ein neues Verzeichnis:
mkdir poznote
Wechseln Sie in das Poznote-Verzeichnis:
cd poznote
Erstellen Sie die Umgebungsdatei:
curl -o .env https://raw.githubusercontent.com/timothepoznanski/poznote/main/.env.template
Bearbeiten Sie die Datei .env:
notepad .env
Laden Sie die Docker-Compose-Konfigurationsdatei herunter:
curl -o docker-compose.yml https://raw.githubusercontent.com/timothepoznanski/poznote/main/docker-compose.yml
Laden Sie die neuesten Images für den Poznote-Webserver und Poznote MCP herunter:
docker compose pull
Starten Sie die Poznote-Container:
docker compose up -d
🐧 Linux
Schritt 1: Voraussetzung
- Installieren Sie die Docker Engine
- Installieren Sie Docker Compose
Schritt 2: Poznote installieren
Erstellen Sie ein neues Verzeichnis:
mkdir poznote
Wechseln Sie in das Poznote-Verzeichnis:
cd poznote
Erstellen Sie die Umgebungsdatei:
curl -o .env https://raw.githubusercontent.com/timothepoznanski/poznote/main/.env.template
Bearbeiten Sie die Datei .env:
vi .env
Laden Sie die Docker-Compose-Konfigurationsdatei herunter:
curl -o docker-compose.yml https://raw.githubusercontent.com/timothepoznanski/poznote/main/docker-compose.yml
Laden Sie die neuesten Images für den Poznote-Webserver und Poznote MCP herunter:
docker compose pull
Starten Sie die Poznote-Container:
docker compose up -d
🍎 macOS
Schritt 1: Voraussetzung
Installieren und starten Sie Docker Desktop
Schritt 2: Poznote bereitstellen
Erstellen Sie ein neues Verzeichnis:
mkdir poznote
Wechseln Sie in das Poznote-Verzeichnis:
cd poznote
Laden Sie die Umgebungsdatei herunter:
curl -o .env https://raw.githubusercontent.com/timothepoznanski/poznote/main/.env.template
Bearbeiten Sie die Datei .env:
vi .env
Laden Sie die Docker-Compose-Konfigurationsdatei herunter:
curl -o docker-compose.yml https://raw.githubusercontent.com/timothepoznanski/poznote/main/docker-compose.yml
Laden Sie die neuesten Images für den Poznote-Webserver und Poznote MCP herunter:
docker compose pull
Starten Sie die Poznote-Container:
docker compose up -d
☁️ Cloud
Sie möchten keinen Server verwalten? Ein Hosting-Anbieter kann Poznote für Sie betreiben und online halten. Die verfügbaren Anbieter und wie Sie zwischen ihnen wählen, finden Sie hier.
🗄️ Proxmox VE
Auf einem Proxmox-VE-Host installiert das Projekt Proxmox VE Community Scripts Poznote mit einem einzigen Befehl in einem eigenen Container, ganz ohne Docker: Es erstellt einen unprivilegierten Debian-13-LXC (standardmäßig 1 vCPU, 512 MB RAM und 4 GB Festplatte) und stellt Poznote darin über nginx und PHP bereit.
Führen Sie dies in der Shell des Proxmox-Hosts aus:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/poznote.sh)"
Poznote ist dann unter http://<container-ip>:8040 erreichbar, mit denselben Standard-Zugangsdaten wie bei jeder anderen Installation. Um später zu aktualisieren, führen Sie update in der Konsole des Containers aus.
Dieses Skript wird von der Community geschrieben und gepflegt, nicht von Poznote. Optionen und Hinweise finden Sie auf der Seite des Poznote-Skripts.
☸️ Kubernetes mit Helm
Schritt 1: Voraussetzung
Installieren Sie Helm und stellen Sie sicher, dass Ihr Kubernetes-Kontext auf den Cluster zeigt, in dem Sie Poznote bereitstellen möchten.
Schritt 2: Poznote bereitstellen
Fügen Sie das HelmForge-Chart-Repository hinzu:
helm repo add helmforge https://repo.helmforge.dev
Aktualisieren Sie Ihren lokalen Chart-Index:
helm repo update
Installieren Sie Poznote:
helm install poznote helmforge/poznote --namespace poznote --create-namespace
Das Poznote-Helm-Chart wird von der HelmForge-Community als Kubernetes-native Installationsoption gepflegt. Werte, Persistenz, Service-Freigabe, Probes, Security Contexts und weitere produktionsrelevante Einstellungen sind in der Dokumentation des HelmForge-Charts für Poznote beschrieben.
🔒 Rootless
Poznote liefert außerdem eine Rootless-Variante des Images, die vollständig als unprivilegierter Benutzer (uid/gid 1000) statt als root läuft. Sie ist für Umgebungen gedacht, die root in Containern verbieten (Kubernetes mit restriktivem PodSecurityStandard, rootless Podman, docker run --user usw.). Sie funktioniert genau wie das Standard-Image, mit nur zwei Unterschieden: Sie lauscht intern auf Port 8080 und kann die Eigentümerschaft Ihres Datenverzeichnisses beim Start nicht selbst korrigieren.
Schritt 1: Voraussetzung
- Installieren Sie die Docker Engine
- Installieren Sie Docker Compose
Schritt 2: Poznote bereitstellen
Erstellen Sie ein neues Verzeichnis:
mkdir poznote
Wechseln Sie in das Poznote-Verzeichnis:
cd poznote
Erstellen Sie das Datenverzeichnis und übertragen Sie die Eigentümerschaft an uid/gid 1000 (erforderlich: Anders als das Standard-Image kann der Rootless-Container diese Eigentümerschaft beim Start nicht selbst korrigieren):
mkdir -p data
sudo chown -R 1000:1000 data
sudo ist hier oft nicht nötig: Wenn Ihr Benutzer bereits die uid 1000 hat, können Sie chown überspringen, und unter rootless Podman/Docker funktioniert es auch ohne root, siehe Rootless-Betrieb.
Erstellen Sie die Umgebungsdatei:
curl -o .env https://raw.githubusercontent.com/timothepoznanski/poznote/main/.env.template
Bearbeiten Sie die Datei .env:
vi .env
Laden Sie die Rootless-Docker-Compose-Konfigurationsdatei herunter:
curl -o docker-compose.rootless.yml https://raw.githubusercontent.com/timothepoznanski/poznote/main/docker-compose.rootless.yml
Laden Sie die neuesten Rootless-Images für den Poznote-Webserver und Poznote MCP herunter:
docker compose -f docker-compose.rootless.yml pull
Starten Sie die Poznote-Container:
docker compose -f docker-compose.rootless.yml up -d
Wie Sie eine bestehende Poznote-Instanz auf die Rootless-Variante umstellen und weitere Details finden Sie unter Rootless-Betrieb im Leitfaden zur Fehlerbehebung.
Falls bei der Installation Probleme auftreten, lesen Sie den Leitfaden zur Fehlerbehebung.
Zugriff
Rufen Sie Poznote nach der Installation in Ihrem Webbrowser auf:
- Benutzername:
admin_change_me - Passwort:
admin - Port:
8040
Benennen Sie das Standard-Administratorkonto um und ändern Sie das Standardpasswort nach der ersten Anmeldung.
Einstellungen ändern
Die meisten alltäglichen Einstellungen ändern Sie in der Poznote-Oberfläche. Die Datei .env ist nur für Bereitstellungs- und Laufzeitwerte gedacht, die beim Start der Container gelesen werden.
Verwenden Sie die Datei .env für
HTTP_WEB_PORTPOZNOTE_OIDC_CLIENT_IDPOZNOTE_OIDC_CLIENT_SECRETPOZNOTE_OIDC_DISABLE_NORMAL_LOGIN- Optionale Laufzeit-Überschreibungen wie
POZNOTE_MCP_PORTundPOZNOTE_DEBUG POZNOTE_PHP_FPM_MAX_CHILDREN, um auf einer stark ausgelasteten Instanz die Anzahl gleichzeitiger PHP-Anfragen zu ändern (Standard 10), siehe Leitfaden zur FehlerbehebungPOZNOTE_PHP_MEMORY_LIMIT, um das PHP-Speicherlimit pro Anfrage in MB zu ändern (Standard 512), siehe Leitfaden zur FehlerbehebungPOZNOTE_LISTEN_PORT, um den Port zu ändern, auf dem der Webserver im Container lauscht (Standard 80), nur mitnetwork_mode: hostnötig, siehe Leitfaden zur FehlerbehebungPOZNOTE_SETTINGS_PASSWORD, um vor dem Öffnen der Einstellungsseite ein zusätzliches Passwort abzufragen, standardmäßig leerPOZNOTE_MCP_AUTH_TOKEN, um von MCP-Clients ein Bearer-Token zu verlangen, siehe MCP-Server
Verwenden Sie die Oberfläche für
- Administrative und globale Einstellungen wie OIDC-Anbietereinstellungen, Aktivierung der Git-Synchronisierung, Importlimits und das Hochladen von benutzerdefiniertem CSS
- Benutzer- und Profileinstellungen wie Passwörter lokaler Konten, Design, Schriftgrößen, Sortierung der Notizen, Hintergrund des Arbeitsbereichs und ausgeblendete Oberflächenelemente
Systemeinstellungen ändern (.env)
Wechseln Sie in Ihr Poznote-Verzeichnis:
cd poznote
Stoppen Sie die laufenden Poznote-Container:
docker compose down
Bearbeiten Sie Ihre Datei .env mit einem Texteditor Ihrer Wahl (z. B. nano .env oder notepad .env).
Speichern Sie die Datei und starten Sie die Container erneut, um die Änderungen zu übernehmen:
docker compose up -d
Anwendung aktualisieren
Wechseln Sie in Ihr Poznote-Verzeichnis:
cd poznote
Stoppen Sie die laufenden Container vor der Aktualisierung:
docker compose down
Laden Sie die neueste Docker-Compose-Konfiguration herunter:
curl -o docker-compose.yml https://raw.githubusercontent.com/timothepoznanski/poznote/main/docker-compose.yml
Laden Sie die neueste .env.template herunter:
curl -o .env.template https://raw.githubusercontent.com/timothepoznanski/poznote/main/.env.template
Vergleichen Sie .env.template mit sdiff und ergänzen Sie bei Bedarf neue Variablen in Ihrer Datei .env:
sdiff .env .env.template
Laden Sie die neuesten Images für den Poznote-Webserver und Poznote MCP herunter:
docker compose pull
Starten Sie die aktualisierten Container:
docker compose up -d
Ihre Daten bleiben im Verzeichnis ./data erhalten und sind von der Aktualisierung nicht betroffen.
Beta-Versionen
Beta-Versionen bringen neue Funktionen, bevor sie als stabile Version erscheinen, und sind auf der Release-Seite als Vorabversionen aufgeführt. Sie werden unter dem Tag latest-and-beta veröffentlicht, das immer auf die neueste Version zeigt, ob Beta oder stabil.
Um sie zu verwenden, ändern Sie die beiden image-Zeilen Ihrer docker-compose.yml und lassen den Rest der Datei unverändert:
services:
webserver:
image: ghcr.io/timothepoznanski/poznote:latest-and-beta
...
mcp-server:
image: ghcr.io/timothepoznanski/poznote-mcp:latest-and-beta
...
Bei der Rootless-Variante wird das Webserver-Image in docker-compose.rootless.yml zu poznote:latest-and-beta-rootless, das MCP-Image bleibt dasselbe: poznote-mcp:latest-and-beta.
Laden Sie die Images herunter und starten Sie die Container neu:
docker compose pull
docker compose up -d
- Vor dem Wechsel: Eine Beta kann noch Fehler enthalten, erstellen Sie daher zuerst ein Backup. Probleme können in den GitHub-Issues oder auf Discord gemeldet werden.
- Aktualisierungen: Jedes
docker compose pullholt danach die neueste Beta oder, sobald sie erschienen ist, die stabile Version. Die obige Anleitung zur Aktualisierung lädt eine neuedocker-compose.ymlherunter, die wieder die stabilen Tags verwendet, ändern Sie daher die beidenimage-Zeilen nach diesem Schritt erneut. - Zurück zur stabilen Version: Da eine Beta die Datenbank ändern kann, funktioniert die Rückkehr zu einer älteren stabilen Version möglicherweise nicht. Warten Sie auf die nächste stabile Version, die die Änderungen der Beta enthält, und folgen Sie dann der obigen Anleitung zur Aktualisierung.
Authentifizierung
Poznote unterstützt mehrere Authentifizierungsmethoden, darunter lokale Konten und externe Identitätsanbieter. Apps und Erweiterungen, die mit der REST-API kommunizieren, verwenden App-Passwörter, eine eigene Art von Zugangsdaten, die im nächsten Abschnitt beschrieben wird.
Authentifizierung mit lokalen Konten
Poznote authentifiziert Benutzer anhand ihres Profils mit einem Benutzernamen oder einer E-Mail-Adresse und einem Passwort.
Standardkonto
Bei einer Neuinstallation legt Poznote ein aktives Administratorprofil an:
- Benutzername:
admin_change_me - Passwort:
admin
Ändern Sie das Standardpasswort und benennen Sie das Konto nach der ersten Anmeldung um.
Passwortverwaltung
Passwörter werden über die Poznote-Weboberfläche verwaltet, nicht über .env:
- Benutzer können ihr eigenes Passwort unter Einstellungen > Passwort ändern ändern.
- Administratoren können unter Einstellungen > Admin-Werkzeuge > Benutzerverwaltung für jeden Benutzer ein eigenes Passwort festlegen oder es auf den Standardwert zurücksetzen.
- Die Option 30 Tage merken hält die Sitzung 30 Tage lang aufrecht.
- Eine Passwortänderung macht die bestehenden „Merken“-Cookies dieses Benutzers ungültig.
Zwei-Faktor-Authentifizierung
Jeder Benutzer kann die Zwei-Faktor-Authentifizierung (TOTP) unter Settings > Two-factor authentication aktivieren. Nach dem Passwort verlangt das Anmeldeformular dann einen 6-stelligen Code aus einer Authenticator-App (Aegis, Google Authenticator, 1Password, Bitwarden...).
- Die Einrichtung zeigt einen im Browser gezeichneten QR-Code und zehn einmalig verwendbare Wiederherstellungscodes, die für den Fall eines verlorenen Telefons aufzubewahren sind.
- Sie schützt die Anmeldung mit Passwort. Eine SSO-Anmeldung bleibt Sache des Identitätsanbieters und seines eigenen zweiten Faktors.
- Solange sie aktiv ist, akzeptiert die REST-API das Kontopasswort allein nicht mehr: Geben Sie Clients ein App-Passwort oder senden Sie den aktuellen Code im Header
X-Poznote-OTP. - Ein Administrator kann sie für einen Benutzer deaktivieren, der sowohl sein Gerät als auch seine Wiederherstellungscodes verloren hat, unter Settings > Admin Tools > User Management (Passwortdialog).
- Ein Administrator kann sie unter Settings > Admin Tools > Require two-factor für jedes Konto, das sich mit einem Passwort anmeldet, verpflichtend machen. Ein Konto ohne sie richtet sie bei der nächsten Anmeldung ein (QR-Code und erster Code auf der Anmeldeseite), ohne sie geöffnete Sitzungen werden beendet, und der Inhaber kann sie nicht mehr deaktivieren. SSO-Anmeldungen sind nicht betroffen.
- Das Aktivieren oder Deaktivieren macht bestehende Remember-me-Cookies dieses Benutzers ungültig.
Standardpasswörter
- Administratorkonten:
admin - Standardbenutzerkonten:
user
Solange ein Benutzer sein Passwort noch nicht geändert hat, gilt der oben genannte Standardwert. Sobald ein Passwort über die Oberfläche geändert wurde, wird ein sicherer bcrypt-Hash in der Datenbank gespeichert, der Vorrang hat.
OIDC-/SSO-Authentifizierung (optional)
Poznote unterstützt OpenID Connect (Authorization Code + PKCE) für Single Sign-on. Damit können sich Benutzer über externe Identitätsanbieter wie Auth0, Keycloak, Azure AD oder Google Identity anmelden.
Funktionsweise
- Ist OIDC aktiviert, zeigt die Anmeldeseite eine Schaltfläche
Weiter mit [Anbietername]an. - Benutzer authentifizieren sich über den OIDC-Authorization-Code-Flow, abgesichert durch PKCE.
- Der Zugriff lässt sich über erlaubte Gruppen und bei Bedarf über eine ältere Liste erlaubter Benutzer einschränken.
- Nach der Authentifizierung verknüpft Poznote die Identität über
sub(oidc_subject), dann über eine verifizierte E-Mail (von einem Admin gesetzt oder vom Anbieter synchronisiert, Groß-/Kleinschreibung egal). Ein bestehendes Profil wird nie über seinen Benutzernamen verknüpft: Damit es bei der ersten SSO-Anmeldung verknüpft wird, trage in Settings > Admin Tools > User Management die E-Mail ein, die der Anbieter sendet, oder füge seinen OIDC-Subject ein. Eine abgelehnte erste Anmeldung schreibt den einzufügenden Subject ins Log. - Ist das automatische Anlegen von Benutzern aktiviert und passt kein Profil, legt Poznote automatisch eines an. Ein solches Profil hat überhaupt kein Passwort: Es hat nie die Übergabe der initialen Zugangsdaten durchlaufen, die ein Administrator beim Anlegen eines Kontos vornimmt, und reagiert daher nicht auf das Standardpasswort. Die Anmeldung erfolgt über den Anbieter, oder ein Administrator legt unter Einstellungen > Admin-Werkzeuge > Benutzerverwaltung ein ausdrückliches Passwort fest.
- Mit
POZNOTE_OIDC_DISABLE_NORMAL_LOGIN=truewird das Formular für Benutzername und Passwort ausgeblendet, und die Anmeldeseite erlaubt nur noch SSO. - Bei aktiviertem OIDC können sich REST-API-Clients mit
Authorization: Bearer <OIDC JWT>authentifizieren. Poznote prüft dabei die JWKS des Anbieters, den Aussteller, das Ablaufdatum, die Audience und die konfigurierten Zugriffsbeschränkungen. - Clients, die überhaupt keinen OIDC-Flow durchlaufen können (Browsererweiterung, mobile App, Skripte), verwenden stattdessen ein App-Passwort, das jeder Benutzer in seinen eigenen Einstellungen erstellt.
- Die Zwei-Faktor-Authentifizierung gilt nur für das Passwortformular: Eine SSO-Anmeldung fragt nie nach dem Poznote-Code. Verlangen Sie den zweiten Faktor stattdessen im Identitätsanbieter. Ein Benutzer mit Passwort und SSO-Identität behält beide Zugänge, und der Zugang über SSO ist nur so stark wie die Richtlinie des Anbieters.
Konfiguration
OIDC wird in der Administrationsoberfläche konfiguriert: Öffnen Sie Einstellungen > Admin-Werkzeuge > OIDC / SSO.
Die meisten Einstellungen (Aktivierung, Aussteller, Anbietername, Scopes, Zugriffskontrolle, erlaubte Gruppen/Benutzer, automatisches Anlegen von Benutzern, Verhalten von HTTP Basic Auth usw.) werden auf dieser Seite verwaltet und in der Datenbank gespeichert.
Für die Bearer-JWT-Authentifizierung an der REST-API konfigurieren Sie JWT-Audience der API, wenn Ihr Anbieter Access Tokens für eine eigene API-Audience ausstellt. Ist das Feld leer, akzeptiert Poznote die konfigurierte OIDC-Client-ID als JWT-Audience.
Die folgenden Einstellungen verbleiben in der Datei .env:
POZNOTE_OIDC_CLIENT_ID=your_client_id
POZNOTE_OIDC_CLIENT_SECRET=your_client_secret
POZNOTE_OIDC_DISABLE_NORMAL_LOGIN=false
Verwenden Sie POZNOTE_OIDC_DISABLE_NORMAL_LOGIN=true, wenn Sie das lokale Formular für Benutzername und Passwort ausblenden und nur die Anmeldung per SSO zulassen möchten. Dies ist der einzige Schalter, der die Passwort-Authentifizierung sperrt: Er entfernt das Formular, lehnt Passwort-POSTs serverseitig ab und blendet die Einstellung „Passwort ändern“ aus.
Wiederherstellung nach einem Ausfall des Identitätsanbieters. Nur SSO bedeutet genau das: Solange
POZNOTE_OIDC_DISABLE_NORMAL_LOGIN=truegesetzt ist, kann sich niemand mit einem Passwort anmelden, auch keine Administratoren, und es gibt keinen Notausgang im Browser. Das ist Absicht, denn so kann ein Angreifer, der ein Administratorkonto übernommen hat, die Passwort-Anmeldung nicht wieder aktivieren, um sich dauerhaften Zugang zu verschaffen. Für die Wiederherstellung ist Serverzugriff nötig: Setzen SiePOZNOTE_OIDC_DISABLE_NORMAL_LOGIN=falsein.env, starten Sie den Container neu und melden Sie sich mit einem lokalen Passwort an. Stellen Sie vor dem Aktivieren von Nur-SSO sicher, dass mindestens ein Administratorkonto ein ausdrücklich festgelegtes Passwort hat (Einstellungen > Admin-Werkzeuge > Benutzerverwaltung), sonst hilft auch das Zurücksetzen des Schalters nicht. Beachten Sie, dass ein automatisch per OIDC angelegtes Administratorprofil kein Passwort hat, solange keines festgelegt wurde.
Inkompatible Änderung: Frühere OIDC-Einstellungen in
.envwerden nicht mehr gelesen, mit Ausnahme vonPOZNOTE_OIDC_CLIENT_ID,POZNOTE_OIDC_CLIENT_SECRETundPOZNOTE_OIDC_DISABLE_NORMAL_LOGIN. Geben Sie die übrigen OIDC-Einstellungen nach dem Upgrade auf der Administrationsseite erneut ein.
URLs, die beim Identitätsanbieter einzutragen sind
Wenn Sie die Anwendung (den Client) bei Ihrem Identitätsanbieter anlegen, tragen Sie die erste URL unten als Redirect-URI (auch Callback-URL genannt) ein und die zweite als Post-Logout-Redirect-URI, falls Ihr Anbieter danach fragt:
https://YOUR_SERVER/oidc_callback.php
https://YOUR_SERVER/login.php
Poznote bildet beide aus dem Hostnamen, über den die Anfrage eintrifft, immer mit https://. Braucht Ihr Anbieter etwas anderes, setzen Sie Redirect-URI oder Post-Logout-Redirect-URI im Abschnitt Erweitert der OIDC-Administrationsseite und tragen Sie genau diesen Wert ein.
Die Discovery-URL muss in der Regel nicht ausgefüllt werden: Poznote hängt /.well-known/openid-configuration an die Issuer-URL an. Bei Authentik lautet der Issuer zum Beispiel https://AUTHENTIK_HOST/application/o/APPLICATION_SLUG/. Setzen Sie Discovery-URL nur, wenn Ihr Anbieter dieses Dokument an anderer Stelle veröffentlicht.
Beispiel für Zugriffskontrolle (Gruppen + automatisches Anlegen)
Konfigurieren Sie auf der OIDC-Administrationsseite:
- Groups-Claim:
groups - Erlaubte Gruppen:
poznote - Benutzerprofile bei der ersten OIDC-Anmeldung automatisch erstellen: aktiviert
Ist das automatische Anlegen aktiviert, erzeugt Poznote einen Benutzernamen aus den OIDC-Claims (preferred_username, nickname, lokaler Teil der E-Mail-Adresse, name, dann sub) und speichert das OIDC-Subject im angelegten Profil. Trägt ein bestehendes Profil, das sich noch nie per SSO angemeldet hat, bereits diesen preferred_username, wird die Anmeldung abgelehnt, statt daneben ein zweites Profil anzulegen: Trage bei diesem Profil die E-Mail ein, die der Anbieter sendet, oder seinen OIDC-Subject, damit es verknüpft wird.
App-Passwörter
Apps können sich nicht wie ein Browser über einen Identitätsanbieter anmelden. Ein App-Passwort ist eine eigene Zugangsinformation, die Sie für genau einen Client erstellen (die Browsererweiterung, ein Smartphone, ein Skript) und jederzeit widerrufen können, sodass Sie nie Ihr Kontopasswort herausgeben müssen.
Erstellen Sie eines unter Einstellungen > App-Passwörter: Geben Sie ihm einen Namen, optional ein Ablaufdatum, und kopieren Sie das erzeugte Geheimnis. Es wird nur ein einziges Mal angezeigt. Geben Sie dann im Client Ihren üblichen Benutzernamen und dort, wo ein Passwort verlangt wird, das App-Passwort ein. Es wird als gewöhnliche HTTP Basic Auth übertragen, sodass jeder vorhandene Client unverändert funktioniert:
curl -u 'username:pzn_2f7c…' https://YOUR_SERVER/api/v1/notes
Ein App-Passwort erreicht nur die REST-API, und nur für sein eigenes Profil: Es kann weder die Weboberfläche öffnen noch einen Admin-Endpunkt aufrufen, Ihr Passwort ändern oder Ihr Konto verwalten, selbst wenn das Konto Administrator ist. Ein kompromittiertes App-Passwort legt daher die Notizen eines einzigen Kontos offen und nichts weiter, und mit dem Widerruf ist die Lücke geschlossen. Auf einer Nur-SSO-Instanz, auf der per OIDC angelegte Konten gar kein Passwort haben, ist es die einzige Zugangsinformation, die die API über Basic Auth akzeptiert.
Die vollständige Liste der Einschränkungen und die Endpunkte zur Verwaltung der App-Passwörter finden Sie in der REST-API-Dokumentation.
Notiztypen
Poznote unterstützt zwei Hauptformate für Notizen, die jeweils auf unterschiedliche Arbeitsweisen zugeschnitten sind.
Rich-Text-Notizen
- Editor: Direkte WYSIWYG-Bearbeitung (What You See Is What You Get).
- Speicherung: Als
.html-Dateien im Datenverzeichnis des Benutzers gespeichert. Da es sich um Standard-HTML handelt, lassen sie sich direkt in jedem Webbrowser öffnen. - Exklusive Funktionen:
- Umfangreiche Formatierung: Native Unterstützung für Textfarben, Hervorhebungen und Standard-HTML-Elemente.
- Interaktive Oberfläche: Elemente lassen sich direkt im Editor bearbeiten.
Markdown-Notizen
- Editor: Editor für Markdown-Syntax mit Echtzeit-Vorschau.
- Speicherung: Als
.md-Dateien im Datenverzeichnis des Benutzers gespeichert. - Exklusive Funktionen:
- Mermaid-Diagramme: Native Unterstützung für die Erzeugung von Diagrammen (Flussdiagramme, Sequenzdiagramme usw.) über
```mermaid-Codeblöcke. - Mathematische Formeln: Zuverlässige LaTeX-Unterstützung für mathematische Formeln mit der Syntax
$ inline $und$$ block $$. - Portabilität: Standard-Markdown-Format, kompatibel mit jedem externen Editor oder Static-Site-Generator.
- Mermaid-Diagramme: Native Unterstützung für die Erzeugung von Diagrammen (Flussdiagramme, Sequenzdiagramme usw.) über
Aufgabenlisten
- Verwendung: Verwalten Sie Aufgaben und Projekte mit interaktiven Checklisten.
- Arbeitsablauf: Verfolgen Sie den Fortschritt mit Kontrollkästchen, die sich direkt im Editor oder in der Notizliste abhaken lassen. Ein Fortschrittsbalken zeigt, wie weit jede Liste erledigt ist.
- Aufgabenoptionen: Jede Aufgabe kann ein Fälligkeitsdatum mit optionaler Uhrzeit, eine Erinnerung, die zum Fälligkeitszeitpunkt ausgelöst wird, und eine Priorität (hoch, mittel oder niedrig, in Rot, Orange oder Grün) erhalten und lässt sich in eine andere Liste verschieben.
- Aufgaben-Seite: Eine eigene Seite Aufgaben, die Sie über die linke Symbolleiste öffnen, sammelt an einem Ort alle Aufgaben Ihrer Aufgabenlisten und auf Wunsch auch die Kontrollkästchen in gewöhnlichen Notizen. Sie bietet Statusfilter (Offen, Priorität, Überfällig, Mit Datum, Erledigt), einen Textfilter und eine Kalenderansicht der Aufgaben mit Fälligkeitsdatum. Eine Aufgabenliste oder die Kontrollkästchen einer Notiz lassen sich mit der Augen-Schaltfläche in ihrer Kopfzeile auf der Seite ausblenden und mit Ausgeblendete Listen anzeigen wieder einblenden. Diese Auswahl wird in Ihrem Konto gespeichert und gilt daher auf allen Ihren Geräten.
- Öffentliche Zusammenarbeit: Aufgabenlisten können über eine öffentliche URL geteilt werden. Wurden Bearbeitungsrechte vergeben, können externe Mitwirkende Einträge abhaken, ohne ein Poznote-Konto zu benötigen.
Verknüpfungen
- Funktion: Erstellt an einem anderen Ort einen Verweis auf eine bestehende Notiz.
- Anwendungsfall: Eine Notiz kann so an zwei Stellen gleichzeitig referenziert werden. Beispielsweise kann eine Notiz in einem Ablageordner liegen, während ihre Verknüpfung auf einem Kanban-Board zur aktiven Nachverfolgung erscheint.
Vorlagen
- Funktion: Verwenden Sie vorformulierte Inhalte wieder, um Ihre Dokumentation zu vereinheitlichen, von der vollständigen Notiz bis zum kurzen Textbaustein.
- Einrichtung: Legen Sie die Notizen, die Sie wiederverwenden möchten, in einen Ordner namens
Templates(Unterordner sind erlaubt). Ein Arbeitsbereich namensTemplatesfunktioniert ebenfalls und steht in jedem Arbeitsbereich zur Verfügung. Der Name wird auch in der Sprache der Oberfläche erkannt (Modèles,Vorlagen,Plantillas,Modelos,Шаблоны,模板,템플릿,テンプレート). - In eine Notiz einfügen: Tippen Sie in einer Rich-Text- oder Markdown-Notiz
/template(oder/gefolgt vom Titel der Vorlage) und wählen Sie eine Vorlage aus: Ihr Inhalt wird an der Cursorposition eingefügt und umgewandelt, falls Vorlage und Notiz nicht vom selben Typ sind. - Neue Notiz aus einer Vorlage: Duplizieren Sie die Vorlagennotiz, oder duplizieren Sie einen ganzen
Templates-Ordner, um ein Projekt mit einer fertigen Ordnerstruktur zu beginnen.
Tägliche Notizen (Tagebuch)
- Verwendung: Schreiben Sie wie in einem Tagebuch eine Notiz pro Tag, über ein eigenes Tagebuch-Board.
- Arbeitsablauf: Die Schaltfläche „Heutigen Eintrag erstellen“ legt die Notiz des heutigen Tages an (sobald sie existiert, heißt sie „Zum heutigen Eintrag“). Sie trägt das aktuelle Datum als Titel und wird automatisch in einer Ordnerstruktur
Diary/YYYY/MMabgelegt. - Ein anderer Tag: Die Kalender-Schaltfläche neben den Ansichtsoptionen wählt einen beliebigen Tag aus, auch auf dem Smartphone. Tage mit einem Eintrag sind mit einem Punkt markiert; die Auswahl eines solchen Tages öffnet seinen Eintrag, jeder andere Tag erhält einen neuen Eintrag mit diesem Datum.
- Board-Ansicht: Einträge werden als Karten angezeigt, nach Monat gruppiert und die neuesten zuerst, mit einem Filter, um frühere Einträge schnell zu finden.
- Journalansicht: Die Schriftrollen-Schaltfläche neben den Ansichtseinstellungen wechselt zu einer einzigen Lesespalte: jeder Eintrag mit seinem vollständigen Inhalt, die neuesten zuerst, nachgeladen beim Scrollen. Der Filter wirkt auch hier. Ein Klick auf einen Eintrag oder seinen Stift bearbeitet ihn direkt an Ort und Stelle; Änderungen werden beim Tippen gespeichert. Die Tag-Schaltfläche neben dem Stift macht die Tags des Eintrags bearbeitbar: Tags hinzufügen oder entfernen, ohne die Notiz zu öffnen.
- Format: Neue Einträge werden als Rich-Text- oder Markdown-Notizen angelegt, je nach der Einstellung „Format der Tagebucheinträge“ unter Einstellungen > Verhalten.
Versionen
Versionen bewahren frühere Stände des Inhalts einer Notiz samt Titel und Tags auf, sodass Sie sie mit der aktuellen Notiz vergleichen und zu einem früheren Stand zurückkehren können. Das Verlaufssymbol in der Symbolleiste der Notiz öffnet die Seite Versionen der Notiz.
Die Seite Versionen
- Verlauf: Die linke Spalte listet die Versionen der Notiz nach Tagen gruppiert auf, jede mit ihrer Art: Automatisch, Manuell, Vor KI-Änderung oder Vor MCP-Änderung. Das Abzeichen „Aktuell“ kennzeichnet die Versionen, die mit der aktuellen Notiz identisch sind, „Unverändert“ die, die mit der Version davor identisch sind. Beide Abzeichen setzen auch denselben Titel und dieselben Tags voraus.
- Inhalt: Die Seite öffnet sich auf diesem Reiter, der die ausgewählte Version selbst gerendert anzeigt. Bei Markdown-Notizen sitzt ein Umschalter Vorschau/Quelltext neben den Reitern.
- Änderungen: Der zweite Reiter zeigt einen zeilenweisen Vergleich mit hervorgehobenen geänderten Wörtern, wahlweise gegenüber der aktuellen Version, der vorherigen Version oder einer beliebigen anderen Version. Der Vergleich wird Einspaltig oder Nebeneinander angezeigt, unveränderte Zeilen werden eingeklappt (per Klick aufklappbar), die Schaltflächen für die vorherige und nächste Änderung springen von einer Änderung zur nächsten, und die Anzahl der hinzugefügten und entfernten Zeilen wird angezeigt. Markdown-Notizen werden anhand ihres Quelltexts verglichen. Rich-Text-Notizen werden anhand ihres Textes verglichen, eine reine Formatierungsänderung ist also nicht zu sehen. Über dem Vergleich zeigt der Reiter die Titeländerung (alt → neu) sowie die Tags, die zwischen den beiden verglichenen Versionen hinzugefügt oder entfernt wurden.
- Aktionen: Das Menü „Aktionen“ enthält „Diese Version wiederherstellen“, „Version speichern“, „Inhalt kopieren“ und „Diese Version löschen“. „Version speichern“ speichert sofort den aktuellen Inhalt, die übrigen Einträge wirken auf die ausgewählte Version.
- Wiederherstellen: Eine Wiederherstellung gibt der Notiz den Inhalt, den Titel und die Tags der Version zurück. Der Stand, den sie ersetzt, wird nicht gespeichert: Ist er wichtig, speichern Sie vorher eine Version („Version speichern“ im Menü Aktionen oder Strg + Alt + S). Ein wiederhergestellter Titel folgt den Regeln für das Umbenennen: Trägt bereits eine andere Notiz im selben Ordner diesen Titel, wird ein Zusatz wie „(1)“ angehängt. Eine Version, die gespeichert wurde, bevor Tags erfasst wurden, enthält keine Tags und lässt die Tags der Notiz unverändert.
So funktionieren Versionen
- Automatisch: Poznote speichert eine Version, wenn eine Notiz geändert wird, nicht wenn sie geöffnet wird. Jedes Mal, wenn eine Änderung am Inhalt, am Titel oder an den Tags gespeichert wird (automatisches Speichern des Editors, abgehakte Aufgabe, gespeicherte Zeichnung, REST-API, Bearbeitung über einen öffentlichen Freigabelink), bewahrt Poznote zuerst die Notiz so auf, wie sie unmittelbar vor dieser Änderung war, es sei denn, in den letzten 10 Minuten wurde bereits eine Version dieser Notiz angelegt. Eine Version enthält also immer den Stand vor einer Änderung, und eine Bearbeitungssitzung erzeugt höchstens eine automatische Version alle 10 Minuten. Das Öffnen oder Lesen einer Notiz erzeugt nie eine Version. Für eine leere Notiz wird nichts gespeichert, ebenso wenig, wenn die neueste Version bereits genau den aktuellen Inhalt, Titel und die aktuellen Tags enthält: Der Verlauf enthält also keine Duplikate. Diese Versionen sind im Verlauf mit „Automatisch“ gekennzeichnet, ebenso wie die Versionen, die ältere Poznote-Versionen beim Öffnen einer Notiz angelegt haben: Für sie gelten dieselben Regeln.
- Beispiel: Sie bearbeiten eine Notiz von 9:00 bis 9:35 Uhr. Der Verlauf erhält Versionen von etwa 9:00 Uhr (die Notiz, bevor Sie sie angefasst haben), 9:10, 9:20 und 9:30 Uhr. Um 14:00 Uhr kommen Sie zurück und ändern ein Wort: Eine Version von 14:00 Uhr bewahrt die Notiz so auf, wie Sie sie um 9:35 Uhr verlassen haben.
- Wohin Sie zurückkehren können: Der Stand, in dem Sie eine Notiz am Ende einer Sitzung zurücklassen, wird in diesem Moment nicht als Version gespeichert, denn er ist die Notiz selbst. Er wird durch die erste Änderung der nächsten Sitzung festgehalten, wie viel später diese auch stattfindet. Sie können also immer zu dem Stand zurückkehren, den die Notiz hatte, bevor Sie heute mit dem Bearbeiten begonnen haben, und innerhalb einer langen Sitzung zu Ständen, die höchstens etwa 10 Minuten auseinanderliegen. Der neueste Stand ist immer die Notiz selbst: Vergleichen Sie eine beliebige Version mit „Aktuelle Version“, um zu sehen, was sich seitdem geändert hat.
- Aufbewahrungsdauer automatischer Versionen: Alle automatischen Versionen der letzten 24 Stunden werden aufbewahrt. Nach 24 Stunden bleibt nur die neueste automatische Version jedes Tages erhalten, standardmäßig 30 Tage lang. Diese Anzahl von Tagen lässt sich unter Einstellungen > Versionen ändern (1 bis 30). Falls Sie diese Einstellung bereits in einer älteren Version geändert hatten, in der sie Versionen zählte, bleibt Ihr Wert erhalten und zählt nun Tage.
- Manuell: „Version speichern“ fügt jederzeit eine Version hinzu, ebenso Strg + Alt + S (Cmd + Alt + S auf dem Mac) bei geöffneter Notiz. Manuelle Versionen sind unbegrenzt und werden nie ausgedünnt: Sie verschwinden erst, wenn sie nach 30 Tagen ablaufen.
- Vor einer KI-Änderung: Unmittelbar bevor der KI-Assistent oder der MCP-Server den Inhalt einer Notiz ändert, wird automatisch eine Version gespeichert, auch wenn weniger als 10 Minuten zuvor bereits eine automatische Version angelegt wurde, sodass sich eine misslungene Umformulierung mit einem Klick rückgängig machen lässt. Diese Versionen sind im Verlauf mit „Vor KI-Änderung“ oder „Vor MCP-Änderung“ gekennzeichnet und werden übersprungen, wenn die letzte Version bereits denselben Inhalt, denselben Titel und dieselben Tags enthält.
- Sicherheitsversionen: Die Versionen „Vor KI-Änderung“ und „Vor MCP-Änderung“ teilen sich eine gemeinsame Grenze: Pro Notiz werden die 20 neuesten aufbewahrt, eine Anzahl, die Sie unter Einstellungen → Versionen ändern können (1 bis 200), falls auf Ihrer Instanz viele Notizen über KI oder MCP bearbeitet werden.
- Ablauf: Jede Version, gleich welcher Art, wird 30 Tage nach ihrer Erstellung gelöscht. Eine Version kann auch von Hand auf der Seite Versionen gelöscht werden.
- Anhänge und Bilder: Versionen speichern den Text, den Titel und die Tags der Notiz, nie ihre Dateien. Anhänge werden nie kopiert, sodass eine Datei, auf die mehrere Versionen verweisen, nur einmal auf der Festplatte existiert. Eine aus einer Notiz entfernte Datei bleibt, für die Notiz unsichtbar, auf der Festplatte, solange noch eine Version sie enthält, sodass sie beim Wiederherstellen dieser Version zurückkehrt. Endgültig gelöscht wird sie, sobald die letzte Version, die sie enthält, abläuft oder gelöscht wird, oder wenn die Notiz endgültig gelöscht wird. Mehr Versionen aufzubewahren dupliziert also nie Dateien. Entfernte Dateien bleiben lediglich länger erhalten, höchstens 30 Tage.
- API und MCP: Die REST-API und die Werkzeuge des MCP-Servers nennen Versionen weiterhin „Snapshots“ (
/notes/{id}/snapshots,list_snapshots,get_snapshot,restore_snapshot).
Personalisierung
Poznote bietet direkt in der Anwendung mehrere integrierte Personalisierungsoptionen, ganz ohne Änderungen an Konfigurationsdateien.
Einstellungen für Anzeige, Verhalten und Markdown
Unter Einstellungen > Anzeige können Sie Folgendes konfigurieren:
- App-Schriftart: die Schrift für die gesamte Oberfläche wählen
- Schriftgröße: die Textgröße für Notizen, Seitenleiste, Codeblöcke und die Einstellungsseite anpassen
- Notizfarben: die Palette wählen, die beim Einfärben einer Notiz angeboten wird
- Symbole nach Notiztyp: Aufgabenlisten und Markdown-Notizen in der Notizliste ein eigenes Symbol geben
- Skalierung der Index-Symbole: die Größe der Symbole im Notizindex ändern
- Reihenfolge der Icon-Seitenleiste: die Schaltflächen der linken Symbolleiste neu anordnen und ihre Farbe ändern (ein Rechtsklick auf eine Schaltfläche der Leiste öffnet ebenfalls die Farbauswahl)
- Breite des Notizinhalts: die maximale Breite des Notizeditors festlegen
- Anhangsvorschauen: Anhänge als Vorschau in der Notiz anzeigen
- Standard-Bildrahmen: eingefügte Bilder ohne zusätzlichen Innenabstand einrahmen
- Aktuellen Ordnerbaum hervorheben: Notizen und Ordner außerhalb der Ordnerhierarchie, in der Sie gerade arbeiten, abblenden
- Login-Seiten-Titel: den auf der Anmeldeseite angezeigten Titel ändern
- Sichtbarkeit von Elementen: nicht genutzte Oberflächenelemente ausblenden, siehe unten
Unter Einstellungen > Verhalten können Sie Folgendes konfigurieren:
- Notizen-Sortierreihenfolge: festlegen, wie Notizen in der Liste sortiert werden
- Altersfilter für Notizen: nur Notizen auflisten, die innerhalb der gewählten Anzahl von Tagen geändert wurden
- Versionen: wie viele Tage automatische Versionen aufbewahrt werden (eine pro Tag jenseits der letzten 24 Stunden) und wie viele Sicherheitsversionen pro Notiz aufbewahrt werden
- Einfüge-Reihenfolge der Aufgaben: festlegen, wo neue Aufgaben eingefügt werden
- Notizen nach Ordnern anzeigen: Notizen ohne Ordner unterhalb der Ordnerliste anzeigen
- Codeblock-Zeilenumbruch: den Zeilenumbruch in Codeblöcken ein- oder ausschalten
- Format der Tagebucheinträge: Tagebucheinträge als Rich-Text- oder Markdown-Notizen anlegen
- Sprache der Oberfläche, Zeitzone und Datumsformat, Anhänge und Backlinks am Ende einer Notiz, Rechtschreibprüfung und die Tastenkürzel
Unter Einstellungen > Markdown können Sie die Standardansicht, die Schriftart des Editors, Markdown mit Rahmen und farbiges Markdown sowie die Codeblock-Zeilennummern konfigurieren.
Das Design ist hier keine eigene Karte: Die Schaltfläche unten in der linken Symbolleiste schaltet der Reihe nach durch die Designs, und ein Administrator legt unter Einstellungen > Admin-Werkzeuge > Theme-Liste fest, welche sie anbietet.
Hintergrundbild des Arbeitsbereichs
Sie können für jeden Arbeitsbereich ein Hintergrundbild festlegen: Öffnen Sie Einstellungen > Arbeitsbereiche und verwenden Sie die Aktion Hintergrund des Arbeitsbereichs, um ein Bild hochzuladen und seine Deckkraft einzustellen. So erhält jeder Arbeitsbereich sein eigenes Erscheinungsbild.
Sichtbarkeit von Elementen
Mit Poznote können Sie die Oberfläche entrümpeln, indem Sie Elemente ausblenden, die Sie nicht verwenden.
Konfigurieren Sie dies unter Einstellungen > Anzeige > Sichtbarkeit von Elementen.
- Feine Steuerung: Schalten Sie die Sichtbarkeit von Karten der Startseite, Aktionen der Werkzeugleiste, Einträgen des Slash-Menüs und mehr um. Auch das Abzeichen mit dem Erstellungsdatum an Notizen (Erstellungsdatum der Notiz anzeigen) und die Anzahl der Notizen neben jedem Ordner (Ordner-Notizzähler anzeigen) werden hier ein- und ausgeschaltet.
- Pro Benutzer: Jeder Benutzer kann seine eigene Oberflächengestaltung haben.
- Administratoren: Derselbe Dialog zeigt neben der eigenen Spalte „Ich“ des Administrators eine zweite Spalte „Benutzer“, um Elemente für alle Benutzer der Instanz auszublenden (Administratoren ausgenommen).
- Durchsuchbar: Mit dem Filter im Konfigurationsdialog finden Sie das auszublendende Element schnell.
Benutzerdefinierte Schriftarten
Poznote wird mit Inter ausgeliefert und kann die auf Ihrem Gerät installierten Schriftarten verwenden. Um eine beliebige andere Schriftart zu nutzen, zum Beispiel eine Familie von Google Fonts, lädt ein Administrator ihre Dateien einmal hoch, danach kann jeder Benutzer sie auswählen.
Laden Sie sie unter Einstellungen > Admin-Werkzeuge > Benutzerdefinierte Schriftarten hoch und wählen Sie die Schriftart dann unter Einstellungen > Anzeige > App-Schriftart oder Einstellungen > Markdown > Markdown-Editor-Schriftart.
Hinweise:
- Akzeptiert werden WOFF2, WOFF, TTF und OTF, bis zu 10 MB pro Datei.
- Eine Familie besteht aus mehreren Dateien (normal, fett, kursiv...) oder aus einer einzigen variablen Schriftdatei. Wählen Sie alle Dateien einer Familie in einem Upload aus, sie werden unter dem Familiennamen zusammengefasst.
- Die Schriftarten werden von Ihrer eigenen Instanz ausgeliefert, es wird nichts von Google oder einem anderen Drittanbieter geladen. Laden Sie die Familie zuerst herunter, von Google Fonts (Get font > Download all) oder google-webfonts-helper.
- Eine Familie ohne fette Datei behält für fetten Text und Überschriften die Standardschriftart, laden Sie also auch die fette Datei hoch.
- Die Dateien werden in
data/fonts/(Ihrem Docker-Volume) gespeichert und überstehen daher Image-Updates. Von Hand dorthin kopierte Dateien werden beim Öffnen des Dialogs Benutzerdefinierte Schriftarten erkannt. - Jeder Benutzer wählt seine eigene Schriftart. Wird eine Familie gelöscht, erhalten die Benutzer, die sie gewählt hatten, wieder die Standardschriftart.
- Nur Administratoren können Schriftarten hochladen oder löschen.
Benutzerdefinierte CSS-Anpassungen
Wenn Sie Schriften, Abstände oder andere visuelle Details über die integrierten Optionen hinaus anpassen möchten, können Sie zusätzliche Stylesheets hochladen, die auf jede HTML-Seite für alle Benutzer angewendet werden.
Konfigurieren Sie sie unter Einstellungen > Admin-Werkzeuge > Benutzerdefinierte CSS-Datei.
Hinweise:
- Klicken Sie auf CSS-Datei hochladen, um eine
.css-Datei von Ihrem Computer auszuwählen. - Jede hochgeladene Datei bleibt erhalten, sodass Sie mehrere Designs speichern und zwischen ihnen wechseln können, ohne sie erneut hochzuladen.
- Der Dialog listet die gespeicherten Dateien auf: Wählen Sie diejenige, die für alle Benutzer gelten soll, oder Kein eigenes CSS, um zum integrierten Erscheinungsbild zurückzukehren, und klicken Sie dann auf Speichern.
- Das Hochladen einer Datei mit dem Namen einer bereits gespeicherten ersetzt dieses Design.
- Die Dateien werden in
data/css/(Ihrem Docker-Volume) gespeichert und überstehen daher Image-Aktualisierungen. - Klicken Sie auf das Papierkorbsymbol neben einem Design, um diese Datei aus Ihrem Volume zu löschen.
- Poznote hängt automatisch einen Cache-Busting-Parameter
v=an. - Das Stylesheet wird gegen Ende von
<head>eingefügt und kann daher die Standardstile der Anwendung überschreiben. - Nur Administratoren können eine benutzerdefinierte CSS-Datei hochladen, anwenden oder löschen.
Die Theme-Liste
Einstellungen > Admin-Werkzeuge > Theme-Liste legt fest, durch welche Designs die Design-Schaltfläche unten in der Symbolleiste schaltet: ein Design pro Klick, in der angezeigten Reihenfolge.
- Haken Sie die integrierten Designs an, die Sie behalten möchten, und lassen Sie die weg, die niemand verwendet.
- Haken Sie eine gespeicherte CSS-Datei an, um sie als eigenes Design anzubieten. Sie erhält ein Palettensymbol und den Namen der Datei.
- Legen Sie mit den Pfeilen die Reihenfolge fest, in der die Schaltfläche durchschaltet.
- Ein benutzerdefiniertes Design wird über eine helle oder dunkle Basis gelegt, was die Datei selbst nicht angeben kann: Wählen Sie die Basis neben der Datei. Darauf wird
data-themegesetzt, ein für den Dunkelmodus geschriebenes Stylesheet braucht hier also Dunkel. - Die Liste ist eine globale Einstellung, alle schalten also durch dieselben Designs; welches angewendet wird, bleibt die Wahl jedes einzelnen Benutzers.
- Wer ein Design verwendet, das Sie aus der Liste entfernen, erhält sofort das erste Design der Liste.
- Die Auswahl eines benutzerdefinierten Designs lädt diese Datei nur für diesen Benutzer, anstelle des instanzweit angewendeten Stylesheets.
- Das Löschen einer CSS-Datei entfernt sie auch aus der Liste.
- Steht nur ein einziges Design in der Liste, gibt es nichts zum Durchschalten: Die Schaltfläche öffnet dann für Administratoren diese Liste und bewirkt für alle anderen nichts.
Bevor Sie CSS schreiben, prüfen Sie, ob ein integriertes Design bereits das tut, was Sie möchten: Die Design-Schaltfläche unten in der Symbolleiste schaltet durch Hell, Dunkel, Schwarz, Lavendel, Sepia und Terminal.
Beispiele
Farben, Abstände, Radien und Schriftstärken sind Design-Tokens, daher bestehen die meisten Änderungen aus einer kurzen Liste überschriebener Variablen statt aus einem Kampf mit Selektoren. Die vollständige Liste finden Sie in src/public/css/tokens.css.
Akzentfarbe ändern
:root {
--pz-accent: #d6336c;
--pz-accent-hover: #a61e4d;
--pz-accent-rgb: 214, 51, 108; /* same colour, channels only, used for tints */
}
html[data-theme='dark'] {
--pz-accent-text: #f783ac; /* lighter, because it sits on a dark ground */
}
Zwei Tokens statt einem, weil eine Füllung und eine Beschriftung nicht dieselbe Farbe haben können: --pz-accent füllt Schaltflächen, --pz-accent-text ist die Akzentfarbe für Text, Symbole und Umrisse. In einem hellen Design folgt es --pz-accent von selbst; ein dunkler Grund braucht einen helleren Wert. Jedes Token behält in jedem Design denselben --pz-*-Namen, nur sein Wert ändert sich. Die --dm-*-Namen älterer Stylesheets funktionieren weiterhin.
Symbole der Notiz-Werkzeugleiste umfärben
.note-edit-toolbar .toolbar-btn i,
.note-edit-toolbar .toolbar-btn [class*="lucide-"],
.note-edit-toolbar .toolbar-btn:hover i,
.note-edit-toolbar .toolbar-btn:hover [class*="lucide-"] {
color: #e5322d !important;
}
Symbole sind CSS-Masken, die mit background-color: currentColor gezeichnet werden, daher genügt color. !important ist hier nötig, weil einige dieser Symbole bereits eine eigene Farbe tragen (der Stern, wenn eine Notiz ein Favorit ist, das Teilen-Symbol, wenn sie veröffentlicht ist, die Büroklammer, wenn sie Anhänge hat).
Für ein einzelnes Symbol braucht es kein CSS: Klicken Sie es in der Notiz-Symbolleiste oder in der Icon-Seitenleiste mit der rechten Maustaste an und wählen Sie eine Farbe. Diese Farben werden pro Benutzer gespeichert und lassen die oben genannten Statusfarben unverändert.
Die gesamte Oberfläche wärmer gestalten
:root {
--pz-bg: #f6ecd8; /* page and note background */
--pz-surface: #efe0c4; /* panels, cards, menus */
--pz-text: #3b2c1a;
--pz-border: #d4bd94;
}
Ein vollständiges Design schreiben
Überschreiben Sie die Tokens auf :root für hell und auf :root[data-theme='dark'] für dunkel, und sonst nichts. src/public/css/README.md dokumentiert jedes Token und zeigt ein vollständiges Beispiel; die integrierten Designs Lavendel, Sepia und Terminal in src/public/css/tokens.css sind genau dasselbe, auf dieselbe Weise geschrieben.
Mehrbenutzerbetrieb
Nicht zu verwechseln mit der Funktion Mehrere Instanzen.
Poznote ist mehrbenutzerfähig: Jedes Profil hat eigene Notizen, Arbeitsbereiche, Tags, Ordner, Anhänge und Einstellungen und meldet sich mit seinem eigenen Benutzernamen oder seiner E-Mail-Adresse und seinem Passwort an.
- Benutzerverwaltung: Administratoren legen Profile unter Einstellungen > Admin-Werkzeuge > Benutzerverwaltung an, deaktivieren und verwalten sie, und können einem Benutzer Zugriff auf das Konto eines anderen Benutzers gewähren, ohne dessen Eigentümerschaft zu übertragen.
- Teilen und Zusammenarbeit: Arbeitsbereiche, Notizen und Ordner können mit den anderen Benutzern der Instanz geteilt werden, siehe Teilen und Zusammenarbeit.
- Mandantentrennung (SaaS-Modus): Administratoren können Benutzern ohne Administratorrechte das Auffinden der anderen Konten der Instanz, das Teilen mit ihnen oder das Registrieren persönlicher Webhooks untersagen. Für eine Familien- oder Team-Instanz lassen Sie alles deaktiviert.
- Zugriff auf das lokale Netzwerk: Benutzer ohne Administratorrechte können Webhooks, Git Sync und ihre eigenen KI-, Transkriptions- oder MCP-Server nur mit öffentlichen Internet-Hosts verbinden, abgesehen von den lokalen Hosts, die ein Administrator erlaubt, siehe Zugriff auf das lokale Netzwerk für Benutzer ohne Administratorrechte.
Zugriff auf das lokale Netzwerk für Benutzer ohne Administratorrechte
Einige Funktionen lassen den Poznote-Server selbst eine Verbindung zu einer Adresse aufbauen, die ein Benutzer eingegeben hat: Webhooks, Git Sync und seine eigenen KI-, Transkriptions- oder MCP-Server. Die Anfrage geht vom Server aus, nicht vom Browser des Benutzers. Ohne Grenze könnte also jedes Konto über Poznote den Server selbst, die anderen Docker-Container, Ihr lokales Netzwerk oder einen Cloud-Metadatendienst erreichen, also Orte, die es selbst nicht erreichen kann.
Die Regel hängt deshalb davon ab, wer die Adresse eingegeben hat:
- Administratoren sind nicht eingeschränkt: Sie kontrollieren den Server ohnehin.
- Andere Benutzer können nur öffentliche Internet-Hosts verwenden. Eine lokale oder private Adresse wird abgelehnt:
localhostund127.0.0.1,10.x.x.x,172.16.x.xbis172.31.x.x,192.168.x.x,169.254.x.x, lokale IPv6-Adressen (fc00::/7,fe80::/10) sowie jeder Name, der auf eine davon zeigt, etwa der Name eines anderen Docker-Dienstes.
Was ein Administrator für die ganze Instanz einstellt (der KI-Assistent, die Transkription, die Admin-Webhooks, S3, OIDC, SMTP), ist nicht betroffen.
Auf einer Familien- oder Team-Instanz brauchen Benutzer vielleicht einen Server in Ihrem Netzwerk, etwa einen Ollama-Server für ihre persönliche KI oder n8n für ihre Webhooks. Tragen Sie diese Hosts unter Einstellungen > Admin-Werkzeuge > Integrationen > Zugriff auf das lokale Netzwerk ein, ein Eintrag pro Zeile:
| Eintrag | Was er erlaubt |
|---|---|
ollama oder ollama.lan |
diesen Hostnamen, egal auf welche Adresse er zeigt (ein Docker-Dienstname funktioniert) |
*.home.arpa |
alle Hostnamen unter dieser Domain |
192.168.1.20 |
diese Adresse |
192.168.1.0/24 |
alle Adressen dieses Netzwerks (IPv6 geht auch, fd00::/8) |
Ein Eintrag erlaubt alle Ports dieses Hosts. Ungültige Einträge werden beim Speichern abgelehnt, mit der Liste der zu korrigierenden. Die Karte zeigt Nur öffentlich, solange die Liste leer ist, sonst die Zahl der Einträge.
Gut zu wissen:
- Ein Hostname in der Liste muss im Poznote-Container auflösbar sein, nicht nur auf Ihrem Computer. Einen Namen, den nur Ihr Computer oder Ihr Router kennt, kann Poznote nicht auflösen, und er wird wie jeder unbekannte Name abgelehnt: Geben Sie stattdessen seine Adresse oder sein Netzwerk ein.
- Die Adresse wird bei jeder Verbindung erneut geprüft, nicht nur beim Speichern: Das Entfernen eines Eintrags wirkt sofort, und ein Name, der später auf eine lokale Adresse zeigt, wird abgelehnt.
- Für Benutzer ohne Administratorrechte folgt Poznote keinen Weiterleitungen, außer bei Git Sync, das jeden Schritt der Weiterleitung erneut prüft.
Datenablage auf der Festplatte
Poznote verwendet eine Master-Datenbank (data/master.db) für gemeinsame Koordinationsdaten sowie separate Datenbanken und Dateien pro Benutzer für die eigentlichen Notizinhalte.
data/
├── master.db # Profiles, global settings, shared links, account access, edit locks
├── css/ # Custom CSS files uploaded by an administrator
├── fonts/ # Custom fonts uploaded by an administrator
├── backups/ # Scheduled local backups, one folder per user ID
└── users/
├── 1/ # User ID 1 (default admin)
│ ├── database/poznote.db # User's notes database
│ ├── entries/ # User's note files (HTML/MD)
│ ├── attachments/ # User's attachments
│ ├── snapshots/ # Earlier versions of the user's notes (revisions)
│ ├── backgrounds/ # Workspace background images
│ └── backups/ # Backup archives prepared for download
├── 2/ # User ID 2
└── ...
Teilen und Zusammenarbeit
Poznote bietet mehrere Wege, mit den anderen Benutzern Ihrer Instanz zu arbeiten, wobei jede Person ihr eigenes Konto behält. Für einen gemeinsamen Bereich (Familie, Freunde, ein Team) teilen Sie einen Arbeitsbereich.
- Einen Arbeitsbereich teilen: Der Besitzer öffnet Einstellungen > Arbeitsbereiche, klickt in der Zeile des Arbeitsbereichs auf Teilen (das Teilen-Symbol oder der erste Eintrag seines ...-Menüs) und wählt die Benutzer aus. Diese finden den Arbeitsbereich in ihrem eigenen Arbeitsbereichsmenü unter Mit mir geteilt und bearbeiten seine Notizen und Ordner mit dem vollständigen Editor, mit denselben Schreibrechten wie der Besitzer. Die anderen Arbeitsbereiche des Besitzers, seine Einstellungen, sein Papierkorb und seine Sicherungen bleiben privat. In einem geteilten Arbeitsbereich erwähnt
@benutzernamein einer Notiz diese Person, die die Notiz auf ihrer Seite Erwähnungen findet. Versendet die Instanz E-Mails (SMTP), kann jedes Mitglied unter Einstellungen > Arbeitsbereiche > E-Mails zu geteilten Arbeitsbereichen die Liste der Notizen erhalten, die die anderen dort erstellt, bearbeitet oder gelöscht haben, einige Minuten nach den Änderungen oder als Zusammenfassung, die täglich um 8:00 Uhr oder jeden Montag um 8:00 Uhr versendet wird (in der Zeitzone des Mitglieds). - Eine Notiz oder einen Ordner teilen: Teilen im Menü der Notiz oder im Menü des Ordners erstellt einen Link nur zu dieser Notiz oder diesem Ordner. Der Link kann öffentlich sein, durch ein Passwort geschützt oder auf bestimmte Benutzer der Instanz beschränkt, die sich zum Öffnen anmelden, und er kann das Bearbeiten erlauben. Die Seite Freigaben der Symbolleiste listet Ihre Freigaben auf, und unter Mit mir geteilt das, was andere mit Ihnen geteilt haben.
- Zugriff auf ein ganzes Konto gewähren: Ein Administrator kann einem Benutzer unter Einstellungen > Admin-Werkzeuge > Benutzerverwaltung erlauben, das Konto eines anderen Benutzers zu öffnen, ohne dessen Eigentümerschaft zu übertragen. Der Benutzer wechselt über den Abschnitt Konten des Arbeitsbereichsmenüs dorthin.
- Dieselbe Notiz bearbeiten: Es bearbeitet immer nur eine Person. Eine Notiz, die nur zum Lesen geöffnet ist, sperrt niemanden: Die Sperre wird mit der ersten Änderung gesetzt und nach 15 Sekunden ohne Änderung wieder freigegeben. Ist eine Notiz gesperrt, bietet das schreibgeschützte Banner an, die Bearbeitung zu übernehmen: Der Bildschirm der anderen Person wird schreibgeschützt, ihre ungespeicherten Änderungen bleiben in ihrem Browser und werden erneut angeboten, sobald die Notiz frei ist. Eine geöffnete Notiz übernimmt anderswo gemachte Änderungen innerhalb weniger Sekunden. Bei einer Markdown-Notiz mit ungespeicherten Änderungen auf beiden Seiten werden die beiden Änderungen automatisch zusammengeführt, wenn sie verschiedene Zeilen betreffen; überschneiden sie sich, lässt Sie ein Banner wählen. Rich-Text-Notizen werden nie zusammengeführt, Sie wählen die Version, die bleibt. Halten Sie Skripte und anderen Code in eingezäunten Codeblöcken (
```): rohes HTML außerhalb eines Codeblocks wird beim Speichern bereinigt, wodurch eine an sich saubere Zusammenführung wie ein Konflikt aussehen kann.
Schnellwahl
Die Ansicht Schnellwahl macht aus Notizen eine Seite mit Link-Kacheln, gedacht als Startseite Ihres Browsers.
Geben Sie einer Notiz den Tag speed-dial oder wählen Sie Zur Schnellwahl hinzufügen im Menü einer Notiz oder eines Ordners (bei einem Ordner alle seine Notizen, einschließlich Unterordnern). Öffnen Sie die Ansicht über das Blitzsymbol in der linken Symbolleiste.
- Ein Link oder keiner: Die Notiz ist eine Kachel, die diesen Link oder die Notiz selbst öffnet. Ihr Symbol ist das erste Bild der Notiz, sonst das Symbol der Website, sonst der erste Buchstabe des Titels.
- Mehrere Links: Die Notiz ist eine Kachelgruppe mit dem Namen der Notiz und einer Kachel pro Link. Eine horizontale Linie (
----) beginnt eine neue Reihe, und ein Link um ein Bild verwendet dieses als Symbol:[](https://github.com). - Gruppenname: Ein Klick öffnet die Notiz, ein Rechtsklick ändert die Farbe des Labels.
- Mehrere Schnellwahlen: Neue Schnellwahl erstellt eine weitere, und Pillen wechseln zwischen ihnen (zum Beispiel Arbeit und Zuhause). Jede ist ein Tag wie
speed-dial-Arbeit, mit eigenem Hintergrundbild. Ein Rechtsklick auf eine Pille benennt sie um oder löscht sie: Beim Löschen bleiben die Notizen erhalten. Die Menüs von Notizen und Ordnern bieten dann Zu einer Schnellwahl hinzufügen mit der Liste daneben: Ein Häkchen zeigt die aktuellen, ein Klick fügt hinzu oder entfernt. - Ansicht anordnen: Ziehen Sie Kacheln und Gruppen, um sie zu verschieben, und ändern Sie ihre Größe mit der Schaltfläche neben dem Filter. Das Menü ... unten rechts legt ein Hintergrundbild fest, und die Augen-Schaltfläche blendet aus, was Sie nicht brauchen.
- Browser-Startseite: Verwenden Sie
speed_dial.php?workspace=Name&focus=1nach Ihrer Poznote-Adresse.focus=1blendet auch die Symbolleiste aus.
Aktivitätsprotokoll
Poznote führt einen Verlauf der sensiblen Vorgänge auf der Instanz, sodass Administratoren sehen können, was wann und durch wen geschehen ist: An- und Abmeldungen, Konto- und Kontingentänderungen, Erstellen und Teilen von Arbeitsbereichen, Sicherungen und Wiederherstellungen, Leeren des Papierkorbs und endgültige Löschungen, App-Passwörter. Das Protokoll ist unter Einstellungen > Admin-Werkzeuge > Aktivitätsprotokoll verfügbar, Administratoren vorbehalten, und das Hilfesymbol oben auf der Seite listet alle protokollierten Vorgänge auf.
Das Protokoll hält fest, dass ein Vorgang stattgefunden hat, nicht die Daten, die er betraf: Notizinhalte und Passwörter werden nie hineingeschrieben, und Routinetätigkeiten wie das Schreiben einer Notiz oder das Verschieben in den Papierkorb werden nicht erfasst. Einträge werden standardmäßig 90 Tage lang aufbewahrt (30, 90, 365 Tage oder unbegrenzt), und das Protokoll kann auf derselben Seite geleert werden.
Webhooks
Poznote kann externe Dienste benachrichtigen, wenn auf der Instanz etwas geschieht, indem es ausgehende Webhooks (HTTP-POST-Anfragen mit JSON-Nutzdaten) an die von Ihnen registrierten Endpunkte sendet. So lässt sich Poznote an Automatisierungswerkzeuge wie n8n, Zapier oder eigene Skripte anbinden. Administratoren registrieren Instanzereignisse (Konten, Kontingente, Registrierungen) unter Einstellungen > Admin-Werkzeuge > Admin-Webhooks, und jeder Benutzer kann unter Einstellungen > Benutzer-Webhooks Endpunkte für seine eigenen Notizen und Erinnerungen registrieren.
Zustellungen werden mit HMAC-SHA256 signiert, wenn der Webhook ein Geheimnis hat, und Notizinhalte werden nie gesendet. Alle Ereignisse, die Felder der Nutzdaten, die Signaturprüfung und die Zustellungsgarantien sind in der Webhooks-Dokumentation beschrieben.
Git-Synchronisierung
Poznote unterstützt die automatische und manuelle Synchronisierung mit GitHub, GitLab (gitlab.com oder eine selbst gehostete Instanz) oder Forgejo. Jeder Benutzer konfiguriert sein eigenes Repository unabhängig. Es gibt kein gemeinsames globales Repository.
Die Git-Synchronisierung kommuniziert über HTTPS mit der REST-API des Anbieters, die Authentifizierung erfolgt daher immer über Tokens. SSH-Schlüssel werden nicht verwendet.
Git-Synchronisierung konfigurieren
Schritt 1: Funktion aktivieren (Administrator, unter Einstellungen > Admin-Werkzeuge)
Aktivieren Sie Git-Synchronisierung im Bereich Admin-Werkzeuge der Einstellungsseite. Damit wird die Git-Synchronisierung global eingeschaltet, und die Karte bzw. Konfiguration Git-Synchronisierung auf Benutzerebene steht unter Einstellungen zur Verfügung.
Schritt 2: Jeder Benutzer konfiguriert sein eigenes Repository (Einstellungen > Git-Synchronisierung)
| Feld | Beschreibung |
|---|---|
| Anbieter | GitHub, GitLab oder Forgejo |
| API-Basis-URL | GitHub: automatisch ausgefüllt (schreibgeschützt). GitLab: https://gitlab.com/api/v4 oder die URL Ihrer Instanz, z. B. https://gitlab.example.com/api/v4. Forgejo: die URL Ihrer Instanz, z. B. https://forgejo.example.com/api/v1 |
| Zugriffstoken | GitHub-PAT (ghp_...), GitLab-Token mit dem Scope api (glpat-..., Personal oder Project Access Token) oder Forgejo-Token (Settings > Applications) |
| Repository | Format owner/repo. GitLab: der vollständige Projektpfad einschließlich Untergruppen, z. B. group/subgroup/project |
| Branch | Standard: main |
| Autorname / E-Mail | Werden für die Commit-Metadaten verwendet |
🔒 Zugriffstokens werden im Ruhezustand mit AES-256-GCM verschlüsselt. Ein Schlüssel wird automatisch erzeugt und in
data/.app_secretgespeichert.
Automatische Synchronisierung
Wenn der Benutzer sie aktiviert, führt Poznote automatisch Folgendes aus:
- Pull bei der Anmeldung
- Push bei jedem Erstellen, Ändern oder Löschen einer Notiz
Manuelles Senden und Abrufen ist außerdem über die Schaltflächen Senden und Abrufen der linken Symbolleiste möglich.
Synchronisierte Arbeitsbereiche
Standardmäßig wird jeder Arbeitsbereich synchronisiert. Unter Einstellungen > Git-Synchronisierung kann jeder Benutzer die Synchronisierung stattdessen auf ausgewählte Arbeitsbereiche beschränken:
- Nur Notizen und Anhänge aus den ausgewählten Arbeitsbereichen werden gesendet und abgerufen.
- Ein Pull verändert niemals Notizen in den anderen Arbeitsbereichen.
- Ein Push entfernt Dateien im Repository, die außerhalb der ausgewählten Arbeitsbereiche liegen, sodass das Repository immer genau den synchronisierten Bestand widerspiegelt.
- Die Schaltflächen Senden und Abrufen in der Seitenleiste, der automatische Push und die Pull-Aufforderung erscheinen nur, während Sie einen synchronisierten Arbeitsbereich ansehen.
S3-Speicher für Anhänge
Standardmäßig werden Anhänge von Notizen auf der lokalen Festplatte gespeichert. Administratoren können sie stattdessen in einem S3-kompatiblen Objektspeicher ablegen (AWS S3, MinIO, Garage, Cloudflare R2, Backblaze B2, ...). Die Einstellung gilt für alle Benutzer der Instanz.
S3-Speicher konfigurieren
Konfigurieren Sie ihn unter Einstellungen > S3-Anhänge (nur Administratoren).
- Konfiguration: Endpunkt-URL, Region, Bucket, Access Key, Secret Key und Path-Style-Adressierung, mit integriertem Verbindungstest.
- Migration: Verschieben Sie vorhandene Anhangsdateien zwischen lokaler Festplatte und Bucket, in beide Richtungen und für alle Benutzer. Die Migration läuft in Stapeln und kann gefahrlos unterbrochen und fortgesetzt werden.
- Datenschutz: Anhänge werden im Bucket unter
attachments/{user id}/gespeichert und immer über Poznote ausgeliefert, sodass der Bucket privat bleiben kann. - Kontingente: Pro Benutzer lässt sich ein S3-Speicherkontingent festlegen, und die S3-Nutzung erscheint in der Speicherstatistik für Administratoren.
- Sicherungen: ZIP-Exporte enthalten S3-Anhänge standardmäßig (sie werden dabei direkt aus dem Bucket geholt), unabhängig davon, ob sie im Sicherungsfenster, über die REST-API oder durch die automatischen S3-Sicherungen erstellt werden. Eine Option im Sicherungsfenster erlaubt es, sie für ein schlankeres Archiv wegzulassen. Kann der Bucket während der Erstellung eines Archivs nicht gelesen werden, schlägt der Export mit einem Fehler fehl, statt ein Archiv mit fehlenden Dateien zu erzeugen.
Das Wiederherstellen einer Sicherung, in der einige der referenzierten Anhangsdateien fehlen, wird bei aktiviertem S3-Speicher abgelehnt, weil eine vollständige Wiederherstellung den Inhalt des Buckets ersetzt und die fehlenden Dateien verloren gingen. Eine solche Sicherung lässt sich auf zwei Wegen wiederherstellen:
- Am einfachsten: Schalten Sie „Anhänge in S3 speichern“ aus (die Zugangsdaten bleiben erhalten), stellen Sie die Sicherung wieder her und schalten Sie den Schalter dann wieder ein. Eine Wiederherstellung im lokalen Modus verändert den Bucket nie, und die dort noch gespeicherten Anhänge werden weiterhin ausgeliefert. Dies ist auch der richtige Weg auf einem neuen Server mit intaktem Bucket, da der Anhang-Export der anderen Option eine Instanz voraussetzt, die die Notizen noch kennt.
- Ein vollständiges Archiv neu erstellen:
- Laden Sie im Sicherungsfenster den Anhang-Export herunter: Er enthält alle Anhänge Ihres Kontos in einem Ordner
files/. - Entpacken Sie die Sicherung, kopieren Sie die Dateien aus
files/in den Ordnerattachments/der Sicherung und packen Sie sie wieder als ZIP. Achtung beim erneuten Packen: Wählen Sie den Inhalt der Sicherung (database/,entries/,attachments/, ...) aus und komprimieren Sie diese Auswahl, nicht den Ordner, der sie enthält. Die Ordner müssen im Stammverzeichnis der ZIP-Datei liegen, sonst meldet die Wiederherstellung, dassdatabase/poznote_backup.sqlfehlt. - Stellen Sie die neu erstellte ZIP-Datei ganz normal wieder her.
- Laden Sie im Sicherungsfenster den Anhang-Export herunter: Er enthält alle Anhänge Ihres Kontos in einem Ordner
Die Git-Synchronisierung ignoriert Anhänge, solange der S3-Speicher aktiviert ist.
Sicherung / Export
Poznote kann ein Konto auf mehrere Arten sichern. Alle erzeugen dasselbe ZIP-Archiv (Datenbank, Notizen und Anhänge, mit einer index.html im Stammverzeichnis zum Offline-Lesen), und die Seite Wiederherstellen / Importieren nimmt sie alle an:
- Manuell, als Download unter Einstellungen > Sicherung / Export.
- Nach Zeitplan, in einen Ordner des Servers oder in einen S3-kompatiblen Bucket, von einem Administrator konfiguriert.
- Per Skript, über die REST-API, zum Beispiel mit dem Bash-Skript unten.
Jede Option wird unten beschrieben, und einzelne Notizen lassen sich auch für sich exportieren.
Sicherung als Poznote-ZIP-Datei
Eine einzige ZIP-Datei mit der Datenbank, allen Notizen und Anhängen aller Arbeitsbereiche:
- Enthält eine
index.htmlim Stammverzeichnis zum Offline-Durchblättern - Notizen sind nach Arbeitsbereich und Ordner geordnet
- Anhänge sind über anklickbare Links erreichbar
Das Archiv wird im Hintergrund von einem Worker-Prozess erstellt, nicht während der Anfrage, die es anstößt, sodass auch ein großes Konto nicht an ein Timeout des Browsers oder eines Reverse Proxys stößt. Die Seite verfolgt den Fortschritt des Auftrags, und der Download startet von selbst, sobald die Datei bereit ist. Sie können die Seite verlassen und später zurückkehren, die Vorbereitung läuft weiter. Ein vorbereitetes Archiv bleibt 24 Stunden lang verfügbar, und eine Schaltfläche ermöglicht es, es sofort zu löschen.
Sicherungen pro Benutzer und vollständige Sicherungen
Alle oben genannten Methoden erzeugen Sicherungen pro Benutzer: Ein Archiv enthält nur die Daten eines einzelnen Kontos (seine Datenbank, Notizen und Anhänge). Jeder Benutzer kann sein eigenes Konto sichern und wiederherstellen, Administratoren können jedes Konto auswählen. Das Archiv eines Administrators enthält außerdem das Logo der Instanz, falls eines hochgeladen wurde, und die Wiederherstellung in einem Administratorkonto bringt dieses Logo zurück.
Eine vollständige Systemsicherung, die die Master-Konfiguration (Konten, globale Einstellungen, geteilte Links) und alle Benutzer auf einmal umfasst, erfolgt durch Kopieren des gesamten Verzeichnisses /data:
# Vollständige Systemsicherung über die Kommandozeile
tar -czvf poznote-full-backup.tar.gz data/
Geplante Sicherungen in einen Ordner auf dem Server
Administratoren können vollständige Sicherungsarchive (eine ZIP-Datei pro Benutzer, identisch mit der über „Sicherung als Poznote-ZIP-Datei“ heruntergeladenen) manuell oder automatisch nach Zeitplan in einem Ordner des Servers speichern lassen, wobei nur die neuesten aufbewahrt werden. Außer Poznote wird nichts benötigt: kein Bucket, kein Cronjob, kein Skript.
Konfigurieren Sie sie unter Einstellungen > Sicherungen auf dem Server (nur Administratoren).
- Sicherungsordner: Ein absoluter Pfad auf dem Server (mit Docker: im Container). Bleibt das Feld leer, landen die Archive in
data/backups, das bereits zum Daten-Volume gehört. Der Ordner wird bei Bedarf angelegt und muss für den Benutzer des Webservers beschreibbar sein. - Benutzerauswahl: Kontrollkästchen legen fest, welche Benutzer gesichert werden. Standardmäßig sind alle ausgewählt, und solange alle ausgewählt sind, werden neue Konten automatisch einbezogen.
- Manuelle Sicherungen: Die Schaltfläche „Jetzt sichern“ speichert für jeden ausgewählten Benutzer ein neues Archiv, einen Benutzer nach dem anderen, mit Fortschritt pro Benutzer. Sie funktioniert auch, wenn die automatischen Sicherungen aus sind.
- Automatische Sicherungen: Sind sie aktiviert, sichert ein Hintergrund-Worker die ausgewählten Benutzer in der gewählten Häufigkeit (täglich, wöchentlich oder monatlich). Der erste Lauf erfolgt wenige Minuten nach dem Aktivieren, die nächsten nach dem gewählten Intervall. Die Seite zeigt das Ergebnis des letzten Laufs und das Datum des nächsten.
- Aufbewahrung: Pro Benutzer werden nur die N neuesten Archive behalten, ältere werden nach jeder Sicherung aus dem Ordner gelöscht (0 behält alles).
- Durchsuchen: Die Seite listet die Archive im Ordner auf, mit Aktionen zum Herunterladen und Löschen.
- Wiederherstellung: Archive werden im Sicherungsordner unter
{Benutzer-ID}/gespeichert und können mit der Standardseite Wiederherstellen / Importieren wiederhergestellt werden. - Kontolöschung: Beim Löschen eines Kontos werden auch dessen Archive aus dem Sicherungsordner gelöscht.
Um die Sicherungen auf einer anderen Festplatte oder einer Netzwerkfreigabe abzulegen, binden Sie diese in den Container ein und geben Sie den Pfad im Container (/backups in diesem Beispiel) als Sicherungsordner an:
services:
webserver:
volumes:
- "./data:/var/www/html/data"
- "/mnt/nas/poznote-backups:/backups"
Ein Ordner innerhalb der Anwendung selbst wird abgelehnt, außer data/backups. Wenn Anhänge in S3 gespeichert sind (S3-Speicher für Anhänge), sind sie in den Archiven enthalten und werden direkt aus dem Bucket abgerufen.
Geplante Sicherungen in einen S3-Bucket
Administratoren können vollständige Sicherungsarchive (eine ZIP-Datei pro Benutzer, identisch mit der über „Sicherung als Poznote-ZIP-Datei“ heruntergeladenen) manuell oder automatisch nach Zeitplan an einen S3-kompatiblen Bucket senden. Die Konfiguration ist unabhängig von der des S3-Speichers für Anhänge, sodass Sicherungen einen anderen Bucket oder Anbieter nutzen können.
Konfigurieren Sie sie unter Einstellungen > S3-Sicherungen (nur Administratoren).
- Hauptschalter: Ein Schalter oben auf der Seite aktiviert oder deaktiviert die gesamte Funktion. Ist er deaktiviert, stoppen die automatischen Sicherungen, und die Bereiche für S3-Sicherung und -Wiederherstellung verschwinden für alle Benutzer (die Self-Service-Aktionen werden auch serverseitig abgelehnt).
- Konfiguration: Endpunkt-URL, Region, Bucket, Access Key, Secret Key und Path-Style-Adressierung, mit integriertem Verbindungstest.
- Benutzerauswahl: Über Kontrollkästchen wählen Sie, welche Benutzer gesichert werden. Standardmäßig sind alle ausgewählt, und solange alle ausgewählt sind, werden neue Konten automatisch einbezogen.
- Manuelle Sicherungen: Die Schaltfläche „Jetzt sichern“ lädt für jeden ausgewählten Benutzer ein neues Archiv hoch, einen Benutzer nach dem anderen, mit Fortschrittsanzeige pro Benutzer. Sie funktioniert, sobald die Verbindung konfiguriert ist, auch wenn die automatischen Sicherungen ausgeschaltet sind.
- Automatische Sicherungen: Wenn aktiviert, sichert ein Hintergrundprozess die ausgewählten Benutzer im gewählten Rhythmus (täglich, wöchentlich oder monatlich). Der erste Durchlauf erfolgt wenige Minuten nach dem Aktivieren, die folgenden nach dem gewählten Intervall.
- Aufbewahrung: Pro Benutzer werden nur die N neuesten Archive aufbewahrt, ältere werden nach jeder Sicherung aus dem Bucket gelöscht (0 bewahrt alles auf).
- Durchsuchen: Die Seite listet die aktuell im Bucket vorhandenen Archive mit Aktionen zum Herunterladen und Löschen auf.
- Wiederherstellung: Archive werden im Bucket unter
backups/{user id}/gespeichert und können über die normale Seite Wiederherstellen / Importieren wiederhergestellt werden. - Self-Service: Sobald der Bucket konfiguriert ist, erhält jeder Benutzer auf seiner Seite Sicherung / Export einen Bereich „Sicherung nach S3“, um ein neues Archiv seines eigenen Kontos hochzuladen und seine vorhandenen Archive herunterzuladen oder zu löschen. Ein Bereich „Aus S3 wiederherstellen“ auf der Seite Wiederherstellen / Importieren stellt sein Konto direkt aus einem dieser Archive wieder her.
- Mandantentrennung: Zwei Optionen („S3-Sicherungen auf der Sicherungsseite“ und „S3-Wiederherstellung auf der Wiederherstellungsseite“) deaktivieren diese Self-Service-Bereiche für Benutzer ohne Administratorrechte. Sie werden serverseitig durchgesetzt, sodass die gesperrten Aktionen auch bei direktem Aufruf abgelehnt werden.
Werden Anhänge in S3 gespeichert (S3-Speicher für Anhänge), sind sie standardmäßig in den Archiven enthalten und werden dabei direkt aus dem Bucket geholt. Mit einer Option können Sie sie für schlankere Archive und schnellere Durchläufe aus den Sicherungen herauslassen.
Automatisierte Sicherungen mit Bash-Skript
Für automatisierte, zeitgesteuerte Sicherungen über die API können Sie das mitgelieferte Skript backup-poznote.sh verwenden.
WICHTIG: Nur Administratoren können über die API Sicherungen erstellen.
Verwenden Sie das aktuelle Passwort des Administratorprofils, mit dem Sie sich authentifizieren. Bei einer Neuinstallation ist das das Standard-Administratorpasswort (admin), bis es in Poznote geändert wird. Sobald ein eigenes Passwort festgelegt ist, wird dieses für API-Aufrufe benötigt.
Speicherort des Skripts: backup-poznote.sh im Ordner tools des Poznote-Repositorys
Verwendung durch Administratoren:
Administratoren können jedes Benutzerprofil sichern, ohne Benutzer-IDs kennen zu müssen, der Benutzername genügt:
# Eigenes Profil sichern
bash backup-poznote.sh 'https://poznote.example.com' 'admin' 'admin_password' 'admin' '/backups' '30'
# Profil eines anderen Benutzers sichern (Nina)
bash backup-poznote.sh 'https://poznote.example.com' 'admin' 'admin_password' 'Nina' '/backups' '30'
Verwendung:
bash backup-poznote.sh '<poznote_url>' '<admin_username>' '<admin_password>' '<target_username>' '<backup_directory>' '<retention_count>'
Beispiel mit crontab (Administrator sichert Nina):
# In die crontab eintragen, um zweimal täglich automatisch zu sichern
0 0,12 * * * bash /root/backup-poznote.sh 'https://poznote.example.com' 'admin' 'admin_password' 'Nina' '/root/backups' '30'
Die Parameter im Einzelnen:
'https://poznote.example.com': URL Ihrer Poznote-Instanz'admin': Administrator-Benutzername für die Authentifizierung (muss ein Administrator sein)'admin_password': Aktuelles Administratorpasswort des API-Profils (admin, bis es geändert wird, danach das eigene Passwort)'Nina': Benutzername des zu sichernden Benutzers'/root/backups': Übergeordnetes Verzeichnis, in dem die Sicherungen gespeichert werden (legt den Ordnerbackups-poznote-<username>an)'30': Anzahl der aufzubewahrenden Sicherungen (ältere werden automatisch gelöscht)
So läuft die Sicherung ab:
- Das Skript authentifiziert sich mit den Administrator-Zugangsdaten
- Es ermittelt automatisch die Benutzer-ID anhand des Benutzernamens
- Es erstellt eine Sicherung über die API
- Es ruft die Poznote-REST-API v1 auf (
POST /api/v1/backupsmit dem HeaderX-User-ID) - Es lädt die Sicherungs-ZIP lokal nach
backups-poznote-<username>/herunter - Es verwaltet die Aufbewahrung automatisch (bewahrt nur die angegebene Anzahl neuester Sicherungen auf)
Hinweis: Die Sicherungen jedes Benutzers werden in separaten Ordnern abgelegt (backups-poznote-Nina, backups-poznote-Tim usw.)
Einzelne Notizen exportieren
Exportieren Sie einzelne Notizen über die Schaltfläche Exportieren in der Werkzeugleiste der Notiz:
- Rich-Text-Notizen: Export als HTML oder als einzelne HTML-Datei mit eingebetteten Bildern
- Markdown-Notizen: Export als Markdown, als HTML oder als einzelne HTML-Datei mit eingebetteten Bildern
- Aufgabenlisten: dieselben Optionen, dazu ein JSON-Rohexport der Liste
Wiederherstellen / Importieren
Poznote bietet flexible Wiederherstellungsoptionen über die Weboberfläche (Einstellungen > Wiederherstellen / Importieren) oder, für Administratoren, programmatisch über die REST-API. Benutzer können ihre eigenen Profildaten aus einer vollständigen ZIP-Sicherung wiederherstellen oder einzelne Dateien importieren, während Administratoren Wiederherstellungen für das gesamte System verwalten können.
Aus einer Poznote-ZIP-Sicherung wiederherstellen
Laden Sie die vollständige Sicherungs-ZIP hoch, um alles wiederherzustellen:
- Ersetzt die Datenbank und stellt alle Notizen und Anhänge wieder her
- Wirkt auf alle Arbeitsbereiche gleichzeitig
Es gibt praktisch keine Größenbeschränkung. Das Archiv wird in Teilstücken hochgeladen (ein fehlgeschlagenes Teilstück wird erneut gesendet, statt den gesamten Upload zu verlieren), auf dem Server wieder zusammengesetzt und anschließend von einem Hintergrundprozess entpackt und wiederhergestellt, sodass weder der Browser noch ein vorgeschalteter Reverse Proxy die Wiederherstellung durch ein Timeout abbrechen kann. Ein Fortschrittsbalken deckt den gesamten Ablauf ab: Upload, Entpacken, Datenbank, Notizen, dann Anhänge. Nach Abschluss der Wiederherstellung fragt Poznote, welchen Arbeitsbereich Sie öffnen möchten.
Die Wiederherstellung aus einem S3-Bucket (siehe S3-Sicherungen) läuft als derselbe Hintergrundauftrag, sodass auch das Abrufen eines großen Archivs aus dem Bucket und seine Wiederherstellung nicht davon abhängen, dass eine Anfrage bestehen bleibt.
Ist ein Upload überhaupt nicht möglich, bietet die Seite Wiederherstellen / Importieren zusätzlich eine Alternative, „Wiederherstellung per Direktkopie“: Kopieren Sie das Archiv per SSH in den Poznote-Container, genau nach /tmp/backup_restore.zip, laden Sie die Seite neu und stellen Sie von dort aus wieder her.
Einzelne Dateien importieren
Importieren Sie eine oder mehrere HTML-, Markdown- oder Textnotizen direkt:
- Unterstützt die Dateitypen
.html,.md,.markdown,.txtund.json - Bis zu 50 Dateien können gleichzeitig ausgewählt werden, einstellbar unter Einstellungen > Admin-Werkzeuge > Importlimits
ZIP-Datei importieren
Importieren Sie ein ZIP-Archiv mit mehreren Notizen:
- Unterstützt die Dateitypen
.html,.md,.markdownoder.txt - ZIP-Archive können bis zu 300 Dateien enthalten, einstellbar unter Einstellungen > Admin-Werkzeuge > Importlimits
- Beim Import eines ZIP-Archivs erkennt Poznote die Ordnerstruktur automatisch und legt sie neu an
Für das Archiv gibt es praktisch keine Größenbeschränkung. Wie bei einer vollständigen Wiederherstellung wird es in Teilstücken hochgeladen (ein fehlgeschlagenes Teilstück wird erneut gesendet, statt den gesamten Upload zu verlieren), auf dem Server wieder zusammengesetzt und anschließend von einem Hintergrundprozess verarbeitet, sodass weder der Browser noch ein vorgeschalteter Reverse Proxy den Import durch ein Timeout abbrechen kann. Ein Fortschrittsbalken deckt den gesamten Ablauf ab: Upload, Bilder und Anhänge, dann Notizen.
Einen Obsidian-Vault migrieren
Ein Obsidian-Vault ist ein Ordner mit Markdown-Dateien und lässt sich daher unverändert in einem einzigen ZIP-Archiv importieren.
Schritte
- Komprimieren Sie den Ordner Ihres Vaults zu einer ZIP-Datei. Vorher muss nichts bereinigt werden: Versteckte Ordner wie
.obsidianoder.trashwerden ignoriert. - Öffnen Sie in Poznote Einstellungen > Wiederherstellen / Importieren und gehen Sie zum Abschnitt, der Dateien und ZIP-Archive importiert. Wählen Sie den Ziel-Workspace (ein neuer, leerer Workspace macht das Ergebnis leicht überprüfbar), wählen Sie die ZIP-Datei aus und starten Sie den Import. Die ZIP-Datei auf die Notizliste der Hauptseite zu ziehen, bewirkt dasselbe.
- Lesen Sie die Zusammenfassung am Ende: Sie nennt die Anzahl der importierten Notizen, Ordner, Bilder und PDF-Dateien sowie die Dateien, die nicht importiert werden konnten.
Eine ZIP-Datei kann bis zu 300 Notizen enthalten (Bilder und PDF-Dateien zählen nicht mit). Ein Administrator kann dieses Limit unter Einstellungen > Admin-Werkzeuge > Importlimits anheben. Die Größe des Archivs ist nicht begrenzt, siehe ZIP-Datei importieren.
Was übernommen wird
- Notizen: Jede
.md-Datei wird zu einer Markdown-Notiz, benannt nach der Datei oder nach dem Schlüsseltitleihres Front Matters. - Ordner: Die Ordnerstruktur des Vaults wird samt Unterordnern neu angelegt. Liegt der gesamte Vault in einem einzigen Ordner auf oberster Ebene der ZIP-Datei, wird dieser Ordner übersprungen.
- Tags: der Schlüssel
tagsdes Front Matters und eine Zeile mit#tagsganz oben in einer Notiz. Leerzeichen in einem Tag werden zu Unterstrichen. - Front Matter:
title,folder,tags,favorite,createdundupdatedwerden gelesen, siehe Unterstützung von Markdown-Front-Matter. - Links zwischen Notizen:
[[Titel der Notiz]]funktioniert unverändert. Poznote löst den Link über den Titel auf, zeigt ihn als internen Link an und berücksichtigt ihn in den Backlinks und im Graphen. - Bilder:
![[bild.png]],![[bild.png|Beschriftung]]undwerden zu Anhängen der Notiz und an Ort und Stelle angezeigt, egal wo das Bild im Vault liegt (neben den Notizen, in einem Unterordner oder in einem Ordnerattachments). - PDF-Dateien: Ein aus einer Notiz verlinktes PDF (
![[datei.pdf]],[[datei.pdf]]oder ein Markdown-Link) wird an diese Notiz angehängt, und der Link zeigt auf den Anhang. Jedes andere PDF, neben den Notizen oder in einem Ordnerattachments, wird zu einer nach der Datei benannten Notiz mit dem PDF als Anhang, im Ordner, der seinem Platz im Vault entspricht.
Was nicht übernommen wird
- Links mit Alias oder auf eine Überschrift (
[[Notiz|Alias]],[[Notiz#Überschrift]]) bleiben im Text, führen aber zu keiner Notiz. - Eingebettete Notizen (
![[Andere Notiz]]) und Plugin-Inhalte: Dataview-Abfragen,.canvas-Dateien, Zeichnungen aus dem Excalidraw-Plugin von Obsidian. - Tags mitten in einer Notiz bleiben einfacher Text.
- Dateien anderer Typen neben den Notizen (Audio, Video, Office-Dokumente) werden ignoriert. Hängen Sie sie anschließend an die betreffende Notiz an.
Bilder und PDF-Dateien werden über den Dateinamen zugeordnet, nicht über den Pfad. Tragen zwei Dateien des Vaults denselben Namen, benennen Sie eine davon vor dem Import um.
Unterstützung von Markdown-Front-Matter
Markdown-Dateien können YAML-Front-Matter enthalten, um Metadaten der Notiz festzulegen. Folgende Schlüssel werden unterstützt:
title: Überschreibt den Titel der Notiz (Standard: Dateiname ohne Endung)folder: Überschreibt den Zielordner. Ein einfacher Name muss einem Ordner entsprechen, der im Arbeitsbereich bereits existiert; ein Pfad wieProjects/2026legt die benötigten Ordner an.tags: Array von Tags, die der Notiz zugewiesen werden. Unterstützt sowohl die Inline-Syntax[tag1, tag2]als auch die mehrzeilige Syntaxfavorite: Markiert die Notiz als Favorit (trueoderfalse)created: Legt ein eigenes Erstellungsdatum fest (Format:YYYY-MM-DD HH:MM:SS)updated: Legt ein eigenes Änderungsdatum fest (Format:YYYY-MM-DD HH:MM:SS)
Beispiel mit Inline-Array-Syntax:
---
title: My Important Note
folder: Projects
tags: [important, work]
favorite: true
created: 2024-01-15 10:30:00
updated: 2024-01-20 15:45:00
---
Beispiel mit mehrzeiliger Syntax:
---
title: My Important Note
folder: Projects
tags:
- important
- work
favorite: true
created: 2024-01-15 10:30:00
updated: 2024-01-20 15:45:00
---
Offline
Poznote funktioniert auf zwei Arten auch ohne Netzwerk: Die zuletzt geänderten Notizen, Ihre Favoriten und die Notizen oder Ordner, die Sie behalten möchten, bleiben in Ihrem Browser zum Lesen und Bearbeiten verfügbar, und eine vollständige Sicherung lässt sich überall als schreibgeschützter Export ansehen.
Offline-Notizen
Die in den letzten 5 Tagen geänderten Notizen werden in jedem Browser aufbewahrt, in dem Sie Poznote verwenden, und diese Kopie wird nach jedem Speichern aktualisiert. Im Unterricht, im Zug oder überall ohne WLAN öffnen Sie die gewohnte Poznote-Adresse: Der Browser zeigt die Offline-Version von Poznote mit derselben Seitenleiste, denselben Editoren, derselben Werkzeugleiste, derselben Suche und denselben Tabs (ein Doppelklick oder ein Mittelklick öffnet eine Notiz in einem neuen Tab, und die online geöffneten Tabs werden übernommen), listet aber nur die offline aufbewahrten Notizen auf.
- Anmeldung: Geben Sie das Passwort Ihrer letzten Anmeldung in diesem Browser ein, es wird ohne den Server geprüft. Haben Sie in diesem Browser nie Ihr Passwort eingegeben (SSO, automatische Anmeldung), öffnet sich das zuletzt verwendete Konto mit der Schaltfläche Weiter als.
- Lesen und Bearbeiten: Rich-Text-Notizen, Markdown-Notizen und Aufgabenlisten öffnen sich in ihrem gewohnten Editor, und neue Notizen können erstellt werden. Das /-Menü und das Rechtsklick-Menü funktionieren ebenfalls, ohne die Befehle, die den Server brauchen (hochzuladende Bilder und Dateien, Vorlagen, Zeichnungen, Links zu anderen Notizen). Andere Notiztypen, etwa Zeichnungen, bleiben nur online verfügbar. Änderungen bleiben im Browser, bis sie gesendet sind.
- Offline behalten: Favoriten werden immer aufbewahrt, und Offline behalten im Menü einer Notiz oder eines Ordners (Unterordner eingeschlossen) bewahrt sie unabhängig vom Datum auf, mit allen Anhängen (PDF, Audio, Dateien) bis 25 MB pro Datei. Dasselbe Menü einer Notiz zeigt an, ob sie in diesem Browser offline verfügbar ist, und die Seiten Notizen und Ordner markieren die in diesem Browser offline verfügbaren Notizen und Ordner. Auf der Seite Notizen lassen sich über die Sammelaktionen auch mehrere Notizen auf einmal offline behalten (oder nicht mehr), und die Seite Ordner bietet Offline behalten im Menü jedes Ordners.
- Offline-Seite: Die Schaltfläche Offline der Symbolleiste listet die offline behaltenen Notizen und Ordner auf, wie die Seite Freigaben: Ordner als Baum mit ihren Notizen, der Grund, warum jede Notiz behalten wird (offline behalten, in einem offline behaltenen Ordner, Favorit, kürzlich geändert), ein Filter und eine Schaltfläche, um eine Notiz offline zu behalten oder damit aufzuhören. Ein Warnsymbol markiert eine Notiz, die dieser Browser noch nicht hat.
- Wieder online: Die Änderungen werden automatisch gesendet. Wurde eine Notiz inzwischen auch auf dem Server geändert, werden beide Fassungen nach Möglichkeit zusammengeführt, andernfalls wird Ihre Offline-Fassung als eigene Notiz mit dem Namen „... (Offline-Kopie)“ behalten. Eine inzwischen auf dem Server gelöschte Notiz wird neu angelegt.
- Einstellungen: Einstellungen > Synchronisierung und Verlauf > Offline-Notizen legt fest, wie viele Tage an Notizen aufbewahrt werden (standardmäßig 5, bis zu 30, 0 schaltet Offline-Notizen aus), und zeigt, was der aktuelle Browser enthält.
- Grenzen: höchstens 300 Notizen und 50 MB Text, die zuletzt geänderten zuerst. Auch Dateien werden aufbewahrt: die in diesen Notizen angezeigten Bilder und alle Anhänge (PDF, Audio, Dateien) der Favoriten und der mit Offline behalten markierten Notizen, bis zu 25 MB pro Datei, 400 Dateien und 200 MB insgesamt, und nie mehr als die Hälfte des freien Speicherplatzes des Browsers. Eine größere Datei bleibt nur online, und die Notiz weist offline darauf hin.
- Voraussetzungen: Poznote muss über HTTPS bereitgestellt werden (Browser halten Seiten nur über eine sichere Verbindung offline bereit,
http://localhostfunktioniert ebenfalls) und nach der Anmeldung einmal online im Browser geöffnet worden sein, damit die Kopie angelegt wird. - Datenschutz: Nur die Notizen Ihres eigenen Kontos werden aufbewahrt, nicht die eines mit Ihnen geteilten Kontos oder Arbeitsbereichs. Sie werden unverschlüsselt im Browser gespeichert. Die Abmeldung entfernt sie aus dem Browser (auch noch nicht gesendete Änderungen, nach einer Warnung, die sie auflistet): Melden Sie sich an einem gemeinsam genutzten Computer ab, wenn Sie gehen. Die Abmeldung funktioniert auch ohne Netzwerk über die Offline-Seite: Die Notizen werden sofort entfernt, und die Sitzung auf dem Server endet, sobald Poznote das nächste Mal online geöffnet wird.
Offline-Export
Die 📦 Sicherung als Poznote-ZIP-Datei erzeugt eine eigenständige Offline-Version Ihrer Notizen. Entpacken Sie einfach die ZIP-Datei und öffnen Sie index.html in einem beliebigen Webbrowser. So können Sie Ihre Notizen offline lesen, allerdings ohne den vollen Funktionsumfang von Poznote: Es handelt sich um einen schreibgeschützten Export.
Mehrere Instanzen
Nicht zu verwechseln mit der Funktion Mehrbenutzerbetrieb.
Sie können mehrere voneinander getrennte Poznote-Instanzen auf demselben Server betreiben. Jede Instanz hat ihre eigenen Daten, ihren eigenen Port und ihre eigenen Zugangsdaten.
Ideal für:
- Hosting für verschiedene Benutzer auf demselben Server, jeweils mit eigener, separater Instanz und eigenem Konto
- Das Testen neuer Funktionen, ohne Ihre Produktionsinstanz zu beeinträchtigen
Wiederholen Sie einfach die Installationsschritte in verschiedenen Verzeichnissen mit unterschiedlichen Ports.
Beispiel: Instanzen für Tom und Alice auf demselben Server
Server: my-server.com
├── Poznote-Tom
│ ├── Port: 8040
│ ├── URL: http://my-server.com:8040
│ ├── Container: poznote-tom-webserver-1
│ └── Data: ./poznote-tom/data/
│
└── Poznote-Alice
├── Port: YOUR_POZNOTE_API_PORT
├── URL: http://my-server.com:YOUR_POZNOTE_API_PORT
├── Container: poznote-alice-webserver-1
└── Data: ./poznote-alice/data/
KI-Assistent
Poznote enthält einen integrierten KI-Chat, der sich mit einer lokalen Ollama- oder LM Studio-Instanz, einem Cloud-Anbieter wie Anthropic (Claude) oder OpenAI oder jedem OpenAI-kompatiblen Server verbindet. Er durchsucht und liest Ihre Notizen, um Fragen zu beantworten, und erstellt, überarbeitet und organisiert sie auf Wunsch, innerhalb des Arbeitsbereichs, in dem Sie den Chat geöffnet haben.
Ein Administrator aktiviert ihn unter Einstellungen → Admin-Werkzeuge → KI-Assistent, danach erhält jedes Profil eine Schaltfläche KI-Assistent in der linken Symbolleiste. Der KI-Server wird vom Poznote-Server aus aufgerufen, nie aus Ihrem Browser, sodass Ihre Notizen mit einer lokalen Ollama-Instanz nie Ihren Rechner verlassen.
Was der Assistent kann, die Wahl eines Anbieters und eines Modells, persönliche API-Schlüssel, externe Tools wie eine Websuche (entfernte MCP-Server) und die Anbindung eines lokalen Servers aus dem Poznote-Container heraus sind in der Dokumentation zum KI-Assistenten beschrieben. Wenn stattdessen ein externer KI-Assistent (VS Code Copilot, Claude CLI...) Ihre Notizen verwalten soll, lesen Sie weiter unten den Abschnitt MCP-Server.
Transkription (Sprache zu Text)
Verwandeln Sie Sprache in Notiztext, mit einem Speech-to-Text-Server, den Sie selbst betreiben. Poznote enthält kein eigenes Sprachmodell: Es kommuniziert mit jedem Server, der die OpenAI-Audio-API bereitstellt (POST /v1/audio/transcriptions), etwa einem selbst gehosteten Whisper, sodass die Audiodaten Ihren Rechner nie verlassen müssen.
Sobald ein Administrator die Funktion unter Einstellungen → Admin-Werkzeuge → Transkription aktiviert, finden Sie im Slash-Menü unter Einfügen den Eintrag Diktieren sowie an Audio-Anhängen eine Schaltfläche Transkribieren.
Die Einrichtung eines Servers, die Wahl eines Modells und alles Weitere sind in der Dokumentation zur Transkription beschrieben.
MCP-Server
Poznote enthält einen Model-Context-Protocol-Server (MCP), über den KI-Assistenten wie GitHub Copilot oder Claude CLI in natürlicher Sprache mit Ihren Notizen arbeiten können. Zum Beispiel:
- „Erstelle eine neue Notiz mit dem Titel 'Meeting Notes' und dem Inhalt ...“
- „Suche nach Notizen über 'Docker'“
- „Liste alle Notizen in meinem Poznote-Arbeitsbereich auf“
- „Aktualisiere Notiz 42 mit neuen Informationen“
Der MCP-Server ist Teil der offiziellen docker-compose.yml und wird nur auf 127.0.0.1 veröffentlicht, sodass ihn standardmäßig nichts außerhalb Ihres Rechners erreichen kann. Einrichtung, Client-Konfiguration, Überschreibungen für Port und Debug sowie der Schutz mit POZNOTE_MCP_AUTH_TOKEN, wenn Sie ihn weiter freigeben, sind in der Dokumentation zum MCP-Server beschrieben.
Apps
Poznote läuft in jedem Browser und lässt sich außerdem aus dem Browser heraus als Web-App (PWA) installieren: Es erhält dann ein eigenes Symbol und ein eigenes Fenster, wie eine native Anwendung.
- Android und Computer: Öffnen Sie Ihre Poznote-Instanz in Chrome oder Edge und wählen Sie im Browsermenü Installieren.
- Firefox unter Android: Öffnen Sie Ihre Poznote-Instanz in Firefox und wählen Sie im Browsermenü Zum Startbildschirm hinzufügen.
- iPhone und iPad: Öffnen Sie Ihre Poznote-Instanz in Safari, tippen Sie auf Teilen und dann auf Zum Home-Bildschirm.
Für die Installation der Web-App muss Poznote über HTTPS ausgeliefert werden (
http://localhostfunktioniert ebenfalls).
Die Apps-Seite der Website führt alles Verfügbare auf: die Web-App, die Chrome-Erweiterung und die von der Community entwickelten mobilen Apps.
Chrome-Erweiterung
Der Poznote URL Saver ist eine Browsererweiterung, die die URL oder sogar einen ganzseitigen Screenshot der aktuellen Seite mit einem einzigen Klick in Ihrer Poznote-Instanz speichert. Installieren Sie sie aus dem Chrome Web Store: Erweiterung installieren
Die Erweiterung verbindet sich mit Ihrer Instanz über Ihren Benutzernamen und ein App-Passwort. Die Einrichtungsschritte finden Sie in der Dokumentation zur Chrome-Erweiterung.
Unter Android an Poznote teilen
Unter Android erscheint Poznote im Teilen-Menü des Systems, sobald die PWA installiert ist. Teilen Sie eine Seite aus Chrome (oder einen Link bzw. Text aus einer beliebigen App), wählen Sie Poznote, und es wird eine neue Notiz mit dem Seitentitel und einem anklickbaren Link angelegt, ganz ohne Erweiterung.
So verwenden Sie die Funktion:
- Öffnen Sie Ihre Poznote-Instanz in Chrome unter Android und installieren Sie sie als App (Menü → Zum Startbildschirm hinzufügen → Installieren).
- Tippen Sie in einer beliebigen App auf Teilen und wählen Sie dann Poznote.
Falls Poznote nicht sofort im Teilen-Menü erscheint, vergewissern Sie sich, dass die App installiert ist (und nicht nur ein Lesezeichen). Wenn Sie die PWA installiert haben, bevor diese Funktion veröffentlicht wurde, übernimmt Chrome die neue Fähigkeit nach einigen Tagen automatisch, oder sofort, wenn Sie die App neu installieren.
API-Dokumentation
Poznote bietet eine umfassende RESTful API v1 für den programmatischen Zugriff auf Notizen, Ordner, Arbeitsbereiche, Tags, Anhänge, Sicherungen, Einstellungen und mehr.
Die vollständige API-Referenz mit allen Endpunkten, Parametern und curl-Beispielen finden Sie in der REST-API-Dokumentation.
Schnellstart
# Alle Notizen des Benutzers mit der ID 1 auflisten
curl -u 'username:password' -H "X-User-ID: 1" \
http://YOUR_SERVER/api/v1/notes
# Dasselbe mit einem App-Passwort, erstellt unter Einstellungen > App-Passwörter
# (funktioniert auf Nur-SSO-Instanzen; X-User-ID ergibt sich von selbst)
curl -u 'username:pzn_2f7c…' http://YOUR_SERVER/api/v1/notes
# Eine Notiz erstellen
curl -X POST -u 'username:password' -H "X-User-ID: 1" \
-H "Content-Type: application/json" \
-d '{"heading": "My Note", "content": "Hello!", "type": "markdown"}' \
http://YOUR_SERVER/api/v1/notes
Interaktive Dokumentation (Swagger)
Rufen Sie die Swagger UI direkt in Poznote unter Einstellungen > Über > API REST auf, um alle Endpunkte zu durchsuchen, Anfrage- und Antwortschemata einzusehen und API-Aufrufe interaktiv zu testen.
Technologie-Stack
Poznote setzt auf Einfachheit und Portabilität: keine komplexen Frameworks, keine schweren Abhängigkeiten. Nur geradlinige, zuverlässige Webtechnologien, die dafür sorgen, dass Ihre Notizen zugänglich und unter Ihrer Kontrolle bleiben.
Architektur mit Fokus auf Datenschutz: Poznote arbeitet vollständig lokal und benötigt für seine Funktionen keine externen Verbindungen. Alle Bibliotheken (Excalidraw, Mermaid, KaTeX) sind gebündelt und werden von Ihrer eigenen Instanz ausgeliefert. Im Auslieferungszustand ist die einzige ausgehende Verbindung eine tägliche Prüfung auf Updates; die optionalen Funktionen, die Sie selbst einschalten (Git-Synchronisierung, S3, ein KI-Anbieter und die externen Tools, die Sie mit ihm verbinden, Webhooks, SMTP, OIDC), sind die einzigen weiteren.
Wenn Sie sich für den Technologie-Stack interessieren, auf dem Poznote aufbaut, werfen Sie hier einen Blick darauf.
Backend
- PHP 8.5: Serverseitige Skriptsprache
- SQLite 3: Leichtgewichtige, dateibasierte relationale Datenbank
Frontend
- HTML5: Markup und Struktur
- CSS3: Gestaltung und responsives Design
- JavaScript (Vanilla): Interaktive Funktionen und dynamische Inhalte
- Vite: Build-Toolchain für die Komponenten Excalidraw (React) und CodeMirror (als IIFE gebündelt)
- AJAX: Asynchrones Laden von Daten
Bibliotheken
- CodeMirror 6: Erweiterbarer Code- und Texteditor für die Bearbeitung von Markdown
- Excalidraw: Virtuelles Whiteboard zum Skizzieren von Diagrammen und Zeichnungen
- Mermaid: Clientseitige JavaScript-Bibliothek zur Erzeugung von Diagrammen und Flussdiagrammen aus Text
- KaTeX: Clientseitige JavaScript-Bibliothek für schnellen mathematischen Formelsatz und die Darstellung mathematischer Gleichungen
- Sortable.js: JavaScript-Bibliothek für Sortieren per Drag-and-drop
- Lucide: Icon-Set der gesamten Oberfläche
- Devicon: Symbole der Programmiersprachen in Codeblöcken
- highlight.js: Syntaxhervorhebung für Codeblöcke
- Swagger UI: Interaktive Oberfläche zur API-Dokumentation und zum Testen
Speicherung
- HTML-/Markdown-Dateien: Notizen werden als einfache HTML- oder Markdown-Dateien im Dateisystem gespeichert
- SQLite-Datenbank: Metadaten, Tags, Beziehungen und Benutzerdaten
- Dateianhänge: Im lokalen Dateisystem oder optional in einem S3-kompatiblen Objektspeicher gespeichert
Infrastruktur
- Nginx + PHP-FPM: Leistungsstarker Webserver mit FastCGI Process Manager
- Alpine Linux: Sicheres, schlankes Basis-Image
- Docker: Containerisierung für einfache Bereitstellung und Portabilität
- Supervisor: Startet Nginx, PHP-FPM und die Hintergrund-Worker (Erinnerungen, geplante Backups)
- Python 3.12 (Alpine): Laufzeitumgebung des MCP-Servers mit den Bibliotheken httpx, uvicorn und fastmcp für die Integration von KI-Assistenten
Ähnliche Projekte entdecken
n8n-io/n8n
Fair-code-Plattform zur Workflow-Automatisierung mit nativen KI-Funktionen. Visuelles Erstellen lässt sich mit eigenem Code kombinieren; die Plattform kann selbst gehostet oder in der Cloud genutzt werden und bietet über 400 Integrationen.
209,959 Sternelanggenius/dify
Agentenbasierte Workflows und RAG-Pipelines mit umfangreicher Unterstützung für KI-Modelle und Tools in einem gemeinsamen Arbeitsbereich erstellen. In der Cloud, in einer VPC oder selbst gehostet bereitstellen, damit Teams vom Prototyp in die Produktion wechseln, ohne den Stack neu aufzubauen.
160,773 Sternemicrosoft/PowerToys
Microsoft PowerToys ist eine Sammlung von Dienstprogrammen, die Produktivität und Anpassungsmöglichkeiten unter Windows steigern
140,755 Sternestablyai/orca
Orca ist der Ort für die Arbeit mit einer Flotte von Agenten (z. B. Grok Bot, Claude Code). Beliebige Coding-Agents lassen sich mit dem eigenen Abonnement ausführen. Verfügbar auf dem Desktop, mobil und als Remote-Runtime.
120,604 Sterne