Docker新手必看!轻松部署Flatnotes笔记工具

2024-10-21 22:52:08 5点赞 17收藏 16评论

Docker新手必看!轻松部署Flatnotes笔记工具

一、flatnotes介绍

1.1 flatnotes简介

flatnotes 是一个自托管的、无数据库的笔记 Web 应用程序,它利用文件夹存储 Markdown 文件。

1.2 flatnotes特点

  • 移动响应式web界面。

  • 原始/所见即所得标记编辑器模式。

  • 高级搜索功能。

  • 注意“标记”功能。

  • 浅色/深色主题。

  • 多个身份验证选项(无、只读、用户名/密码、2FA)。

  • Restful API。

1.3 flatnotes使用场景

FlatNotes 作为一个自托管、无数据库的笔记 Web 应用程序,特别适合以下几种使用场景:

  1. 个人知识管理:对于喜欢使用Markdown格式记录学习笔记、技术心得、读书感悟等个人知识的用户,FlatNotes提供了一个简洁高效的平台。用户可以轻松地通过文件夹结构来组织和分类自己的笔记,便于日后检索和回顾。

  2. 团队项目协作:在小型团队或项目组内部,FlatNotes 可以作为共享知识库使用。团队成员可以共同编辑和查看项目相关的文档、会议纪要、设计规范等,利用Markdown的简洁性和可读性提高沟通效率。自托管特性确保了数据的安全性和私密性。

  3. 学术研究与写作:学术研究人员可以利用FlatNotes整理研究资料、撰写论文草稿、记录实验结果。Markdown支持公式、代码高亮等特性,非常适合科技文献的编写。文件夹系统有助于按研究主题或论文章节组织内容。

  4. 博客或个人网站内容创作:博主和内容创作者可以利用FlatNotes作为后台编辑器,先在Markdown中撰写文章,然后直接从文件系统发布到网站上。这种方式简化了内容管理和发布的流程,尤其是对于使用静态站点生成器(如Jekyll、Hugo)的用户。

  5. 离线优先场景:由于FlatNotes依赖文件系统而非数据库,因此在没有网络连接或者网络不稳定的情况下,用户仍然可以通过本地文件系统访问和编辑笔记,实现离线工作,之后再同步更改。

  6. 教育与培训:教师可以使用FlatNotes创建课程大纲、讲义和作业说明,学生则可以用来整理课堂笔记和复习资料。Markdown的易学易用性降低了技术门槛,使得更多人能够专注于内容本身。

  7. 开源软件文档维护:开源项目团队可以利用FlatNotes来维护项目文档、开发者指南和贡献者手册。这样不仅便于版本控制,也方便社区成员贡献和编辑文档内容,促进项目的健康发展。

二、本地环境介绍

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为centos7.6。

Docker新手必看!轻松部署Flatnotes笔记工具

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎使用; 2.在Docker环境下成功部署flatnotes笔记工具。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

[root@jeven ~]# systemctl status docker ● docker.service - Docker Application Container Engine    Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)    Active: active (running) since Wed 2023-08-23 23:41:16 CST; 1 weeks 1 days ago  Main PID: 9562 (dockerd)     Tasks: 50    Memory: 1.4G    CGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本

[root@jeven ~]# docker version Client: Docker Engine - Community  Version:           20.10.17  API version:       1.41  Go version:        go1.17.11  Git commit:        100c701  Built:             Mon Jun  6 23:05:12 2022  OS/Arch:           linux/amd64  Context:           default  Experimental:      true Server: Docker Engine - Community  Engine:   Version:          20.10.17   API version:      1.41 (minimum version 1.12)   Go version:       go1.17.11   Git commit:       a89b842   Built:            Mon Jun  6 23:03:33 2022   OS/Arch:          linux/amd64   Experimental:     false  containerd:   Version:          1.6.6   GitCommit:        10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1  runc:   Version:          1.1.2   GitCommit:        v1.1.2-0-ga916309  docker-init:   Version:          0.19.0   GitCommit:        de40ad0

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

[[root@jeven ~]# docker compose version Docker Compose version v2.19.1

四、下载flatnotes镜像

从docker hub下载flatnotes镜像

[root@jeven ~]# docker pull  dullage/flatnotes Using default tag: latest latest: Pulling from dullage/flatnotes 1d5252f66ea9: Pull complete eefb43356e06: Pull complete c26db0eb1f01: Pull complete 300843d99304: Pull complete daddf7df59b6: Pull complete fd5b7d323a9e: Pull complete 956d12ab1aba: Pull complete 3a27da5a148e: Pull complete 9bc9c825c797: Pull complete 4f4fb700ef54: Pull complete 2dff9aeca767: Pull complete 745990a309e1: Pull complete cf33157fe535: Pull complete 1f4f074b255f: Pull complete 042bd107273a: Pull complete Digest: sha256:666b237abff5a16d781ee7f06ccdadef9e42951de3ec320a071407a9e85666ef Status: Downloaded newer image for dullage/flatnotes:latest docker.io/dullage/flatnotes:latest

五、部署flatnotes笔记工具

5.1 创建目录

新建挂载目录

mkdir -p /data/flatnotes/data   && cd /data/flatnotes/

目录授权工作

 chmod -R 777 /data/flatnotes/

5.2 使用docker-cli部署

使用docker-cli命令部署flatnotes笔记工具

  • 生成随机KEY

[root@jeven flatnotes]# cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 24 | head -n 1 Nl1rQmfg4gsnJfBfsmkXOo7G

docker run -d     --restart unless-stopped     --name flatnotes     -p "28880:8080"     -v "/data/flatnotes/data:/data"     -e "FLATNOTES_AUTH_TYPE=password"     -e "FLATNOTES_USERNAME=admin"     -e "FLATNOTES_PASSWORD=admin"     -e "FLATNOTES_SECRET_KEY=Nl1rQmfg4gsnJfBfsmkXOo7G"     -e "PORT=8080"    dullage/flatnotes:latest

5.3 编辑docker-compose.yaml文件

编辑docker-compose.yaml文件,内容如下:

version: '3' services:   flatnotes:     image: dullage/flatnotes:latest     container_name: flatnotes     restart: always     ports:       - 28880:8080     volumes:       - /data/flatnotes/data:/data     environment:       - FLATNOTES_AUTH_TYPE=password       - FLATNOTES_USERNAME=admin       - FLATNOTES_PASSWORD=admin       - FLATNOTES_SECRET_KEY=Nl1rQmfg4gsnJfBfsmkXOo7G       - PORT=8080

5.4 创建flatnotes容器

使用docker compose快速创建flatnotes容器

[root@jeven flatnotes]# docker compose up -d [+] Running 2/2  ⠿ Network flatnotes_default  Created                                                                                                                                     0.1s  ⠿ Container flatnotes        Started                                                                                                                                     0.4s

5.5 检查flatnotes容器状态

检查容器状态,确保flatnotes容器正常启动。

[root@jeven flatnotes]# docker ps CONTAINER ID   IMAGE                      COMMAND            CREATED          STATUS          PORTS                                         NAMES 23eebd85b174   dullage/flatnotes:latest   "/entrypoint.sh"   13 seconds ago   Up 13 seconds   0.0.0.0:28880->8080/tcp, :::28880->8080/tcp   flatnotes

5.6 检查flatnotes容器日志

检查flatnotes容器日志,确保服务正常运行。

[root@jeven flatnotes]# docker logs flatnotes Setting up user and group... Adding group `flatnotes' (GID 1000) ... Done. Adding user `flatnotes' ... Adding new user `flatnotes' (1000) with group `flatnotes' ... Creating home directory `/home/flatnotes' ... Copying files from `/etc/skel' ... Setting file permissions... WARNING: Breaking changes introduced in version 3.x:   - The port flatnotes uses inside the Docker container has been changed to 8080 (previously 80).   - To accompany the above change, support for the PORT environment variable has been removed.   - The note directory inside the Docker container has moved from /app/data to simply /data. Starting flatnotes... 2023-09-01 10:22:51 [INFO]: Creating new index INFO:     Started server process [1] INFO:     Waiting for application startup. INFO:     Application startup complete. INFO:     Uvicorn running on http://0.0.0.0:8080 (Press CTRL+C to quit)

六、访问flatnotes

6.1 进入flatnotes登录页

访问地址: http://192.168.3.166:28880,将IP替换为自己服务器的IP地址

在这里插入图片描述在这里插入图片描述

6.2 访问flatnotes首页

账号密码为自定义设置的admin/admin

在这里插入图片描述在这里插入图片描述

七、flatnotes的基本使用

7.1 新建笔记

点击右上角的New",新建笔记。

Docker新手必看!轻松部署Flatnotes笔记工具

7.2 编辑笔记内容

编辑笔记内容,使用markdown格式。

Docker新手必看!轻松部署Flatnotes笔记工具

7.3 预览笔记内容

点击预览笔记内容

Docker新手必看!轻松部署Flatnotes笔记工具

7.4 保存笔记内容

保存笔记内容

Docker新手必看!轻松部署Flatnotes笔记工具

7.5 查看首页笔记

回到首页,可以看到显示刚才编辑保存的笔记。

Docker新手必看!轻松部署Flatnotes笔记工具

7.6 查看文件存储

在挂载目录/data/flatnotes/data上,可以看到刚才编辑保存的笔记文件。

[root@jeven data]# pwd /data/flatnotes/data [root@jeven data]# ls -l total 8 -rw-r--r--. 1 admin admin 5680 Sep  1 18:52 Linux系统之普通用户sudo提权配置.md

八、总结

使用FlatNotes的感觉就像是拥有了一个既简约又强大的私人图书馆,所有知识和灵感都以Markdown笔记的形式井然有序地安放在各个文件夹书架上。无需担心云端数据库的繁琐与隐私问题,因为一切由我掌控,在本地或私有服务器安静地绽放。编辑体验流畅,随时离线访问让我在任何环境下都能自由思考、记录,这种返璞归真的自托管方式,让知识管理变得既直接又安心。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起

海尔(Haier)云悦miniH12Intel迷你主机商务办公游戏台式机电脑(i5-12450H/16G/512GSSD/双网口/WiFi6E)

海尔(Haier)云悦miniH12Intel迷你主机商务办公游戏台式机电脑(i5-12450H/16G/512GSSD/双网口/WiFi6E)

暂无报价

中柏(Jumper)N100高性能办公游戏台式机电脑迷你主机(12G内存/无硬盘)准系统【2024款】miniPCN100proII12

中柏(Jumper)N100高性能办公游戏台式机电脑迷你主机(12G内存/无硬盘)准系统【2024款】miniPCN100proII12

暂无报价

华为家庭存储4TBMateXT手机一碰扩容双盘位nas网络存储器相册备份家用硬盘网盘私有云服务器

华为家庭存储4TBMateXT手机一碰扩容双盘位nas网络存储器相册备份家用硬盘网盘私有云服务器

¥2399起 去购买

绿联(UGREEN)私有云DX4600四盘位Nas网络存储个人云硬盘服务器相册备份文件同步手机平板扩容适用iPhone16

绿联(UGREEN)私有云DX4600四盘位Nas网络存储个人云硬盘服务器相册备份文件同步手机平板扩容适用iPhone16

¥1799起 去购买

Haier 海尔 云悦mini H12 迷你台式机 白色(酷睿i5-12450H、核芯显卡、16GB、512GB SSD)

Haier 海尔 云悦mini H12 迷你台式机 白色(酷睿i5-12450H、核芯显卡、16GB、512GB SSD)

2169元起

jumper 中柏 JNE12 台式机(N100、12GB、256GB SSD)

jumper 中柏 JNE12 台式机(N100、12GB、256GB SSD)

暂无报价

Haier 海尔 云悦mini N-H30 商用台式机 黑色(赛扬G4930、核芯显卡、4GB、256GB SSD、风冷)

Haier 海尔 云悦mini N-H30 商用台式机 黑色(赛扬G4930、核芯显卡、4GB、256GB SSD、风冷)

暂无报价

Haier 海尔 博越 E52 台式机

Haier 海尔 博越 E52 台式机

暂无报价

Haier 海尔 云悦mini S-J9 台式机 黑色(赛扬J3160、核芯显卡、4GB、256GB SSD、风冷)

Haier 海尔 云悦mini S-J9 台式机 黑色(赛扬J3160、核芯显卡、4GB、256GB SSD、风冷)

暂无报价

Haier 海尔 天越 H3S 台式机 G5400 4GB 1TB Intel UHD Graphics 610

Haier 海尔 天越 H3S 台式机 G5400 4GB 1TB Intel UHD Graphics 610

暂无报价

Haier 海尔 云悦mini N-T76 pro 台式机 黑色(酷睿i5-10400、核芯显卡、16GB、512GB SSD、风冷)

Haier 海尔 云悦mini N-T76 pro 台式机 黑色(酷睿i5-10400、核芯显卡、16GB、512GB SSD、风冷)

暂无报价

Haier 海尔 新极光 D2-SNA 20.7英寸台式机 赛扬J3160 4GB 500GB HDD

Haier 海尔 新极光 D2-SNA 20.7英寸台式机 赛扬J3160 4GB 500GB HDD

暂无报价

Haier 海尔 云悦mini S-J5 商用台式机 黑色(赛扬J3160、核芯显卡、4GB、128GB SSD、风冷)

Haier 海尔 云悦mini S-J5 商用台式机 黑色(赛扬J3160、核芯显卡、4GB、128GB SSD、风冷)

暂无报价

Haier 海尔 商嘉 X-A0003 20.7英寸 台式机 黑色(奔腾G4400、核芯显卡、4GB、1TB HDD、风冷)

Haier 海尔 商嘉 X-A0003 20.7英寸 台式机 黑色(奔腾G4400、核芯显卡、4GB、1TB HDD、风冷)

暂无报价

Haier 海尔 博越 LX11 台式机 黑色(酷睿i5-7400、GT720、8GB、1TB、风冷)

Haier 海尔 博越 LX11 台式机 黑色(酷睿i5-7400、GT720、8GB、1TB、风冷)

暂无报价

HUAWEI 华为 MateStation S 四代锐龙版 商务台式机

HUAWEI 华为 MateStation S 四代锐龙版 商务台式机

3888元起

HUAWEI 华为 MateStation B515 23.8英寸 台式机 黑色(锐龙R5-4600G、核芯显卡、16GB、512GB SSD、风冷)

HUAWEI 华为 MateStation B515 23.8英寸 台式机 黑色(锐龙R5-4600G、核芯显卡、16GB、512GB SSD、风冷)

3499元起

Haier 海尔 天越 H7M 商用电脑 21.5英寸 (i5-8400、8GB、128G+1T)

Haier 海尔 天越 H7M 商用电脑 21.5英寸 (i5-8400、8GB、128G+1T)

暂无报价

Haier 海尔 天越 Y30S 商用台式机

Haier 海尔 天越 Y30S 商用台式机

暂无报价

Haier 海尔 云悦mini S-J7 19.5英寸 台式机 赛扬J3160、核芯显卡、4GB、1TB HDD、风冷)

Haier 海尔 云悦mini S-J7 19.5英寸 台式机 赛扬J3160、核芯显卡、4GB、1TB HDD、风冷)

暂无报价

文中相关商品

京东 Haier 海尔 云悦mini H12 迷你台式机 白色(酷睿i5-12450H、核芯显卡、16GB、512GB SSD)
京东 jumper 中柏 JNE12 准系统迷你主机(N100、其他、12GB、无硬盘)
16评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
17
扫一下,分享更方便,购买更轻松