Markdown editor written in Go and SolidJS:
- Fully configurable Themes
- Tabs
- WorkSpaces
- Simple Blog
- Full screen mode
- Works with a given directory (could be a
gitrepo). No DB needed
Expand
docker run --name DiaryMD \
-e "TZ=$YOURTIMEZONE" \ # your TZ here
-e "REPOPATH=/repo" \ # path to diary dir
-v ~/.dockerdata/DiaryMD:/data/DiaryMD \ # config
-v ~/.dockerdata/DiaryRepo:/repo \ # diary
-p 8854:8854 \
-u $(id -u):$(id -g) \ # run as current user, so created files will be owned by user, not root
aceberg/diarymdMounted volumes must have write permission for non-root user:
sudo chown $(id -u):$(id -g) ~/.dockerdata/DiaryMD
sudo chown $(id -u):$(id -g) ~/.dockerdata/DiaryRepo
Expand
All binaries are available in the latest release.
Expand
DiaryMD does not have built-in auth option. But you can use it with SSO tools like Authelia, or my simple auth app ForAuth.
Here is an example docker-compose-auth.yml.
Expand
App config and config for Default workspace can be done through environment variables or config.yaml file. Also, Default workspace config and colors can be set through GUI.
Other workspaces have their own paths and themes, which can be configured through GUI (recommended) or workspaces.yaml file.
⚠️ Note
WhileDefaultworkspace stores open tabs in browser, other workspaces keep them inworkspaces.yamlfile, so, if you want to access the same tabs from different devices, do not useDefault.
| Variable | Description | Default |
|---|---|---|
| TZ | Set your timezone for correct time | |
| HOST | Listen address | 0.0.0.0 |
| PORT | Port for web GUI | 8854 |
| Variable | Description | Default |
|---|---|---|
| REPOPATH | Path to diary dir or repo | |
| BLOGPATH | Path to dir with blog.json file |
|
| PAGE_STEP | Items per page in blog | 3 |
| THEME | dark, gray, lake, night, sand or CUSTOM |
sand |
If THEME=CUSTOM, colors can be set individually.
| Variable | Description | Default |
|---|---|---|
| C_FONT | Font color | #313136 |
| C_MENU | Menu color | #dfb377 |
| C_EDIT | Editor back color | #faeddc |
| C_BACK | Background color | #f8e6cc |
| C_OUTLINE | Outline color | #616161 |
Expand
| Key | Description | Default |
|---|---|---|
| -d | Path to config dir | /data/DiaryMD |
Expand
Blog option is still under development and a bit experimental.
To enable blog in the workspace, set BLOGPATH to directory, where blog.json file is stored.
Example of blog.json file. Here path is relative path inside the dir, specified in BLOGPATH. File blog.json must be at the root of the dir.
[{
"date": "2024-11-03",
"name": "Auth for WatchYourLAN and other apps",
"path": "/IT/ForAuth.md",
"tags": ["my-apps"]
},
{
"date": "2024-10-06",
"name": "WatchYourPorts",
"path": "/IT/WYP.md",
"tags": ["my-apps"]
},
{
"date": "2024-10-02",
"name": "Replace HDD in RAID1",
"path": "/IT/Raid-replace.md",
"tags": ["linux", "hardware"]
}] Expand
- EasyMDE editor
- All go packages listed in dependencies
- Favicon and logo: Flaticon
- Bootstrap



