An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

          

# MyKeep

![MyKeep — your private, offline notes, on your own network](docs/images/banner.png)

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.

![The MyKeep notes grid — colorful notes, labels, a pinned section, and a checklist](docs/images/notes-grid.png)

**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._