Need help with DailyNotes?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

284 Stars 18 Forks MIT License 67 Commits 22 Opened issues


App for taking notes and tracking tasks on a daily basis

Services available


Need anything else?

Contributors list

# 151,946
48 commits
# 202,781
2 commits

DailyNotes: Daily tasks and notes in Markdown

Current version: 1.0-beta10


The idea for this app came from using my Hobonichi Techo planner every morning to write down what I needed to accomplish that day & using it for scratching down random thoughts and notes as the day went on. The closest thing I've seen to an app for replacing this system is Noteplan, but I don't use a Mac or an iOS device, and it's not self-hostable, so I decided to write my own.

Since I had the need for keeping track of to-dos throughout the day, regular Markdown didn't work for me since it doesn't natively support tasks. So as an alternative I'm using Github Flavored Markdown (GFM). I really wanted it to feel like an actual text editor and not just a textbox, so I decided to use CodeMirror to handle all the input. Fira Code is used to provide font ligatures. Some other nice features include code highlighting, text/code folding, and a task list where you can toggle the status of any task from any date or note.


I'd like to try add include at least of some the following features to get to a final v1.0 release:

  • CalDAV support
  • HTML preview (instead of just markdown)
  • Kanban board for tasks (and new syntax to attach meta info like swimlane and project for each task)
  • Nested tagging

In Action

Here is some screenshots of what it looks like:

Main editor:

Search page:

Task list:


The recommended way of running is to pull the image from Docker Hub.

Docker Setup

Environment Variables

| Environment Variable | Description | Default | |---|---|---| | APISECRETKEY | Used to sign API tokens. | Will be generated automatically if not passed in. | | DATABASEURI | Connection string for DB. | Will create and use a SQLite DB if not passed in. | | DBENCRYPTIONKEY | Secret key for encrypting data. Length must be a multiple of 16.

Warning: If changed data will not be able to be decrypted! | Will be generated automatically if not passed in. | | PREVENT
SIGNUPS | Disable signup form? Anything in this variable will prevent signups. | |


| Volume Name | Description | |---|---| | /app/config | Used to store DB and environment variables. This is not needed if you pass in all of the above environment variables. |

Docker Run

By default, the easiest way to get running is:

docker run -p 5000:5000 -v /config_dir:/app/config m0ngr31/dailynotes

Development setup

Installing dependencies

You need Python (works on 2 and 3) and Node >= 8 installed

pip install -r requirements.txt
cd client
npm ci

Creating the environment

You can use the environment variables from above, or you can generate new ones by running the following:


Keep in mind that since the data is encrypted, if you modify the

variable, your data will not be accessible anymore.


During development you need to run the client and server simultaneously

cd client
npm run serve

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.