A self-hosted, encrypted diary web application with markdown support, file uploads, and multi-user capabilities.
DailyTxT is an open-source, encrypted diary web application that allows users to privately journal online. It encrypts all entries and uploaded files on the server before storage, ensuring that even server administrators cannot access user data. The app provides a markdown editor, file management, search functionality, and multi-user support, all designed to be self-hosted for complete data control.
Privacy-conscious individuals, developers, and teams who want a secure, self-hosted journaling solution with full control over their data and encryption keys.
Developers choose DailyTxT for its strong focus on privacy through server-side encryption, ease of self-hosting via Docker, and a rich feature set including markdown, file uploads, and multi-user management—all without relying on external databases or cloud services.
Encrypted Diary Web-App
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses ChaCha20-Poly1305 to encrypt all entries and files on the server, ensuring data privacy even from administrators, as detailed in the encryption section.
Offers live preview, custom templates, and tag support for enhanced writing and organization, making it versatile for journaling.
Designed for Docker Compose with a provided configuration file, simplifying setup and maintenance for self-hosting.
Stores data in JSON files without a database, allowing easy migration and backups, as emphasized in the philosophy.
Upgrading from version 1 requires careful backups, environment variable changes, and cache clearing, which can be error-prone and time-consuming.
Encryption occurs on the server to enable search functionality, meaning data is decrypted server-side, posing a risk if the server is compromised.
Relies entirely on Docker for deployment, which may alienate users unfamiliar with containerization or preferring traditional hosting methods.
Uses JSON files for storage instead of a database, which may not efficiently handle large volumes of data or high concurrent user loads.