【云原生之Docker实战】使用Docker部署flatnotes笔记工具

2023-09-01 18:59:58

一、flatnotes介绍

1.1 flatnotes简介

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

1.2 flatnotes特点

  • 移动响应式web界面。

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

  • 高级搜索功能。

  • 注意“标记”功能。

  • 浅色/深色主题。

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

  • Restful API。

二、本地环境介绍

2.1 本地环境规划

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

hostnameIP地址操作系统版本Docker版本
jeven192.168.3.166centos 7.620.10.17

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
     Docs: https://docs.docker.com
 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 检查容器状态

检查容器状态

[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,新建笔记。

在这里插入图片描述

7.2 编辑笔记内容

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

在这里插入图片描述

7.3 预览笔记内容

点击预览笔记内容

在这里插入图片描述

7.4 保存笔记内容

保存笔记内容

在这里插入图片描述

7.5 查看首页笔记

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

在这里插入图片描述

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
更多推荐

9.子数组统计问题

文章目录子数组计数问题[560.和为K的子数组](https://leetcode.cn/problems/subarray-sum-equals-k/)[974.和可被K整除的子数组](https://leetcode.cn/problems/subarray-sums-divisible-by-k/)[523.连续

C#实战:基于腾讯OCR技术实现企业证书识别和数据提取实践

一、OCR技术介绍在当今数字化时代,OCR(OpticalCharacterRecognition)识别技术正发挥着越来越重要的作用。OCR技术通过将图像中的文字转化为可编辑的文本形式,实现了对大量纸质文档的数字化处理和信息提取。常见的有企业资质证书的识别到身份证、护照等各类证件的自动识别等方面,OCR技术正在为各行各

macOS Big Sur:探索新设计,聚焦新体验

自苹果公司推出macOSBigSur以来,这一新版操作系统以其突破性的设计刷新了我们对Mac的认知。本文将详细介绍macOSBigSur的各项新功能及其为用户带来的卓越体验。安装:macOSBigSur(macos11)v11.7.10正式版一、全新设计:导览更轻松,控制更随心macOSBigSur对用户界面进行了全面

ChatGPT:使用fastjson读取JSON数据问题——如何使用com.alibaba.fastjson库读取JSON数据的特定字段

ChatGPT:使用fastjson读取JSON数据问题——如何使用com.alibaba.fastjson库读取JSON数据的特定字段有一段Json字符串:{"code":200,"message":"success","data":{"total":"1","list":[{"question_no":"21520

键盘失灵按什么键恢复?详细方法分享!

“我的电脑键盘莫名其妙失灵了,试了好多方法都无法恢复。请问遇到键盘失灵的情况,应该按什么键才能恢复呢?”键盘是计算机的重要输入设备之一,但有时候它可能会出现失灵的情况,让用户感到困惑和不知所措。但其实,解决该问题并不是很困难。键盘失灵按什么键恢复呢?别着急!继续往下看吧!小编给大家总结了详细的解决方法!键盘失灵的常见原

湖南湘潭家具3D轮廓扫描测量家居三维数字化外观逆向设计-CASAIM中科广电

随着科技的不断进步,CASAIM三维扫描技术在各个行业中得到了广泛应用,家具行业也不例外。传统的家具设计和展示方式已经无法满足现代消费者的个性化、多元化需求,而三维扫描技术的出现为家具行业带来了新的机遇和可能性。家具表面有雕刻图案,纹理特征较多,幅面大,传统人工建模方式效率低、耗时长,且尺寸易出现误差。特别是针对一些比

argparse的用法

目录一、使用argparse二、参数详解参考一、使用argparseargparse模块是Python内置的用于命令项选项与参数解析的模块,argparse模块可以让人轻松编写用户友好的命令行接口,能够帮助程序员为模型定义参数。argparse定义包括四个步骤:导入argparse包——importargparse创建

《扩散模型 从原理到实战》Hugging Face (二)

第二章HuggingFace简介本章无有效内容第三章从零开始搭建扩散模型有时候,只考虑事情最简单的情况反而更有助于理解其工作原理。本章尝试从零开始搭建廓庵模型,我们将从一个简单的扩散模型讲起,了解其不同部分的工作原理,并对比它们与更复杂的结构之间的不同。首先,本章涵盖的知识点:1、退化过程2、什么是UNET模型以及如何

zoneinfo

在Linux系统中,zoneinfo是一个包含了世界各地时区信息的目录,通常位于/usr/share/zoneinfo。这个目录下的子目录和文件名对应了各个时区的名称。例如,/usr/share/zoneinfo/America/Los_Angeles文件就包含了美国洛杉矶的时区信息。你可以通过以下步骤来使用zonei

阿里云产品试用系列-云桌面电脑

无影云电脑(WUYINGWorkspace),是一种易用、安全、高效的云上桌面服务。它支持快速便捷的桌面环境创建、部署、统一管控与运维。无需前期传统硬件投资,帮您快速构建安全、高性能、低成本的企业桌面办公体系。可广泛应用于具有高数据安全管控、高性能计算等要求的安全办公、金融、设计、影视、教育等领域。如上所示,在阿里云官

使用 vue + vant 开发移动端网页

使用vue+vant开发移动端移动端开发的时候我们通常需要进行适配,比如设计图宽度是750px我们为了适应不同的设备,需要将我们设计图上的px转为视口单位vw这里我们采用postcss-px-to-viewport安装:npminstallpostcss-px-to-viewportvant-S新建postcss.co

热文推荐