Skip to content

Deploying Note Mark

Introduction

Note Mark is a fast, lightweight, and self-hosted Markdown note-taking application designed for simplicity and speed. Built with a focus on minimalism, Note Mark provides essential note-taking features without the bloat of complex productivity suites.

The application uses a clean, distraction-free interface that puts your notes front and center. With support for nested folders, full-text search, and real-time synchronization, Note Mark offers everything you need for effective note organization while remaining lightweight and responsive.

Key highlights of Note Mark:

  • Markdown Editor: Write notes in Markdown with live preview
  • Nested Folders: Organize notes in a hierarchical folder structure
  • Full-Text Search: Quickly find notes across your entire collection
  • Real-Time Sync: Changes sync instantly across devices
  • Dark Mode: Built-in dark theme for comfortable viewing
  • Mobile Responsive: Works seamlessly on phones and tablets
  • Fast Performance: Lightweight design ensures quick load times
  • File-Based Storage: Notes stored as plain Markdown files
  • Export Options: Export notes in various formats
  • Open Source: MIT licensed with transparent development

This guide walks through deploying Note Mark on Klutch.sh using Docker.

Why Deploy Note Mark on Klutch.sh

Deploying Note Mark on Klutch.sh provides several advantages:

Simplified Deployment: Klutch.sh automatically builds and deploys your Note Mark instance.

Persistent Storage: Attach persistent volumes to preserve your notes across restarts.

HTTPS by Default: Automatic SSL certificates ensure secure access to your notes.

GitHub Integration: Version-controlled deployments through your GitHub repository.

Scalable Resources: Allocate CPU and memory based on your usage.

Environment Variable Management: Securely configure your Note Mark instance.

Custom Domains: Use your own domain for a personalized experience.

Always-On Availability: Your notes remain accessible 24/7.

Prerequisites

Before deploying Note Mark on Klutch.sh, ensure you have:

  • A Klutch.sh account
  • A GitHub account with a repository for your configuration
  • Basic familiarity with Docker concepts
  • (Optional) A custom domain for your Note Mark instance

Understanding Note Mark Architecture

Note Mark uses a simple architecture:

Go Backend: The server is built with Go, providing fast performance and low resource usage.

Svelte Frontend: A reactive web interface built with Svelte for smooth user experience.

File Storage: Notes are stored as plain Markdown files in the filesystem.

SQLite Database: Metadata and search indexes stored in an embedded SQLite database.

Deploying Note Mark on Klutch.sh

    Create Your GitHub Repository

    Create a new GitHub repository for your Note Mark deployment configuration.

    Create the Dockerfile

    Create a Dockerfile in your repository root:

    FROM ghcr.io/enchant97/note-mark:latest
    # Set environment variables
    ENV BIND_ADDR=0.0.0.0:8000
    ENV DATA_PATH=/data
    # Create data directory
    RUN mkdir -p /data
    EXPOSE 8000
    CMD ["note-mark"]

    Create a New Project on Klutch.sh

    Navigate to the Klutch.sh dashboard and create a new project.

    Create a New App

    Within your project, create a new app and connect your GitHub repository.

    Configure HTTP Traffic

    In the deployment settings:

    • Select HTTP as the traffic type
    • Set the internal port to 8000

    Set Environment Variables

    Configure the following environment variables:

    VariableValue
    BIND_ADDR0.0.0.0:8000
    DATA_PATH/data
    JWT_SECRETGenerate a secure random string

    Attach Persistent Volumes

    Add persistent storage:

    Mount PathRecommended SizePurpose
    /data10 GBNotes, database, and configuration

    Deploy Your Application

    Click Deploy to start the build process.

    Create Your Account

    Once deployed, access your Note Mark instance and create your user account:

    1. Navigate to the registration page
    2. Create your username and password
    3. Start creating notes

Using Note Mark

Creating Notes

Start writing immediately:

  1. Click the “New Note” button
  2. Enter a title for your note
  3. Write content using Markdown syntax
  4. Notes save automatically

Organizing with Folders

Create a folder hierarchy:

  1. Right-click in the sidebar
  2. Select “New Folder”
  3. Name your folder
  4. Drag notes into folders

Markdown Features

Note Mark supports standard Markdown:

  • Headers: # H1 to ###### H6
  • Emphasis: *italic* and **bold**
  • Lists: Ordered and unordered
  • Code: Inline and fenced code blocks
  • Links: [text](url)
  • Images: ![alt](url)

Searching Notes

Find notes quickly:

  1. Use the search bar at the top
  2. Enter keywords or phrases
  3. Results appear in real-time
  4. Click to open any result

Production Best Practices

Security Recommendations

  • Use a strong JWT_SECRET
  • Enable HTTPS (automatic on Klutch.sh)
  • Use strong passwords for accounts
  • Keep the application updated

Backup Strategy

  1. Regular Backups: Back up the /data directory
  2. Export Notes: Use export features for important notes
  3. Off-site Storage: Store backups externally

Performance Tips

  • Note Mark is lightweight by design
  • Minimal resource allocation is usually sufficient
  • Consider larger volumes for extensive note collections

Troubleshooting Common Issues

Cannot Log In

  • Verify JWT_SECRET hasn’t changed
  • Check credentials are correct
  • Review application logs

Notes Not Saving

  • Check persistent volume is mounted
  • Verify write permissions
  • Ensure sufficient disk space

Search Not Working

  • Allow time for indexing
  • Check database integrity
  • Review error logs

Additional Resources

Conclusion

Deploying Note Mark on Klutch.sh provides a fast, minimal note-taking solution with full control over your data. The simple interface and Markdown support make it ideal for users who want distraction-free note-taking without the complexity of larger applications. With persistent storage and automatic HTTPS, your notes remain secure and accessible from anywhere.