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