多用户Markdown笔记应用Many Notes

embedded/2024/11/22 1:58:08/

在这里插入图片描述

什么是 Many Notes ?

Many Notes 是一款专为简约设计的 Markdown 笔记应用!您可以轻松创建或导入您的笔记库,并立即整理您的想法。

软件特点:

  • 多用户支持
  • 每个用户多个笔记
  • 文件搜索
  • 树形视图浏览器,便于快速导航
  • 导入/导出笔记
  • 明暗主题(根据您的操作系统设置自动选择)
  • 适合移动设备使用

安装

群晖上以 Docker 方式安装。

采用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'services:php:image: brufdev/many-notes:latestcontainer_name: many-notes-webrestart: unless-stoppedenvironment:- PHP_OPCACHE_ENABLE=1- PHP_POST_MAX_SIZE=500M- PHP_UPLOAD_MAX_FILE_SIZE=500M- AUTORUN_ENABLED=true- APP_TIMEZONE=Asia/Shanghai- APP_URL=http://192.168.0.197:8043 # change url- ASSET_URL=http://192.168.0.197:8043 # change url- DB_CONNECTION=mariadb- DB_HOST=mariadb- DB_PORT=3306- DB_DATABASE=manynotes- DB_USERNAME=user- DB_PASSWORD=USER_PASSWORD # change password
# Uncomment these lines if you want to configure an email service
#     - MAIL_MAILER=smtp
#     - MAIL_HOST=127.0.0.1
#     - MAIL_PORT=2525
#     - MAIL_USERNAME=null
#     - MAIL_PASSWORD=null
#     - MAIL_ENCRYPTION=null
#     - MAIL_FROM_ADDRESS=hello@example.com
#     - MAIL_FROM_NAME=${APP_NAME}volumes:- ./public:/var/www/html/storage/app/public- ./private:/var/www/html/storage/app/private- ./sessions:/var/www/html/storage/framework/sessions- ./logs:/var/www/html/storage/logsports:- 8043:8080mariadb:image: mariadb:11.5container_name: many-notes-dbrestart: unless-stoppedenvironment:- MARIADB_ROOT_PASSWORD=ROOT_PASSWORD # change password- MARIADB_DATABASE=manynotes- MARIADB_USER=user- MARIADB_PASSWORD=USER_PASSWORD # change passwordvolumes:- ./data:/var/lib/mysql- ./initdb:/docker-entrypoint-initdb.d
  • 容器 many-notes-db 的环境变量
可变
MARIADB_ROOT_PASSWORD定义 MariaDBroot 用户密码,需根据实际情况更改
MARIADB_DATABASE指定要创建的数据库名称
MARIADB_USER指定 MariaDB 的用户名
MARIADB_PASSWORD指定 MariaDB 用户的密码
  • 容器 many-notes-web 的环境变量
可变
PHP_OPCACHE_ENABLE启用 PHPOpcache,提高性能
PHP_POST_MAX_SIZE设置 PHP 允许的最大 POST 数据大小,适用于导入大文件时
PHP_UPLOAD_MAX_FILE_SIZE设置 PHP 允许上传的最大文件大小,适用于导入大文件时
AUTORUN_ENABLED启用自动运行功能
APP_TIMEZONE设置应用的时区
APP_URL定义应用的基本 URL
ASSET_URL定义静态资源的 URL
DB_CONNECTION指定数据库连接类型
DB_HOST定义数据库主机
DB_PORT定义数据库端口
DB_DATABASE指定要使用的数据库名称,要根据 MARIADB_DATABASE 进行设置
DB_USERNAME指定连接数据库的用户名,要根据 MARIADB_USER 进行设置
DB_PASSWORD指定连接数据库的密码,要根据 MARIADB_PASSWORD 进行设置
MAIL_MAILER指定邮件发送器,通常设置为 smtp
MAIL_HOST定义邮件服务器的主机地址
MAIL_PORT定义邮件服务器的端口
MAIL_USERNAME指定邮件服务器的用户名
MAIL_PASSWORD指定邮件服务器的密码
MAIL_ENCRYPTION定义邮件加密类型
MAIL_FROM_ADDRESS指定发件人的邮件地址
MAIL_FROM_NAME指定发件人的名称,通常设置为应用名称

MAIL_ 为可选的参数,如果要配置电子邮件服务,请取消这些行的注释;

然后执行下面的命令

# 新建文件夹 manynotes 和 子目录
mkdir -p /volume1/docker/manynotes/{data,initdb,logs,private,public,sessions}# 进入 manynotes 目录
cd /volume1/docker/manynotes# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:8043 就能看到登录界面

第一次要点 Sign up 注册

密码至少要 8

登录成功后的主界面

可以点 + 号新建一个笔记

也可以点上传,来上传一个 zip 文件

老苏准备了一个 zip 文件,里面包含了一些 Markdown 文件

开始导入

导入成功

标题居然都是乱码,但内容没问题

切换到阅读模式,图片的加载也是 OK

试试新建一个 note,居然也不支持中文,显示 The name field format is invalid.

看来标题暂时只能用英文了

手机上的显示效果还不错

参考文档

brufdev/many-notes: Markdown note-taking app
地址:https://github.com/brufdev/many-notes


http://www.ppmy.cn/embedded/139485.html

相关文章

ElasticSearch-全文检索(一)基本介绍

简介 Elasticsearch:官方分布式搜索和分析引擎 | Elastic 全文搜索属于最常见的需求,开源的Elasticsearch是目前全文搜索引擎的首选。 它可以快速地储存、搜索和分析海量数据。维基百科、StackOverflow、Github都采用它 Elastic的底层是开源库Lucene。但…

深度学习实验十一 卷积神经网络(2)——基于LeNet实现手写体数字识别实验

目录 一、数据 二、模型构建 三、模型训练及评价 四、打印参数量和计算量 五、模型预测 附:完整可运行代码 实验大致步骤: 一、数据 下载网站:MNIST数据集 之前的官网不能下载数据集了,403了,所以找到一个类似…

容器运行时 AND Docker

容器运行时 and Docker 什么是Docker Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 AUFS 类的 Union FS 等技术,对进程进行封装隔离,属于 操作系统层面的虚拟化技术…

基于web的教务系统的实现(springboot框架 mysql jpa freemarker)

💗博主介绍💗:✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌ 温馨提示:文末有 CSDN 平台官方提供的老师 Wechat / QQ 名片 :) Java精品实战案例《700套》 2025最新毕业设计选题推荐…

CSS(7):定位position:相对定位(relative)、绝对定位(absolute)、固定定位(fixed)和静态定位(static)

一.定位:将盒子定在某一个位置,其规则为:定位 定位模式 边偏移 。 二:定位模式 1.static静态定位: 元素无设置的时候就是static “position:static;” 2.relative相对定位:相对于当前位置进行移动,通过…

【Three.js基础学习】27.Modified materials

前言 补充:\node_modules\three\src\renderers\shaders 自Three.js第132版以来,位于ShaderLib/文件夹中的着色器现在按材质分组。 顶点代码和片段代码都在同一个文件中。 课程 学习如何改进3DS内置材质 改进网格标准材质 两种方法 1.使用Three.js钩子&am…

用匠心精神解决LeetCode第726题原子的数量

726.原子的数量 难度:困难 问题描述: 给你一个字符串化学式formula,返回每种原子的数量。 原子总是以一个大写字母开始,接着跟随0个或任意个小写字母,表示原子的名字。 如果数量大于1,原子后会跟着数字…

云计算虚拟化-kvm创建虚拟机

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 虚拟化,简单来说就是把一台服务器/PC电脑,虚拟成多台独立的虚拟机,每台虚拟机之间相互隔…