StandardNotes-Server

StandardNotes-Server

Docker 应用程序 from junkerderprovinz Repository

概述

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

要求

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.

运行时参数

网络用户界面
http://[IP]:[PORT:3000]/healthcheck
网络
bridge
外壳
sh
特权
false
额外参数
--restart=unless-stopped

模板配置

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.

目标
3000
默认值
3000
价值
3000
Logs PathPathrw

Persistent server logs.

目标
/var/lib/server/logs
默认值
/mnt/user/appdata/standardnotes/logs
价值
/mnt/user/appdata/standardnotes/logs
Uploads PathPathrw

Persistent storage for encrypted file uploads.

目标
/opt/server/packages/files/dist/uploads
默认值
/mnt/user/appdata/standardnotes/uploads
价值
/mnt/user/appdata/standardnotes/uploads
MariaDB HostVariable

IP address of your MariaDB container.

目标
DB_HOST
默认值
192.168.x.x
价值
192.168.x.x
MariaDB PortVariable

MariaDB server port. Default 3306.

目标
DB_PORT
默认值
3306
价值
3306
MariaDB UserVariable

Database user. Must match the user created in MariaDB.

目标
DB_USERNAME
默认值
std_notes_user
价值
std_notes_user
MariaDB PasswordVariable

Password for the MariaDB user above.

目标
DB_PASSWORD
MariaDB Database NameVariable

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

目标
DB_DATABASE
默认值
standard_notes_db
价值
standard_notes_db
Database DriverVariable

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

目标
DB_TYPE
默认值
mysql
价值
mysql
Redis HostVariable

IP address of your Redis container.

目标
REDIS_HOST
默认值
192.168.x.x
价值
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.

目标
REDIS_PORT
默认值
6379
价值
6379
Cache BackendVariable

Cache backend. Leave at 'redis'.

目标
CACHE_TYPE
默认值
redis
价值
redis
JWT SecretVariable

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

目标
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.

目标
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.

目标
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.

目标
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.

目标
3104
默认值
3125
价值
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.

目标
COOKIE_DOMAIN

下载统计数据

323,353
下载总数

详细信息

存储库
standardnotes/server:latest
最后更新2026-04-11
初见2026-05-13

在Unraid 上运行 StandardNotes-Server 。

StandardNotes-Server 已被列入Unraid OS 的社区应用程序。探索Unraid ,构建灵活的家庭服务器、NAS 或家庭实验室。