前言
现在有非常多的笔记软件,各具特色。
今天要介绍的是一款功能强大的开源云端存储双链笔记软件——Blossom。它集成了日常所需的所有笔记功能,包括双链笔记、图床、代办事项、计划安排、博客等。
无论是写计划、做笔记,还是用作图床,Blossom都能一站式解决,免去频繁切换软件的麻烦。
项目地址
https://github.com/blossom-editor/blossom
介绍
Blossom 是一个需要私有部署的笔记软件,虽然本身定位是一个云端软件,但仍然可以在本地部署,数据和图片都将保存在你的设备,不依赖任何的图床或者对象存储。
Blossom 没有采用类似 Notion 的软件布局与页面设计,更加 DIY 和自定义。

Blossom 最大的特点就是有着更加完善的文件关系。它解决了笔记中图片的管理问题,避免了图片被共用、被误删,因为它提供了完整的笔记和图片的双向关系绑定。

除了笔记软件的基础功能外,它还有一些特别的功能。
🔻 基于 Markdown 编写。

🔻 照片墙(就是一个图床),省去使用三方图床,购买对象存储的成本。

🔻 待办事项。

🔻 计划安排。

🔻 便签。

安装
Docker compose
Blossom 依赖 MySQL8,如果你原来没有安装过 MySQL,那么强烈建议使用 Docker compose 的方式对 MySQL进行安装。
version: "3.8"
networks:
blossomnet:
driver:
bridge
services:
blossom:
image: jasminexzzz/blossom:latest
container_name: blossom-backend
volumes:
# 【需修改】挂载图片保存路径,如果是windows环境,可以使用/c/home/bl/img/来指定磁盘
- /d/blossom/bl/:/home/bl/
environment:
# 配置数据库访问地址
SPRING_DATASOURCE_URL: jdbc:mysql://blmysql:3306/blossom?useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true&allowMultiQueries=true&useSSL=false&&serverTimezone=GMT%2B8
# 【需修改】配置数据库用户名
SPRING_DATASOURCE_USERNAME: root
# 【需修改】配置数据库密码
SPRING_DATASOURCE_PASSWORD: jasmine888
# 【需修改】配置图片上传后对应生成的访问 URL,需要以/pic/结尾。注意,该访问域名(IP:端口)需要与访问后台的域名(IP:端口)相同
PROJECT_IAAS_BLOS_DOMAIN: http://localhost:9999/pic/
# 配置图片保存的磁盘路径,并在 volumes 中将该路径挂载为本地路径,如上方 volumes 中的示例
PROJECT_IAAS_BLOS_DEFAULT-PATH: /home/bl/img/
ports:
- "9999:9999"
networks:
- blossomnet
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9999/sys/alive"]
interval: 30s
timeout: 10s
retries: 3
start_period: 5s
restart: always
depends_on:
blmysql:
condition: service_healthy
blmysql:
image: mysql:8.0.31
container_name: blossom-mysql
restart: on-failure:3
# 【需修改】注意挂载路径
volumes:
- /d/blossom/Docker/mysql/data:/var/lib/mysql
- /d/blossom/Docker/mysql/log:/var/log/mysql
- /d/blossom/Docker/mysql/mysql-files/log:/var/lib/mysql-files
environment:
MYSQL_DATABASE: blossom
# 【需修改】多数情况下与 services.blossom.environment.SPRING_DATASOURCE_PASSWORD 相同
MYSQL_ROOT_PASSWORD: jasmine888
LANG: C.UTF-8
TZ: Asia/Shanghai
ports:
- "3306:3306"
networks:
- blossomnet
healthcheck:
test: ["CMD", "mysqladmin", "-uroot", "-pjasmine888", "ping", "-h", "localhost"]
interval: 10s
timeout: 3s
retries: 12请根据自己的需要修改对应的环境变量,特别是 volumes 对应的路径。
群晖
在群晖上,我们可以使用群晖自带的 MariaDB 套件来实现数据库共享。这样,我们无需为每个需要数据库的项目单独创建数据库,从而有效减少性能消耗。
[[群晖小白系列(三十五)高级玩家必备 - 使用phpMyAdmin管理群晖中的数据库]]
所以下面就基于 MariaDB 套件进行演示。
🔻 打开群晖的【Container Manager】,搜索Blossom,选择第一个jasminexzzz/blossom镜像进行下载。

🔻 在等待下载过程中,在【File Station】套件中创建blossom文件夹来存放容器数据。

🔻 打开 【phpMyAdmin 套件】,登录到数据库管理界面,在账户菜单下新增账户(没有配置过的可以参考上面贴出文章地址)。

🔻 等待镜像下载完毕。运行blossom镜像,端口设置为任意端口(9999)与容器的9999端口进行映射。

🔻 把容器中的/home/bl与前面新建的 blossom 文件夹进行映射。

🔻 设置环境变量SPRING_DATASOURCE_URL、SPRING_DATASOURCE_USERNAME、SPRING_DATASOURCE_PASSWORD、PROJECT_IAAS_BLOS_DOMAIN、PROJECT_IAAS_BLOS_DEFAULT-PATH,对应的值可以参考上面的 docker-compose 文件。

- SPRING_DATASOURCE_URL 为数据库的地址,需要修改为 MariaDB 所在的地址和端口(jdbc:mysql://192.168.2.99:3306/blossom/xxxx,只需修改中间部分,其他不要动);
- SPRING_DATASOURCE_USERNAME 为前面配置的数据库用户名;
- SPRING_DATASOURCE_PASSWORD 为前面配置的数据库用户对应的密码;
- PROJECT_IAAS_BLOS_DOMAIN 为反代后的地址,这样才能使用反代进行访问;
- PROJECT_IAAS_BLOS_DEFAULT-PATH 为保存图片的路径(容器中的路径)。
🔻 确认配置没有问题后直接启动容器。

反向代理
🔻 打开 Nginx Proxy Manager 新增反代配置。填入域名、IP、端口。(IP为群晖的内网IP,端口为 blossom 服务的端口)

🔻 选择SSL证书。

🔻 配置完成的URL加端口要与环境变量设置的一致(去掉/pic/)。

使用
电脑端
🔻 浏览器打开【https://域名:端口 + editor/#/settingindex】即可访问。输入服务器地址、账户、密码进行登录。(服务器地址为域名信息,账户密码为blos,可以在容器日志中找到)

🔻 可以在左下击设置中对客户端、服务器等参数进行配置。

🔻 图片上传、下载功能正常。

🔻 根据环境变量的配置,图片被保存在了群晖中。

🔻 编辑器。

由于篇幅限制双链笔记、图床、代办事项、计划安排,博客等功能就不展开演示了。
客户端
🔻 Blossom提供了电脑客户端 https://github.com/blossom-editor/blossom/releases。

🔻 如果在 MAC 上遇到问题可以参考 https://www.wangyunf.com/blossom-doc/guide/deploy/macos.html 文档进行安装。
