Blossom 是一个支持私有部署的云端双链笔记软件,你可以将你的笔记,图片,个人计划安排保存在自己的服务器中,并在任意设备之间实时同步。同时还是一个动态博客。
👏 Blossom 的特点
完善的文件关系
Blossom 不依赖任何三方存储和图床,其本身就是一个图床,并且提供了完善的图片管理,防勿删,以及图片和文章的双向关系绑定。
基于 Markdown 编写,没有破坏性的语法拓展,在这里编写的内容在任何 Markdown 软件中都能正常显示。
快速迁移
所有图片和文章都支持一键备份和导出,可以在几分钟内轻松迁出。导出的文件可以无缝使用 VS Code 或 Obsidian 等本地软件正常打开。
丰富的附加功能
🐳 容器化部署方案
新建数据持久化目录
mkdir -p /mnt/data/blossom/data
cd /mnt/data/blossom/data
创建 compose 文件
vim docker-compose.yml
version: "3.8"
networks:
blossomnet:
driver:
bridge
services:
blossom:
image: jasminexzzz/blossom:latest
container_name: blossom-backend
volumes:
# 【需修改】挂载图片保存路径,如果是windows环境,可以使用/c/home/bl/img/来指定磁盘
- ./data/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:
- ./data/blossom/Docker/mysql/data:/var/lib/mysql
- ./data/blossom/Docker/mysql/log:/var/log/mysql
- ./data/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
一条命令启动
docker-compose up -d
查看启动状态
15:41:38.089 INFO [nd-preinit] [ . ] o.h.v.internal.util.Version 21 : HV000001: Hibernate Validator 6.2.5.Final
15:41:38.530 WARN [main ] [4B.FA] .b.b.c.PropertiesCheckListener 88 : 数据库链接检查完毕
[CHECK] ==========================================================================================================================
██████╗ ██╗ ██████╗ ███████╗ ███████╗ ██████╗ ███╗ ███╗
██╔══██╗ ██║ ██╔═══██╗ ██╔════╝ ██╔════╝ ██╔═══██╗ ████╗ ████║
██████╔╝ ██║ ██║ ██║ ███████╗ ███████╗ ██║ ██║ ██╔████╔██║
██╔══██╗ ██║ ██║ ██║ ╚════██║ ╚════██║ ██║ ██║ ██║╚██╔╝██║
██████╔╝ ███████╗ ╚██████╔╝ ███████║ ███████║ ╚██████╔╝ ██║ ╚═╝ ██║
╚═════╝ ╚══════╝ ╚═════╝ ╚══════╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝
15:41:38.744 INFO [main ] [4B.FA] com.blossom.backend.APP 55 : Starting APP v1.16.0-SNAPSHOT using Java 1.8.0_402 on 173e4a779129 with PID 7 (/application/BOOT-INF/classes started by root in /application)
15:41:38.745 INFO [main ] [4B.FA] com.blossom.backend.APP 638: The following 1 profile is active: "prod"
15:41:40.658 INFO [main ] [4B.FA] o.a.c.core.StandardService 173: Starting service [Tomcat]
15:41:40.659 INFO [main ] [4B.FA] o.a.c.core.StandardEngine 173: Starting Servlet engine: [Apache Tomcat/9.0.83]
15:41:40.733 INFO [main ] [4B.FA] o.a.c.c.C.[.[localhost].[/] 173: Initializing Spring embedded WebApplicationContext
15:41:40.734 INFO [main ] [4B.FA] letWebServerApplicationContext 292: Root WebApplicationContext: initialization completed in 1882 ms
15:41:41.115 INFO [main ] [4B.FA] c.b.b.base.auth.AuthProperties 134: [AUTHORIZ] 授权类型:caffeine, Client:客户端, Duration(h):授权时长(小时), Refresh:请求刷新授权, MultiPlace:允许多处登录
15:41:41.116 INFO [main ] [4B.FA] c.b.b.base.auth.AuthProperties 135: [AUTHORIZ] ┌──────────┬──────────┬─────────┬────────────┐
15:41:41.118 INFO [main ] [4B.FA] c.b.b.base.auth.AuthProperties 136: [AUTHORIZ] | ClientId | Duration | Refresh | MultiPlace |
15:41:41.118 INFO [main ] [4B.FA] c.b.b.base.auth.AuthProperties 137: [AUTHORIZ] ├──────────┼──────────┼─────────┼────────────┤
15:41:41.119 INFO [main ] [4B.FA] c.b.b.base.auth.AuthProperties 156: [AUTHORIZ] | blossom | 6 Hour | true | true | [password]
15:41:41.121 INFO [main ] [4B.FA] c.b.b.base.auth.AuthProperties 166: [AUTHORIZ] └──────────┴──────────┴─────────┴────────────┘
15:41:41.316 INFO [main ] [4B.FA] c.b.c.d.i.SlowSQLInterceptor 51 : [ BASE] 慢查询时长为 : 200ms
15:41:43.614 INFO [main ] [4B.FA] c.b.c.c.c.CaffeineCacheConfig 34 : [ CACHE] 缓存注解使用 : Caffeine
15:41:44.746 INFO [main ] [4B.FA] com.blossom.backend.APP 61 : Started APP in 7.233 seconds (JVM running for 7.607)
15:41:44.769 INFO [main ] [4B.FA] c.b.b.base.param.ParamService 44 : [ PARAM] 初始化系统参数缓存
15:41:45.052 INFO [main ] [4B.FA] c.b.b.b.p.UserParamService 47 : [ U_PARAM] 初始化用户参数缓存
15:41:45.173 INFO [main ] [4B.FA] c.b.b.b.search.IndexObserver 42 : [ SEARCH] 重建全部用户索引开始
15:41:45.187 INFO [main ] [4B.FA] c.b.b.b.search.IndexObserver 45 : [ SEARCH] 重建全部用户索引完成, 用时: 13 ms
15:41:45.252 INFO [main ] [4B.FA] c.b.common.base.BaseConstants 24 : 启动完成
=========================================================================
启动成功 [2025-02-20 15:41:45], 可使用客户端登录, 默认用户名/密码: blos/blos
下载地址: https://github.com/blossom-editor/blossom/releases
文档地址: https://www.wangyunf.com/blossom-doc/index
博客端访问地址: http://IP:端口(域名)/blog/#/home
客户端访问地址: http://IP:端口(域名)/editor/#/settingindex
=========================================================================
💻 客户端配置
填入正确的后端地址即可,默认用户/密码:blos/blos