github gamosoft/NoteDiscovery v0.4.5

one hour ago

What's Changed

  • use environment variables (breaking change in config!)
  • added session regeneration for security
  • added demo mode banners
  • added basics for render.com hosting (for online demo)
  • added new themes by @sudo-Harshk

Breaking Change

There's now support for environment variables to allow for customization of (some) properties. The first ones I've added are relative to application authentication. To be consistent with the naming I've changed the config.yaml file so now it goes from:

# NoteDiscovery Configuration
# Easy to rebrand: just change these values!

app:
  name: "NoteDiscovery"
  tagline: "Your Self-Hosted Knowledge Base"
  
server:
  host: "0.0.0.0"
  port: 8000
  reload: false  # Set to true for development
  
storage:
  notes_dir: "./data"
  plugins_dir: "./plugins"
  
search:
  enabled: true
  
security:
  # Authentication settings
  # Set enabled to true to require login
  enabled: false
  
  # Session secret key - CHANGE THIS TO A RANDOM STRING!
  # Generate with: python -c "import secrets; print(secrets.token_hex(32))"
  secret_key: "change_this_to_a_random_secret_key_in_production"
  
  # Password hash - Generate with: python generate_password.py
  password_hash: "$2b$12$t/6PGExFzdpU2PUta0iVY.eDQwvu63kH.c/d4bEnnHaQ5CspH1yrG"  # Default: "admin"
  
  # Session expiry in seconds (default: 7 days)
  session_max_age: 604800

to this:

# NoteDiscovery Configuration
# Easy to rebrand: just change these values!

app:
  name: "NoteDiscovery"
  tagline: "Your Self-Hosted Knowledge Base"
  
server:
  host: "0.0.0.0"
  port: 8000
  reload: false  # Set to true for development
  
  # CORS (Cross-Origin Resource Sharing) configuration
  # For self-hosted use, "*" is fine. For production, specify allowed domains.
  # Examples: ["http://localhost:8000", "https://yourdomain.com"]
  allowed_origins: ["*"]
  
  # Debug mode - shows detailed error messages (DISABLE in production!)
  debug: false
  
storage:
  notes_dir: "./data"
  plugins_dir: "./plugins"
  
search:
  enabled: true
  
authentication:
  # Authentication settings
  # Set enabled to true to require login
  enabled: false
  
  # ⚠️ SECURITY WARNING: Change these values before exposing to the internet!
  # Default values below are for LOCAL TESTING ONLY
  
  # Session secret key - CHANGE THIS TO A RANDOM STRING!
  # Generate with: python -c "import secrets; print(secrets.token_hex(32))"
  secret_key: "change_this_to_a_random_secret_key_in_production"
  
  # Password hash - Generate with: python generate_password.py
  # ⚠️ Default password is "admin" - CHANGE THIS for production!
  password_hash: "$2b$12$t/6PGExFzdpU2PUta0iVY.eDQwvu63kH.c/d4bEnnHaQ5CspH1yrG"  # Default: "admin"
  
  # Session expiry in seconds (default: 7 days)
  session_max_age: 604800

Please note the rename of security to authentication, and the addition of CORS settings amongst others.

Just grab the latest version and adjust with your local one if you have it. ;-)

Also take a look at the Dockerfile to see what has changed there

Docker Images

This release is available as a Docker image:

docker pull ghcr.io/gamosoft/NoteDiscovery:0.4.5

Full Changelog: v0.4.0...v0.4.5

Don't miss a new NoteDiscovery release

NewReleases is sending notifications on new releases.