绿联NAS:搭建Blossom,一个支持私有部署的云端双链笔记软件
一、项目介绍
Blossom 是一个支持私有部署的云端双链笔记软件,你可以将你的笔记,图片,个人计划安排保存在自己的服务器中,并在任意设备之间实时同步。同时还是一个动态博客。
支持 Windows,Mac,网页客户端,网页移动端。
image二、绿联docker compose教程
请参考:玩转绿联NAS:小白入坑之如何使用Docker compose搭建项目?-蓝小白的知识笔记
三、搭建教程
1、新建项目-粘贴docker compose;
# ============================================================
# Docker Compose 配置文件 - Blossom 笔记应用
# 版本: 3.8
# 说明: 包含后端服务 (blossom) 和 MySQL 数据库 (blmysql)
# 使用相对路径挂载数据,便于迁移和备份
# ============================================================
version: "3.8"
# -------------------- 网络定义 --------------------
# 创建自定义桥接网络,使服务之间可通过容器名互相访问
networks:
blossomnet:
driver: bridge
# -------------------- 服务定义 --------------------
services:
# =============================================
# 1. Blossom 后端服务
# =============================================
blossom:
# 使用官方最新镜像
image: jasminexzzz/blossom:latest
container_name: blossom-backend
restart: always # 总是自动重启
# ---------- 端口映射 ----------
# 【修改】宿主机端口改为 19999,容器内仍为 9999
ports:
- "19999:9999"
# ---------- 数据卷挂载 ----------
# 【修改】将宿主机相对路径 ./bl/ 映射到容器内 /home/bl/(图片存储目录)
volumes:
- ./bl/:/home/bl/
# ---------- 环境变量 ----------
# 所有 Spring Boot 配置项
environment:
# ----- 数据库连接 -----
# 使用容器名 blmysql 访问 MySQL(网络内互通)
SPRING_DATASOURCE_URL: jdbc:mysql://blmysql:3306/blossom?useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true&allowMultiQueries=true&useSSL=false&&serverTimezone=GMT%2B8
# 【修改】数据库用户名(与 MySQL 保持一致)
SPRING_DATASOURCE_USERNAME: root
# 【修改】数据库密码(与 MySQL 保持一致)
SPRING_DATASOURCE_PASSWORD: jasmine888
# ----- 图片访问域名 -----
# 【修改】图片生成后的访问基础 URL,必须以 /pic/ 结尾
# 注意端口需与映射的宿主机端口一致(19999)
PROJECT_IAAS_BLOS_DOMAIN: http://localhost:19999/pic/
# ----- 图片存储路径(容器内)-----
# 该路径需与 volumes 中挂载的容器内路径一致
PROJECT_IAAS_BLOS_DEFAULT-PATH: /home/bl/img/
# ---------- 健康检查 ----------
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9999/sys/alive"]
interval: 30s
timeout: 10s
retries: 3
start_period: 5s
# ---------- 依赖关系 ----------
# 等待 MySQL 服务健康后再启动
depends_on:
blmysql:
condition: service_healthy
# 加入自定义网络
networks:
- blossomnet
# =============================================
# 2. MySQL 数据库服务
# =============================================
blmysql:
image: mysql:8.0.31
container_name: blossom-mysql
# 重启策略:非正常退出时最多重试 3 次
restart: on-failure:3
# ---------- 端口映射 ----------
# 映射宿主机 3306 端口(若本地已有 MySQL 可改左侧端口)
ports:
- "3306:3306"
# ---------- 数据卷挂载 ----------
# 【修改】使用相对路径持久化 MySQL 数据、日志和临时文件
volumes:
- ./mysql/data:/var/lib/mysql # 数据库文件
- ./mysql/log:/var/log/mysql # 错误日志
- ./mysql/mysql-files:/var/lib/mysql-files # 导入导出临时目录
# ---------- 环境变量 ----------
environment:
# 启动时自动创建的数据库名称
MYSQL_DATABASE: blossom
# 【修改】Root 密码(必须与 blossom 服务的密码一致)
MYSQL_ROOT_PASSWORD: jasmine888
# 字符集和时区
LANG: C.UTF-8
TZ: Asia/Shanghai
# ---------- 健康检查 ----------
# 使用 mysqladmin ping 检测 MySQL 是否可响应
healthcheck:
test: ["CMD", "mysqladmin", "-uroot", "-pjasmine888", "ping", "-h", "localhost"]
interval: 10s
timeout: 3s
retries: 12 # 给数据库足够启动时间
# 加入自定义网络
networks:
- blossomnet
image
2、点击立即部署,等待完成;
image3、打开浏览器,访问客户端,在浏览器中输入以下地址(如果是在服务器上部署,请把 localhost 换成你的服务器 IP 或域名):
http://localhost:19999/editor/#/settingindex
image
4、使用默认账号登录,登录页面会要求输入用户名和密码,根据启动日志提示,初始默认账号密码为:
用户名:blos
密码:blos
5、配置服务器地址;
image6、博客配置中需要正确配置文章查看地址,并点击访问博客验证下是否可以查看;
如:http://192.168.200.200:19999/blog/#/articles?articleId=
image
7、务必修改下个人信息和账号密码;
image
image
image
image8、功能页展示(未配置天气api会有报错提醒,可根据需求进行配置);
image
image
image
image
image
image9、此时就完成了,可以愉快的玩耍了🤩。
四、参考文档
1、项目:https://gitee.com/blossom-editor/blossom
2、部署:https://gitee.com/blossom-editor/blossom/tree/dev/docker
3、客户端下载:https://github.com/blossom-editor/blossom/releases
五、外网访问注意事项(如需从其他设备访问)
1、如果你的电脑/服务器有公网 IP 或绑定了域名,请务必做两件事:
放行端口:确保服务器防火墙(如 iptables、firewalld)或云服务器安全组放行了 19999 端口(TCP)。
替换地址:在客户端登录时,将 localhost 换成你的实际 IP 或域名,例如:
客户端:http://192.168.200.200:19999/editor/#/settingindex
博客端:http://192.168.200.200:19999/blog/#/home
2、登录后的初始设置(强烈建议)
修改密码(安全第一):在账户安全设置中,将默认密码 blos 改为自己的强密码。
确认图片存储路径(可选):由于你已经在 docker-compose.yml 中配置了PROJECT_IAAS_BLOS_DOMAIN 和存储路径,这里通常不需要再修改。
如果需要外网访问图片,记得把 http://localhost:19999/pic/ 改成你的公网 IP 或域名(否则其他人看到的图片会裂开)。
设置博客名称与个人资料:在“博客设置”中填写你的博客标题、副标题、头像等信息,这些会显示在博客端页面上。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
