A diary application repository with a PocketBase backend and a Vue frontend. This repository is intentionally split by component because the backend and frontend use different licenses. Optimized: Docker image size < 40MB.
Recommended: fill in .env, then run make docker-deploy.
cp .env.example .env
# Edit .env and fill in the required values.
make docker-deployAfter .env is complete, make docker-deploy is the only deployment command you need. The service listens on http://<server-ip>:17172 by default.
The Docker image supports both linux/amd64 and linux/arm64 architectures. For ARM servers (e.g. Raspberry Pi, ARM VPS):
make docker-deploy-arm- PocketBase-based authentication and data storage.
- Diary records, categories, notifications, and todo/calendar synchronization support.
- Vue 3 frontend adapted from the upstream diary project.
- Local-first deployment model with SQLite data under PocketBase
unotes_data/.
Requirements:
- Backend: Go 1.25 or later.
- Frontend: Node.js and npm compatible with the frontend toolchain.
Run from the repository root:
make backend-dev
make frontend-devBuild from the repository root:
make backend-build
make frontend-buildPocketBase runtime data is stored in repo-root unotes_data/ by default and is intentionally ignored by Git. The generated frontend/dist/ directory is also ignored by Git.
- Security policy:
SECURITY.md. - Contribution guide:
CONTRIBUTING.md. - Example environment file:
.env.example. - Frontend upstream notices:
frontend/NOTICE.md.
The repository intentionally excludes:
- PocketBase runtime data:
unotes_data/. - SQL exports and local archives.
- Google Calendar credentials and service account JSON files.
- Build outputs and dependency directories such as
dist/andnode_modules/.
Before publishing, rotate any credential that was ever committed to an old private history. Clearing Git history prevents future publication of old commits, but it does not invalidate leaked credentials.
See README.zh-CN.md for the Chinese version.
This is a multi-license repository:
| Path | License | Notes |
|---|---|---|
backend/ |
MIT | PocketBase-based backend implementation. See backend/LICENSE. |
frontend/ |
GPL-3.0 | Based on https://github.com/KyleBing/diary. See frontend/LICENSE. |
Do not treat the whole repository as a single-license project. When redistributing or modifying a component, follow the license for that component.
