
👏 Blossom 具有以下优势:
- 不再需要为同步设备数量付费。
- 不再需要为公网访问付费。
- 不再需要为软件付费,基于 MIT 协议完全开源
- 文章与图片都在你的服务器存储,不需要再使用任何三方图床,不需要购买任何对象存储。
- 没有任何私有协议,基于 Markdown 语法,采用约定格式拓展样式。迁移到其他软件可以正常显示。
- 多账号权限,可以和你的朋友一起使用。或者将自己的生活/工作笔记存放在不同账号中。
- 一键导出,可以一键导出所有文章和图片,并将图片链接转换为图片路径,轻松转为本地笔记。
- 网页转换,可以一键将指定或全部文章转换为网页,方便分享。
- 丰富的功能拓展,包含日历计划,待办事项清单,一个完善的个人管理工具。
- 支持 Docker / Docker Compose 部署。
🎁 Blossom 具有以下功能:
- 文章编辑:Markdown 文章编写,文章公网访问权限,文章分类管理。
- 双链笔记:内部文章与外部链接引用形成的双链笔记知识网络。
- 全量导出:每日全量备份,备份一键下载。
- 网页转换:将 Markdown 文章转换成网页,一键打包分享。
- 番茄时钟:编辑器包含一个番茄钟功能。。
- 图片存储:按文章目录分类你的图片,或自定义图片目录,图片与文章双向查询。
- 自带截图:(仅 windows),你不再需要使用其他截图工具截图后保存在本地再上传到云端了。
- 待办清单:以 Todo List 的方式管理你的每日事项或阶段性计划。
- 计划安排:阶段性的长期计划,或者日历中的短期计划安排。
- 快捷便签:方便你记录随意的日常信息。
- 网站收藏:常用网站快捷访问,或者说是一个书签功能。
- 笔记总字数折线图,笔记编辑数量热力图,服务器请求量折线图等多种统计。
使用 docker compose 部署
可以使用 docker compose 单独拉取应用镜像,或者连同 MySQL 一起拉取构建。下列示例均可在项目/docker/compose
目录下查看
1. 只拉取应用镜像示例
该 docker compose 不包含 MySQL,需要你自行安装 MySQL,并在 MySQL 中先创建一个数据库,数据库名称需要与启动容器命令中参数SPRING_DATASOURCE_URL配置的数据库名称相同,如果不需要自定义数据库名称,你可以直接使用如下语句创建数据库:
CREATE DATABASE `blossom` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
docker compose 文件示例
version: "3.8"
services:
blossom:
image: jasminexzzz/blossom:latest
container_name: blossom-backend
volumes:
# 【需修改】挂载图片保存路径,如果是windows环境,可以使用/c/home/bl/来指定磁盘
- ./d/blossom/bl/:/home/bl/
environment:
SPRING_PROFILES_ACTIVE: prod
# 【需修改】配置数据库访问地址
SPRING_DATASOURCE_URL: jdbc:mysql://192.168.31.99: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/结尾。注意,该访问 URL 需要与访问后台的域名和端口相同
PROJECT_IAAS_BLOS_DOMAIN: http://localhost:9999/pic/
# 配置图片保存的磁盘路径,并在 volumes 中将该路径挂载为本地路径,如上方 volumes 中的示例
PROJECT_IAAS_BLOS_DEFAULT-PATH: /home/bl/img/
ports:
- "9999:9999"
restart: always
启动不含有 MYSQL 的 Docker Compose
docker compose -f docker/compose/blossom.yaml up -d
2. 拉取应用镜像与 MySQL 镜像示例【推荐的安装方式】
该 docker compose 包含 MySQL,MySQL 容器在初始化时会自动创建数据库 Blossom,但你需要挂载 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_PROFILES_ACTIVE: prod
# 配置数据库访问地址
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:
- "33060:3306"
networks:
- blossomnet
healthcheck:
test: ["CMD", "mysqladmin", "-uroot", "-pjasmine888", "ping", "-h", "localhost"]
interval: 10s
timeout: 3s
retries: 12
启动 Docker Compose
docker compose -f blossom-mysql8.yaml up -d
Blossom部分功能截图展示





