NEWS
Lokal Notizen verwalten
-
Hey,
ich suche schon lange ein kleines Programm womit ich via Browser meine Notizen strukturiert sammeln kann.
Irgendwie hat mir nichts wirklich gefallen.
Zu überladen, Code wurde nicht korrekt angezeigt, zu wenig Funktionen etc.Dann habe ich gedacht gebe ich mich mal selber an was dran (Weil es mir aber auch Spaß macht sowas zu probieren).
Würde mich freuen wenn einer von euch auch einen Mehrwert für sich dran findet oder Feedback gibt.
HINWEIS
Das Programm ist komplett mit KI geschrieben.
Ich hab es mit verschiedenen KIs gegenprüfen lassen ob es Sicherheitstechnische Bedenken gibt. Ich selber finde den Code so weit ich es interpretiert bekomme auch okay.Wenn alles mit KI gecodet ist hier auch eine Beschreibung aus der KI 🤣:
📝 Self-Hosted Notiz-Tool
Ein schlankes, schnelles und vollständig selbstgehostetes Web-Notizbuch. Es kombiniert die Leichtigkeit von Markdown mit mächtigen Features wie einem integrierten Skizzenblock, Push-Erinnerungen, Live-Synchronisation und automatischen Backups – angetrieben von einer robusten SQLite-Datenbank und verpackt in einem einzigen, einfach zu installierenden Bash-Skript.
✨ Features
- Einfacher Editor: Markdown-Unterstützung (Fett, Kursiv, Listen, Code-Blöcke mit Highlighting, Zitate, Spoiler).
- Live-Sync & Sperrsystem (Locking): Automatische Aktualisierung im Hintergrund. Ein intelligentes Sperrsystem blockiert die Notiz für andere Geräte, sobald jemand tippt oder in der Historie wühlt – so werden Überschreibungen zu 100 % verhindert.
- Versionsverlauf (Historie): Mache Fehler rückgängig! Einstellbare Lebensdauer für alte Versionen (z. B. 30 Tage) inklusive nahtloser Wiederherstellung auf Knopfdruck.
- Dateien & Bilder: Drag & Drop Upload für Bilder und beliebige Dateien (bis zu 50 MB) mit nativem Fortschrittsbalken.
- Skizzenblock: Integriertes Zeichen-Tool für schnelle handschriftliche Notizen oder Skizzen (funktioniert per Touch am Handy, inkl. Dark-/Light-Backgrounds).
- Erinnerungen & Webhooks: Setze fällige Termine (Datum oder exakte Uhrzeit) und lass dich über anpassbare HTTP-Webhooks (GET/POST) via Push-Nachricht (z. B. ntfy.sh oder Discord) benachrichtigen.
- Smarte Suche: Durchsucht Titel und Texte rasend schnell (findet auch Wort-Teile) und klappt den Notiz-Baum automatisch genau dort auf, wo sich der Treffer befindet.
- Organisation: Unendlich verschachtelbare Ordnerstruktur, Drag & Drop Sortierung, @-Erwähnungen (Verlinkungen) und automatische Backlink-Anzeige (wer verlinkt auf diese Notiz?).
- Sicherheit & Wartung: Optionaler Passwortschutz, intelligenter nächtlicher Cronjob (löscht verwaiste Uploads erst, wenn sie auch aus der Historie abgelaufen sind).
- Backup & Restore: Tägliche automatische Voll-Backups (
.tar.gz). Wiederherstellung alter Server-Backups oder das Hochladen eigener Archive funktioniert direkt über die Benutzeroberfläche (kein Konsolenzugriff nötig). - Anpassbar: Dark- und Light-Mode sowie frei wählbare Akzentfarben direkt im Menü.
🚀 Installation
Das Tool wird über ein interaktives Setup-Skript installiert. Es richtet die Python-Umgebung (Flask), alle Verzeichnisse, die SQLite-Datenbank sowie die systemd-Services und Cronjobs automatisch ein.
Voraussetzungen: Ein Linux-Server (z. B. Ubuntu/Debian) und Root-Rechte.
Step-by-Step
wget -O setup_notes_sql_lite.sh https://raw.githubusercontent.com/ipod86/Notizen/main/setup_notes_sql_lite.sh && chmod +x setup_notes_sql_lite.sh && sudo ./setup_notes_sql_lite.sh


Biete das doch direkt als docker Container an. Das dockerfile kannst du dir auch mit ki schreiben lassen.
Hier habe ich ein ähnliches Projekthttps://github.com/oweitman/fail2bancontrol
https://hub.docker.com/r/oweitman/fail2bancontrol -
Biete das doch direkt als docker Container an. Das dockerfile kannst du dir auch mit ki schreiben lassen.
Hier habe ich ein ähnliches Projekthttps://github.com/oweitman/fail2bancontrol
https://hub.docker.com/r/oweitman/fail2bancontrol -
@david-g. vielen Dank. Ich teste es zeitnah. Die einzige Hürde war das Skript auf die Debian VM zu bekommen. Zumindest, wenn man, wie ich gestern, nicht am PC sitzt. Das ISO-Image war eine Idee, ich ich jetzt mal ausprobiert habe. Und, es hat funktioniert. Aber nicht jeder hat Proxmox. Per wget aus Github wäre wohl auch einfach gegangen. Aber so oft wird das wohl nicht aktualisiert werden müssen.
"Multiuser" ist mein Standard-Anwendungsfall. Notizen für eine Reise / Ausflug / Shoppen bearbeite ich mit dem Gerät, was ich gerade zur Hand habe. Also oft Android-Tablet, PC, Handy.
Das mit dem Neuladen hatte ich bei den Tests vorhin zweimal. Die Meldung kommt dann halt beim Speichern und die Änderungen waren dann weg. Abbrechen hatte ich so direkt nicht gefunden. Da gucke ich nochmal genauer hin.
-
Da habe ich mich noch nie mit beschäftigt.
Muss ich das ja nicht viel mehr pflegen, nicht dass die Leute in ein oder zwei Jahren ganz veraltete Programmversion am Laufen haben.Jetzt ist ja alles immer aktuell über das Betriebssystem.
-
@david-g. vielen Dank. Ich teste es zeitnah. Die einzige Hürde war das Skript auf die Debian VM zu bekommen. Zumindest, wenn man, wie ich gestern, nicht am PC sitzt. Das ISO-Image war eine Idee, ich ich jetzt mal ausprobiert habe. Und, es hat funktioniert. Aber nicht jeder hat Proxmox. Per wget aus Github wäre wohl auch einfach gegangen. Aber so oft wird das wohl nicht aktualisiert werden müssen.
"Multiuser" ist mein Standard-Anwendungsfall. Notizen für eine Reise / Ausflug / Shoppen bearbeite ich mit dem Gerät, was ich gerade zur Hand habe. Also oft Android-Tablet, PC, Handy.
Das mit dem Neuladen hatte ich bei den Tests vorhin zweimal. Die Meldung kommt dann halt beim Speichern und die Änderungen waren dann weg. Abbrechen hatte ich so direkt nicht gefunden. Da gucke ich nochmal genauer hin.
@peterfido sagte in Lokal Notizen verwalten:
Multiuser
Multiuser bedeutet eigentlich auch, zwei oder mehr Personen die gleichzeitig mit arbeiten.
Jetzt sollte es aber sicherer sein, wenn du nicht innerhalb von 30sek die Geräte wechselst.
Gann das Script ja auf GitHub verfügbar machen.
Dort kann man ja auch vorher reinschauen.@OliverIO sagte in Lokal Notizen verwalten:
wenn ich ein release commit mache, erzeugt github automatisch einen aktualisierten container und publiziert den auch noch dockerhub
Arbeitest du dann mit latest Images auf denen du aufbaust?
Docker war nur so meins. Im Moment Wechsel ich nach und nach wo es geht von Docker Containern zu CTs in Proxmox. -
Github oder so wäre gar nicht verkehrt. Die Änderung ist nur im Post #10? Oder auch im Download in #1?
Beim Texteditor muss ich aufpassen, dass das Zeilenende im korrekten Format ist. Auch die genutzte Codierung auf meinem Tablet weiß ich gerade nicht. Der Download gestern ging einfach zu handhaben.
-
@peterfido sagte in Lokal Notizen verwalten:
Multiuser
Multiuser bedeutet eigentlich auch, zwei oder mehr Personen die gleichzeitig mit arbeiten.
Jetzt sollte es aber sicherer sein, wenn du nicht innerhalb von 30sek die Geräte wechselst.
Gann das Script ja auf GitHub verfügbar machen.
Dort kann man ja auch vorher reinschauen.@OliverIO sagte in Lokal Notizen verwalten:
wenn ich ein release commit mache, erzeugt github automatisch einen aktualisierten container und publiziert den auch noch dockerhub
Arbeitest du dann mit latest Images auf denen du aufbaust?
Docker war nur so meins. Im Moment Wechsel ich nach und nach wo es geht von Docker Containern zu CTs in Proxmox.@David-G. sagte in Lokal Notizen verwalten:
Arbeitest du dann mit latest Images auf denen du aufbaust?
Das ist das schöne, ich muss mich gar nicht mit Betriebssystem beschäftigen.
Ich nehme ein vorhandenes Image direkt von python. Solange die Version vom aktuellsten Betriebssystem unterstützt wird, wird das so bereitgestellt.https://hub.docker.com/_/python#shared-tags
Also python:3-slim ist immer das letzte 3er stable von python mit dem letzten stable von debian slim ist immer die schmale Ausführung des Betriebssystems mit nur dem nötigsten.
https://hub.docker.com/layers/library/python/3-slim
in diesem Fall trixie. Gesamtgröße image ist ca 42MBpython bietet eine vielzahl von versions tags an. da kann man alles auswählen was man will
ok, in meinem aktuellen container verweise ich auf eine feste version 3.12-slim
-
@david-g. ich muss nachher wohl doch an den PC. Die Installation auf dem Weg wie gestern meldet zumindest ein Berechtigungsproblem in Zeile 50.

Edit: lief wohl trotzdem durch:

Ich bin begeistert.
Evtl. den Schieber für die Stiftstärke breiter machen oder einen Wert anzeigen und +- Tasten. Zumindest ich brauchte mit dem Stylus einige Anläufe, bis die Strichstärke wie gewünscht war, da der Schieberegler anfangs nicht fein justiert werden kann. Es braucht für die erste Änderung eine gewisse Bewegungsstrecke des Schiebers. -
Github oder so wäre gar nicht verkehrt. Die Änderung ist nur im Post #10? Oder auch im Download in #1?
Beim Texteditor muss ich aufpassen, dass das Zeilenende im korrekten Format ist. Auch die genutzte Codierung auf meinem Tablet weiß ich gerade nicht. Der Download gestern ging einfach zu handhaben.
@peterfido sagte in Lokal Notizen verwalten:
Github oder so wäre gar nicht verkehrt. Die Änderung ist nur im Post #10? Oder auch im Download in #1?
Beim Texteditor muss ich aufpassen, dass das Zeilenende im korrekten Format ist. Auch die genutzte Codierung auf meinem Tablet weiß ich gerade nicht. Der Download gestern ging einfach zu handhaben.
Hab es hochgeladen mit kleiner Setupankeitung
https://github.com/ipod86/Notizen/blob/main/README.md@OliverIO sagte in Lokal Notizen verwalten:
@David-G. sagte in Lokal Notizen verwalten:
Arbeitest du dann mit latest Images auf denen du aufbaust?
Das ist das schöne, ich muss mich gar nicht mit Betriebssystem beschäftigen.
Ich nehme ein vorhandenes Image direkt von python. Solange die Version vom aktuellsten Betriebssystem unterstützt wird, wird das so bereitgestellt.https://hub.docker.com/_/python#shared-tags
Also python:3-slim ist immer das letzte 3er stable von python mit dem letzten stable von debian slim ist immer die schmale Ausführung des Betriebssystems mit nur dem nötigsten.
https://hub.docker.com/layers/library/python/3-slim
in diesem Fall trixie. Gesamtgröße image ist ca 42MBpython bietet eine vielzahl von versions tags an. da kann man alles auswählen was man will
ok, in meinem aktuellen container verweise ich auf eine feste version 3.12-slim
Ich schaue mir das mal an wie das läuft. Ob cron oder so drinnen ist oder da was angepasst werden muss.
-
Das ist wesentlich einfacher. Bei der Anleitung im Github ist die URL zu dem Skript zweimal hinter wget. nicht, dass da jemand drüber stolpert.
Ich nehme dann mein iso-Image aus Post#5 (oder so) wieder raus.
URL ist korrigiert und der Fehler den du hattest wegen Zeile 50 hoffe ich auch.
-
Hab noch was neues eingebaut.
Einen Reminder.Im Bearbeitungsmodus einer Notiz kann man jetzt ein Datum oder Datum mit Uhrzeit vergeben.
Wenn erreicht bekommt man im Baum der Notizen bis zur entsprechenden Notiz ein leicht blinkendes Warnsymbol angezeigt.

Edit:
Warte aber noch kurz mit der Version, noch ein Bug dass man nach 30sek aus dem Editor fliegt. -
Ok. Zur Not den 30 - Sekunden Refresh wieder rausnehmen. Heute komme ich nicht mehr an den PC. Kann Samstag Morgen werden.
Und ich hab bis morgen vormittag kein KI Guthaben mehr ^^.
-
Ich habe gitea als Docker Container.
Bisher nutze ich das auch für Notizensammlung. Bietet aber natürlich nicht den ganzen Funktionsumfang, den Du beschreibst.
Dafür kann man mit git Mechanismen die repositories auf allen Plattformen synchron halten.
Im Browser natürlich dann nur auf der URL des gitea containers -
Und ich hab bis morgen vormittag kein KI Guthaben mehr ^^.
-
Eine Idee habe ich nocht. Wenn jede Notiz zwei Zeitstempel [erstellt,geändert] mitschleppt, könnte man diese z.B. für Synchronisationszwecke nutzen. Zumindest hat man schonmal die Infos. Der erstellt am -Stempel wäre nebenbei als eindeutige ID brauchbar.
-
Eine Idee habe ich nocht. Wenn jede Notiz zwei Zeitstempel [erstellt,geändert] mitschleppt, könnte man diese z.B. für Synchronisationszwecke nutzen. Zumindest hat man schonmal die Infos. Der erstellt am -Stempel wäre nebenbei als eindeutige ID brauchbar.
Eine Eindeutige ID bekommen sie schon über den Zeitstempel.
Ebenso das JSON wenn es geschrieben wird (Über das Dateiattribut).
Darüber wird geprüft ob sich was geändert hat über einem anderem Browser. Also nicht pro Notiz sondern allgemein.- Du öffnest den Editor eine Notiz am Rechner
- TS der JSON wird gelesen
- Speichern
- Script prüft ob sich der TS seit dem öffnen geändert hat (geht ja nur über einen anderen Rechner)
- Wenn nein, es wird gespeichert
- Wenn ja, es kommt die Warnung die du kennst
Man könnte aber noch einbauen, dass wenn Rechner A im Bearbeitungsmodus ist, Rechner B nicht in den Bearbeitungsmodus kommt und eine Meldung erscheint. Sowas wie "Warte bis ein anderer User mit dem bearbeiten seiner Notiz fertig ist" oder so. (Falls man es hinkommt zu erkennen, wenn der Browser einfach geschlossen wird im Bearbeitungsmodus. Sonst könnte man stecken bleiben. Teste ich mal.
EDIT
Das Problem mit den 30sek sollte gefixt sein und Pessimistic Locking (nur ein Gerät kann zum selben Zeitpunkt was bearbeiten) eingebaut.Meine ersten Tests waren gut.
EDIT 2
Unter setup_test.sh hab ich auf git eine Version die wenn ein Termin erreicht ist einen webhook senden kann. Hab bisher nur "Post" getestet. Das klappt wunderbar. Wenn das Notiz Tool im selben Netz wie der iobroker läuft kann man auch schnell die Daten an die simpleApi senden.
Oder sämtliche anderen Dienste die das unterstützen. -
@david-g. ich arbeite gerade an einer App für Android. Das klappt schon relativ gut. Was mir allerdings beim Testen passiert ist, war, dass alle Notizen verloren gingen. - In der Testphase nicht schlimm. Allerdings sind auch alle Settings mit verschwunden, da in der selben json. Das kann wohl auch jederzeit passieren, wenn der Server Murks empfängt.
Das sollte / könnte noch robuster werden.
-
@david-g. ich arbeite gerade an einer App für Android. Das klappt schon relativ gut. Was mir allerdings beim Testen passiert ist, war, dass alle Notizen verloren gingen. - In der Testphase nicht schlimm. Allerdings sind auch alle Settings mit verschwunden, da in der selben json. Das kann wohl auch jederzeit passieren, wenn der Server Murks empfängt.
Das sollte / könnte noch robuster werden.
App für Notizen?
Dachte wolltest von jedem Gerät dran können.In wie fern robuster? Es wird ein sauberes json geschrieben.
Im nächsten Update kommt noch ein fix, der es erst in eine tmp Datei schreibt und wenn fertig in die echte Datei, falls die Verbindung abbricht etc und dann nichts korrupt wird.