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
- Select HTTP as the traffic type
- Set the internal port to 8000
- Navigate to the registration page
- Create your username and password
- Start creating notes
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 variablesENV BIND_ADDR=0.0.0.0:8000ENV DATA_PATH=/data
# Create data directoryRUN 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:
Set Environment Variables
Configure the following environment variables:
| Variable | Value |
|---|---|
BIND_ADDR | 0.0.0.0:8000 |
DATA_PATH | /data |
JWT_SECRET | Generate a secure random string |
Attach Persistent Volumes
Add persistent storage:
| Mount Path | Recommended Size | Purpose |
|---|---|---|
/data | 10 GB | Notes, 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:
Using Note Mark
Creating Notes
Start writing immediately:
- Click the “New Note” button
- Enter a title for your note
- Write content using Markdown syntax
- Notes save automatically
Organizing with Folders
Create a folder hierarchy:
- Right-click in the sidebar
- Select “New Folder”
- Name your folder
- Drag notes into folders
Markdown Features
Note Mark supports standard Markdown:
- Headers:
# H1to###### H6 - Emphasis:
*italic*and**bold** - Lists: Ordered and unordered
- Code: Inline and fenced code blocks
- Links:
[text](url) - Images:

Searching Notes
Find notes quickly:
- Use the search bar at the top
- Enter keywords or phrases
- Results appear in real-time
- 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
- Regular Backups: Back up the
/datadirectory - Export Notes: Use export features for important notes
- 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.