前言
现在有非常多的笔记软件,各具特色。
今天要介绍的是一款功能强大的开源云端存储双链笔记软件——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 套件来实现数据库共享。这样,我们无需为每个需要数据库的项目单独创建数据库,从而有效减少性能消耗。
所以下面就基于 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 文档进行安装。
我是老宁
一个热爱技术的程序员和极客,群晖NAS深度玩家!
专注NAS相关技术分享,原创!干货!
觉得老宁的文章对你有帮助,记得点赞、收藏、加关注!
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
,