Skip to content

About

Sync server for Notesnook (self-hosting in alpha)

Topics

Resources

Code of conduct

Stars

936 stars

Watchers

20 watching

Forks

Repository files navigation

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/>.

About

Sync server for Notesnook (self-hosting in alpha)

Topics

Resources

Code of conduct

Stars

936 stars

Watchers

20 watching

Forks

Releases

Used by

Contributors

Languages