Our self-hosted server infrastructure consists of different microservices responsible for varying functionality. The self-hosted server works as the backend that processes and stores your data; it does not include the web application.
The web application is an optional process that you must spin up separately. However, you can use the existing web app or the official Standard Notes desktop app with your self-hosted server.
The fastest and easiest way to get up and running is to use our automated Docker setup. All you need is a Linux server and the latest version of Docker.
Check out our Docker instructions page to get started →
The main entry point of the architecture. The API Gateway is a router and proxy for all services which are otherwise inaccessible directly. All requests from client applications go through the API Gateway to reach a target underlying service. This service is configured with your reverse proxy for public HTTPS support.
Responsible for user data and syncing operations.
Responsible for asynchronous tasks the Syncing Server may offload for background processing, including email backups, revision history, and more.
Responsible for authorization and authentication mechanisms within Standard Notes.
Responsible for asynchronous tasks related to the domain of authentication and authorization, including account deletion requests and post-registration tasks.
The database is where data is stored.
A Redis cache node is used to store temporary data for performance optimization and auto-expiring features. In self-hosted mode, Redis is used as a communication queue between services and workers.
If you run into any issues setting up your server, please open an issue on GitHub or reach out on the Standard Notes Discord.
If you would like to self-host the actual Standard Notes web application, visit the repository for the Standard Notes web app on GitHub.
Configuring the full Standard Notes architecture manually can be challenging without detailed study. We do not offer support for this method of self-hosting. The only supported self-hosting method is to use Docker →