StandardNotes-Server

StandardNotes-Server

Docker app from junkerderprovinz Repository

Overview

Standard Notes self-hosted backend for Unraid (community template). End-to-end encrypted notes, sync, files, auth and API gateway in the official standardnotes/server image. Required side containers, in this order: 1. MariaDB. Create an empty database "standard_notes_db" and a user "std_notes_user" with all privileges on it. 2. Redis (default port 6379, no auth). 3. StandardNotes-LocalStack companion (SNS and SQS). The server resolves the hostname "localstack" at port 4566. Without it, files-worker.log fills with "getaddrinfo ENOTFOUND localstack" and notes can duplicate. 4. This template. Generate three 32-byte hex secrets before starting: openssl rand -hex 32 (run three times) Ports: 3000/tcp - API gateway (HTTP, put behind a reverse proxy). 3125/tcp host - 3104 container - files server (per upstream docker-compose). Reverse-proxy traffic must forward to host port 3125. URL and cookie shapes: COOKIE_DOMAIN: bare domain only, no https://, no trailing slash. Example: standardnotesserver.mydomain.tld PUBLIC_FILES_SERVER_URL: full HTTPS URL, includes https://. Example: https://files.standardnotesserver.mydomain.tld Custom Sync Server (entered in the Standard Notes client): full HTTPS URL. Example: https://standardnotesserver.mydomain.tld Notes: Unofficial community template. Always reach the server over HTTPS. The web client (standardnotes/web) is a separate Unraid template in the companion repo standardnotes-webui (container name "StandardNotes-WebUI"). See the project README for details. Hostname "localstack" resolution: User-defined Docker network: put both containers on the same custom bridge and give LocalStack the network alias "localstack". br0 / macvlan / VLAN / static-IP install: put LocalStack on the same VLAN with a fixed IP, then append --add-host=localstack:LocalStack-IP to this container's Extra Parameters and restart. Verify with: docker exec StandardNotes-Server getent hosts localstack Notes can duplicate in seconds if Redis, LocalStack, COOKIE_DOMAIN, the reverse proxy, or the image tag is misconfigured. Always test with a fresh throwaway account and one client first. See the README section "Sync-Loop / Duplicate Notes Guardrails".

Requirements

A separately running MariaDB container, a Redis container, and the StandardNotes-LocalStack companion. The server resolves the hostname "localstack" at port 4566 for SNS / SQS. On br0 / macvlan / VLAN / static-IP installs, give LocalStack a fixed IP on the same VLAN and APPEND `--add-host=localstack:LocalStack-IP` to Extra Parameters. See the project README.

Runtime arguments

Web UI
http://[IP]:[PORT:3000]/healthcheck
Network
bridge
Shell
sh
Privileged
false
Extra Params
--restart=unless-stopped

Template configuration

API / Gateway PortPorttcp

HTTP port of the Standard Notes API gateway. Put behind a reverse proxy with HTTPS. Do not expose directly to the public internet.

Target
3000
Default
3000
Value
3000
Logs PathPathrw

Persistent server logs.

Target
/var/lib/server/logs
Default
/mnt/user/appdata/standardnotes/logs
Value
/mnt/user/appdata/standardnotes/logs
Uploads PathPathrw

Persistent storage for encrypted file uploads.

Target
/opt/server/packages/files/dist/uploads
Default
/mnt/user/appdata/standardnotes/uploads
Value
/mnt/user/appdata/standardnotes/uploads
MariaDB HostVariable

IP address of your MariaDB container.

Target
DB_HOST
Default
192.168.x.x
Value
192.168.x.x
MariaDB PortVariable

MariaDB server port. Default 3306.

Target
DB_PORT
Default
3306
Value
3306
MariaDB UserVariable

Database user. Must match the user created in MariaDB.

Target
DB_USERNAME
Default
std_notes_user
Value
std_notes_user
MariaDB PasswordVariable

Password for the MariaDB user above.

Target
DB_PASSWORD
MariaDB Database NameVariable

Database name. Must already exist. Empty is fine; migrations run on first start.

Target
DB_DATABASE
Default
standard_notes_db
Value
standard_notes_db
Database DriverVariable

Leave at 'mysql'. Internal TypeORM driver value used to talk to MariaDB. Do not change.

Target
DB_TYPE
Default
mysql
Value
mysql
Redis HostVariable

IP address of your Redis container.

Target
REDIS_HOST
Default
192.168.x.x
Value
192.168.x.x
Redis PortVariable

Redis server port. Default 6379. Reachability must be tested from inside this container (same network namespace the server uses). See README for the exact node TCP probe.

Target
REDIS_PORT
Default
6379
Value
6379
Cache BackendVariable

Cache backend. Leave at 'redis'.

Target
CACHE_TYPE
Default
redis
Value
redis
JWT SecretVariable

Required. 32-byte hex secret. Generate with: openssl rand -hex 32. Changing this invalidates all existing sessions.

Target
AUTH_JWT_SECRET
Auth Server Encryption KeyVariable

Required. 32-byte hex secret. Generate with: openssl rand -hex 32. Encrypts data at rest server-side. Back it up. Losing it means losing access to that data.

Target
AUTH_SERVER_ENCRYPTION_SERVER_KEY
Valet Token SecretVariable

Required. 32-byte hex secret. Generate with: openssl rand -hex 32. Signs short-lived upload/download tokens for the files server.

Target
VALET_TOKEN_SECRET
Public Files Server URLVariable

Optional. Full HTTPS URL of the files server. Includes the https:// scheme. Example: https://files.standardnotesserver.mydomain.tld. Set only if you reverse-proxy the files server on its own subdomain. Leave empty to skip attachments; note creation, editing, and sync work without it.

Target
PUBLIC_FILES_SERVER_URL
Files Server PortPorttcp

Host port 3125 maps to container port 3104. Forward your reverse proxy to host port 3125 (not 3104). Upstream's docker-compose maps 3125 host to 3104 container.

Target
3104
Default
3125
Value
3125
Cookie DomainVariable

Bare domain only. No https://, no trailing slash, no path. Example: standardnotesserver.mydomain.tld. Wrong: https://standardnotesserver.mydomain.tld. A URL here breaks session cookies. The Custom Sync Server URL entered into clients is a separate value and is a full HTTPS URL.

Target
COOKIE_DOMAIN

Download Statistics

323,353
Total Downloads

Details

Repository
standardnotes/server:latest
Last Updated2026-04-11
First Seen2026-05-13

Run StandardNotes-Server on Unraid.

StandardNotes-Server is listed in Community Apps for Unraid OS. Explore Unraid to build a flexible home server, NAS, or homelab.