notesme
A lightweight, secure, and self-hosted note-taking application with end-to-end encryption, built with FastAPI and Vanilla JS.
What is it?
What it is
NotesMe is a self‑hosted, lightweight note‑taking application that runs in a single Docker container. It stores notes in an encrypted SQLite database, offers a vanilla‑JS frontend, and can be deployed with one command.
Why it exists
The project was created to fill a gap for a simple yet feature‑rich self‑hosted note app that supports folder organization, automatic versioning, secure backups, and a clean user experience without the bloat of large frameworks.
Who should use it
Self-hosters looking for lightweight note-taking solutionsUsers prioritizing privacy and end-to-end encryption at restDevelopers who prefer zero-framework, high-performance frontendsIndividuals needing simple version control for their notesUsers wanting a Progressive Web App (PWA) for mobile/desktop use
Who should avoid it
Users who do not want to manage their own server or Docker containersUsers requiring advanced AI-integrated note-taking featuresUsers who cannot safely store and manage an encryption key
How it works
A quick walkthrough in plain English
How notesme works
Step 1 of 3
You interact with it
Open notesme, send a request, or connect it to your stack.
Features
Advantages
- Open source (MIT)
- Active HTML ecosystem
- Self-hosted deployment options
Disadvantages
- Requires operational ownership for self-hosted setups
- Community support varies by project maturity
Installation
docker
# 1. Create the environment file cp .env.example .env # 3. Edit .env with your values # - Set a strong password # - Generate an encryption key (see below) vim .env # 4. Adapt the volume path # 5. Launch docker run -d -p 8080:8080 -v ./:/app/data ghcr.io/stban1983/notesme:latest
FAQ
How do I ensure my notes are secure and encrypted?
Encryption is optional and must be manually enabled by setting an `ENCRYPTION_KEY` in your `.env` file. When enabled, note content is encrypted at rest using AES-128-CBC via the Fernet library. Note that you must keep this key safe; if lost, your encrypted notes cannot be recovered.
Can I use NotesMe while offline?
Yes, NotesMe is a Progressive Web App (PWA) that supports an offline mode for reading notes. It can also be installed as a native app on both mobile and desktop devices.
How does the versioning system work?
The application automatically takes snapshots of your notes every 5 minutes. It maintains a history of up to 50 versions per note, allowing you to track changes and revert if necessary.
How do I back up my data?
To fully back up your application, you must back up the `./data` directory (which contains your SQLite database and uploaded images) as well as your `.env` file containing your encryption key.
What formats can I use to export my notes?
You can export any note into plain text (.txt) or HTML format through the history/export functionality.
Featured in Videos
YouTube tutorials and walkthroughs for notesme
Alternatives
Similar projects ranked by category, topics, and text overlap.