https://github.com/kbennett2000/my-keep
Self-hosted, fully-offline notes app inspired by Google Keep — notes, checklists, labels, colours, and image attachments. Node + SQLite + React in one Docker container.
https://github.com/kbennett2000/my-keep
docker express google-keep home-server keep-clone nodejs note-taking notes offline-first react self-hosted selfhosted sqlite
Last synced: about 4 hours ago
JSON representation
Self-hosted, fully-offline notes app inspired by Google Keep — notes, checklists, labels, colours, and image attachments. Node + SQLite + React in one Docker container.
- Host: GitHub
- URL: https://github.com/kbennett2000/my-keep
- Owner: kbennett2000
- Created: 2026-06-10T19:57:46.000Z (5 days ago)
- Default Branch: main
- Last Pushed: 2026-06-11T00:38:02.000Z (5 days ago)
- Last Synced: 2026-06-11T01:11:05.735Z (5 days ago)
- Topics: docker, express, google-keep, home-server, keep-clone, nodejs, note-taking, notes, offline-first, react, self-hosted, selfhosted, sqlite
- Language: JavaScript
- Size: 2.38 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Notice: NOTICE
Awesome Lists containing this project
README
# MyKeep

Your own private notes app for your home network — a self-hosted take on Google Keep. Write notes and
checklists, color them, pin and search them, add labels and images. It runs entirely on your own machine
and **needs no internet** once it's set up.

**Curious what it's like to use?** Take the quick visual tour → **[Using MyKeep](docs/USING-MYKEEP.md)**.
## Install it
MyKeep runs the same on every system — pick yours for step-by-step setup. Each takes about fifteen minutes,
most of it just installing Docker the first time:
- 🪟 **[Windows](docs/INSTALL-WINDOWS.md)**
- 🍎 **[Mac](docs/INSTALL-MAC.md)**
- 🐧 **[Linux / home server](docs/INSTALL-LINUX.md)**
The rest of this page covers what's the same once it's running — for all three.
## Everyone gets their own notes
Anyone on your network can open MyKeep's address and **register their own account**. Each account's notes are
private to that person — they can't see anyone else's.
## Change the port
Prefer a different port? Edit `PORT` in your `.env` file (say `PORT=9000`), then apply it:
```bash
docker compose up -d
```
MyKeep will now answer on that port instead.
## Where your notes live
Everything you save — the notes database and any images you upload — lives in the **`data`** folder next to
`docker-compose.yml`. To **back up MyKeep, copy that folder** somewhere safe. To restore, put it back. It
survives updates and restarts on its own.
## Everyday commands
Run these from the `my-keep` folder:
```bash
docker compose logs -f # watch what it's doing (Ctrl+C to stop watching)
docker compose restart # restart it
docker compose down # stop it (your notes are kept)
git pull && docker compose up -d --build # update to the latest version
```
## If something's not right
- **It says `SESSION_SECRET` isn't set when starting.** You missed the secret step on your install page —
generate a secret and put it in `.env`, then run `docker compose up -d` again.
- **`port is already allocated` / `address already in use`.** Something else is using port 8065. Pick another
port (see *Change the port* above).
- **You can't reach it from another device.** Make sure that device is on the **same network**, you used the
host's IP address (not `localhost`), and the host's firewall allows the port.
## Questions you might have
- **I forgot my password.** There's no password reset yet. The simplest fix is to register a fresh account —
every account is separate, so no one else's notes are affected.
- **How do I back up my notes?** They all live in the `data` folder (see *Where your notes live*). Copy that
folder somewhere safe and you have a complete backup; put it back to restore.
- **Can I export my notes to a file?** Not yet — it's on the wish list. For now, the `data` folder is your
portable copy.
- **Can I open it from outside my home?** On the open internet, no — keep MyKeep on a network you trust (it
serves plain `http`, not the encrypted `https` that public sites use). But you *can* reach your notes when
you're away with **Tailscale**, a free tool that privately and securely links your own devices, without
exposing MyKeep to the public. Here's how → **[Reaching MyKeep from anywhere](docs/REMOTE-ACCESS.md)**.
## Good to know
- **Offline by design.** After the one-time build, MyKeep makes no calls to the internet — fonts and icons
are bundled in. It's meant for a trusted home network (it serves plain `http`, not `https`).
---
_MyKeep is an independent project, not affiliated with or endorsed by Google. "Google Keep" is a trademark of
Google LLC, used here only to describe what MyKeep is like._