Files
notesnook-sync-server_custo…/README.md
T
Ibaraki DoujiandGitHub 3c7327d3c7 docker: fix compose self-hosting and add external Mongo/MinIO/Garage examples (#106)
* docker: update .env and docker-compose.yml for SMTP and new services

* docker: add external MinIO, MongoDB, and GarageHQ examples with setup instructions

* docs: update README with dotenv docker setup instructions and configuration redirect for external services

* docker: update service dependency condition for setup-themes in docker-compose.yml

* chore: update example URLs in .env for public services
2026-07-29 09:07:52 +05:00

3.0 KiB

Notesnook Sync Server

This repo contains the full source code of the Notesnook Sync Server licensed under AGPLv3.

Building

From source

Requirements:

  1. .NET 8
  2. git

The first step is to clone the repository:

git clone https://github.com/streetwriters/notesnook-sync-server.git

# change directory
cd notesnook-sync-server

Once you are inside the ./notesnook-sync-server directory, run:

# this might take a while to complete
dotnet restore Notesnook.sln

Then build all projects:

dotnet build Notesnook.sln

To run the Notesnook.API project:

dotnet run --project Notesnook.API/Notesnook.API.csproj

To run the Streetwriters.Messenger project:

dotnet run --project Streetwriters.Messenger/Streetwriters.Messenger.csproj

To run the Streetwriters.Identity project:

dotnet run --project Streetwriters.Identity/Streetwriters.Identity.csproj

Using docker

The sync server can easily be started using Docker.

Download docker-compose.yml and .env:

wget https://raw.githubusercontent.com/streetwriters/notesnook-sync-server/master/docker-compose.yml
wget https://raw.githubusercontent.com/streetwriters/notesnook-sync-server/master/.env

Edit .env and set at least NOTESNOOK_API_SECRET. See .env for all configuration options.

Then start the stack:

docker compose up

This sets up MongoDB, MinIO, and the Notesnook services.

Optional services (themes-server, cors-proxy, inbox-api): docker compose --profile extras up

For external MongoDB, MinIO, or Garage deployments, see examples/.

TODO Self-hosting

Note: Self-hosting the Notesnook Sync Server is now possible, but without support. Documentation will be provided at a later date. We are working to enable full on-premise self-hosting, so stay tuned!

  • Open source the Sync server
  • Open source the Identity server
  • Open source the SSE Messaging infrastructure
  • Fully Dockerize all services
  • Use self-hosted Minio for S3 storage
  • Publish on DockerHub
  • Add settings to change server URLs in Notesnook client apps (starting from v3.0.18)
  • Write self hosting docs

License

This file is part of the Notesnook Sync Server project (https://notesnook.com/)

Copyright (C) 2023 Streetwriters (Private) Limited

This program is free software: you can redistribute it and/or modify
it under the terms of the Affero GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Affero GNU General Public License for more details.

You should have received a copy of the Affero GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.