ZNote: A Lightweight Note-Taking App with Docker Private Deployment and Web Access
xiaoz has tried many note-taking software on the market, including Evernote, Youdao Note, WizNote, Obsidian, Joplin, Notion, Siyuan Note, UpNote, TriliumNext, and more. Some were unattractive, some too bloated, some had sync difficulties, and others were overly complex. Ultimately, no single solution was perfect, leading to the idea of developing a note-taking app of my own. This idea has existed for years but remained unexecuted until now.
With the help of AI, this idea has quickly become a reality, giving birth to ZNote today. Whether it is good or not, at least the wish has been fulfilled. If you find it useful, feel free to deploy and try it.

ZNote open source address: https://github.com/helloxz/znote
About ZNote
ZNote is a small yet beautiful pure note-taking application, natively supporting WYSIWYG Markdown. Deploy once, use anywhere. It is built with Bun + Hono.js + libSQL + Vue3.

ZNote official website: https://znote.xphub.dev/
Demo Information
- Demo Address: https://znote.xphub.dev/
- Account:
demo - Password:
blog.xiaoz.org
ZNote Features
- Pure Note Application: No mind maps, no checklists, no extra features; focused solely on note-taking.
- Native Markdown: WYSIWYG editing, allowing you to focus on content without distractions.
- No Sync Hassles: Data is stored centrally on the server; users do not need to configure sync solutions.
- Private Deployment: Supports Docker private deployment, giving you full control over your data with local storage and privacy assurance.
- Web Access: Accessible via browser anytime, anywhere, without installing a client; cross-platform compatibility.
- Drag-and-Drop Sorting: Supports drag-and-drop sorting for both note categories and content.
- Data Import: Supports importing local
.mdfiles by categorizing and packaging them into a ZIP file for one-click import. - Version History: Automatically records the last 50 versions, allowing rollback at any time without fear of data loss.
- Multi-User Support: Supports up to 5 user accounts, suitable for individuals or families.
- Lightweight: Built on Bun + Hono.js + libSQL, ensuring fast startup and low resource usage.
- Global Search: Full-text search across categories, locating notes instantly by keyword.
- API Support: Provides RESTful API for third-party tool integration and automation.
What Pain Points Does ZNote Solve?
Why Not Use Pure Client-Side Note Applications?
Many pure client-side note applications on the market are excellent, with beautiful interfaces, but they may have the following drawbacks:
- Sync Difficulties: Requires manual configuration via WebDAV/S3/Git for synchronization.
- Access Difficulties: No web access support.
- Sorting Difficulties: Most local note software does not support category sorting or content sorting, lacking flexibility.
- Weak Version History: Some local notes do not support version history at all, while others rely on WebDAV's sync history.
- No Multi-User Support: If you want to recommend it to friends, they must install the client and configure sync services, which is cumbersome.
Therefore, ZNote prioritizes web access; as long as you have a browser, you can access it. Expanding to PC clients and mobile apps in the future will be a natural progression.
Bloatware Issues
Some note applications are undeniably powerful, incorporating mind maps, to-do lists, and bidirectional links, making them overly complex for beginners. I simply wanted a tool for pure note-taking.
Thus, ZNote provides only note-taking functionality, without mind maps, checklists, or bidirectional links, focusing purely on notes.
Privacy Risks
Using online cloud notes is convenient but may lead to data leaks and privacy risks.
Multi-User Support
For private deployment, some solutions are complex, resource-intensive, or lack multi-user support.
ZNote maintains a lightweight design while supporting multi-user functionality (up to 5 users), allowing you to share it with family or friends.
Note: The above are issues encountered by xiaoz personally and may not represent all users. ZNote was developed based on personal pain points and cannot guarantee it meets everyone's needs.
Deploying ZNote
ZNote currently supports Docker installation. Docker Compose is recommended. Create a compose.yaml file and add the following:
services:
znote:
container_name: znote
image: helloz/znote:latest
ports:
- "3888:3888"
volumes:
- "./data:/app/data"
restart: always
environment:
TZ: Asia/Shanghai
Run docker compose up -d to start, then access http://ip:3888. The first time you use it, you will be guided to create an administrator account.
Other Notes
ZNote is currently in the Beta stage and may have imperfections or bugs. It will continue to iterate and optimize. Future plans include:
- Note sharing
- AI features
- Multi-language support
- Export all notes
- Document functionality
- Browser extension
- Mobile client
- PC client
Conclusion
ZNote was born from xiaoz's obsession with the lack of suitable note-taking software on the market. It may not be the most powerful, but it is focused—dedicated solely to pure recording, returning data control to you.
If you are looking for a lightweight, private, and ready-to-use note-taking tool, spend a minute deploying it with Docker. Whether it works well or not, it marks the end of this "wish."
Project Address: https://github.com/helloxz/znote