Favicon of Standard Notes

Standard Notes

Write and store your private notes securely with industry-leading encryption. Access them on any device, even offline, with complete peace of mind.

Protect your life's work in a secure digital vault. This app uses audited, industry-leading end-to-end encryption to ensure only you can read your notes and files. Your data is yours alone, safe from hacks, data breaches, and unauthorized access by employers or governments.

Seamlessly sync your information across all your devices, and never worry about losing access. With automated backups and a full offline copy of your data, your notes are always available, even without an internet connection. It provides a safe space for all kinds of information, including:

  • Tasks and todos
  • Code snippets and passwords
  • Personal journals and health records
  • Confidential business documents
  • Secure file storage for IDs and contracts

Take back control of your private information with a tool built on zero-knowledge encryption and ethical data practices. Write fearlessly, knowing your thoughts are completely protected.

Directory Structure

standard-notes
standardnotes
db-data
redis-data
.env
docker-compose.yml

docker-compose.yml

services:
  db:
    image: mysql:8.0
    restart: unless-stopped
    volumes:
      - ./db-data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
      MYSQL_DATABASE: standardnotes
      MYSQL_USER: standardnotes
      MYSQL_PASSWORD: ${MYSQL_PASSWORD}

  redis:
    image: redis:7-alpine
    restart: unless-stopped
    volumes:
      - ./redis-data:/data

  server:
    image: standardnotes/server:latest
    restart: unless-stopped
    ports:
      - "3000:3000"
    depends_on:
      - db
      - redis
    environment:
      - DB_CONNECTION=mysql
      - DB_HOST=db
      - DB_PORT=3306
      - DB_DATABASE=standardnotes
      - DB_USERNAME=standardnotes
      - DB_PASSWORD=${MYSQL_PASSWORD}
      - REDIS_HOST=redis
      - REDIS_PORT=6379
      - SECRET_KEY=${SECRET_KEY}
      - VALET_TOKEN=${VALET_TOKEN}
      - ENCRYPTION_SERVER_KEY=${ENCRYPTION_SERVER_KEY}
      - USER_JWT_SECRET=${USER_JWT_SECRET}
      - AUTH_JWT_SECRET=${AUTH_JWT_SECRET}
      - DISABLE_USER_REGISTRATION=false

.env

# MySQL Database Passwords
MYSQL_ROOT_PASSWORD=super_secret_root_password_change_me
MYSQL_PASSWORD=super_secret_db_password_change_me

# Standard Notes Server Secrets
# It is highly recommended to generate these using `openssl rand -hex 32`
SECRET_KEY=replace_with_a_secure_random_hex_string_1
VALET_TOKEN=replace_with_a_secure_random_hex_string_2
ENCRYPTION_SERVER_KEY=replace_with_a_secure_random_hex_string_3
USER_JWT_SECRET=replace_with_a_secure_random_hex_string_4
AUTH_JWT_SECRET=replace_with_a_secure_random_hex_string_5

Share:

Ad
Favicon

 

  
 

Similar to Standard Notes

Favicon

 

  
  
Favicon

 

  
  
Favicon