国产双链笔记软件Blossom

2023-12-29 13:08:25

在这里插入图片描述

什么是 Blossom ?

Blossom 是一款支持私有部署的云端存储双链笔记软件 ,你可以将你所有的笔记,图片,个人计划安排保存在自己的服务器中,并在任意设备之间实时同步,同时,Blossom 还是一个动态博客。支持 WindowsMac,网页客户端,网页移动端。

在这里插入图片描述

不想自己部署,可以在线试用,官方提供了试用文档:https://www.wangyunf.com/blossom-doc/guide/tryuse.html

安装

准备工作

首先我们要下载好客户端,其他平台的无所谓,但是 web 客户端一定要提前下载好,因为老苏准备将其和服务端一起部署

下载地址:https://github.com/blossom-editor/blossom/releases

或者:https://www.wangyunf.com/blossom-doc/guide/about/download.html

在这里插入图片描述

# 新建文件夹 blossom 和 子目录
mkdir -p /volume1/docker/blossom/{data,html,mysql/{data,log,mysql-files}}

# 进入 html 目录
cd /volume1/docker/blossom/html

# 将下载的 blossom-1.9.0-web-client.zip.zip 放入当前目录

在这里插入图片描述

File Station 中可以解压

在这里插入图片描述

解压后的目录结构

在这里插入图片描述

安装镜像

在群晖上以 Docker 方式安装。

在注册表中搜索 blossom ,选择第一个 jasminexzzz/blossom,版本选择 latest

本文写作时, latest 版本对应为 1.9.0

在这里插入图片描述

采用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: "3.8"

services:
  blossom:
    image: jasminexzzz/blossom:latest
    container_name: blossom-backend
    restart: always
    ports:
      - "9998:9999"
    volumes:
      - ./data/:/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
      PROJECT_IAAS_BLOS_DOMAIN: http://192.168.0.197:9998/pic/
      PROJECT_IAAS_BLOS_DEFAULT-PATH: /volume1/docker/blossom/data/img/
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9999/sys/alive"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 5s
    depends_on:
      blmysql:
        condition: service_healthy
        
  blmysql:
    image: mysql:8.0
    container_name: blossom-mysql
    restart: on-failure:3
    #ports:
    #  - "3306:3306"
    volumes: 
      - ./mysql/data:/var/lib/mysql 
      - ./mysql/log:/var/log/mysql 
      - ./mysql/mysql-files:/var/lib/mysql-files 
    environment:
      MYSQL_DATABASE: blossom
      MYSQL_ROOT_PASSWORD: jasmine888 
      LANG: C.UTF-8
      TZ: Asia/Shanghai
    healthcheck:
      test: ["CMD", "mysqladmin", "-uroot", "-pjasmine888", "ping", "-h", "localhost"]
      interval: 10s
      timeout: 3s
      retries: 12

  web:
    image: nginx
    container_name: blossom-web
    restart: always
    ports:
      - "9997:80"
    volumes:
      - ./html:/usr/share/nginx/html
    depends_on:
      - blossom

容器 blossom-mysql 环境变量说明:

  • MYSQL_DATABASE:数据库库名;
  • MYSQL_ROOT_PASSWORD:数据库用户 root 对应的密码;
  • LANG:语言;
  • TZ:时区设置;

如果你修改了数据库密码,下面这行中 -p 后面也要跟着修改;

test: ["CMD", "mysqladmin", "-uroot", "-pjasmine888", "ping", "-h", "localhost"]

容器 blossom-backend 环境变量说明:

  • SPRING_DATASOURCE_URL:默认就可以,不建议改;
  • SPRING_DATASOURCE_USERNAME:数据库用户,不要改;
  • SPRING_DATASOURCE_PASSWORD:数据库用户,需对应 MYSQL_ROOT_PASSWORD 的值;
  • PROJECT_IAAS_BLOS_DOMAINBlossom 后端的网络访问地址 + /pic/,如果设置不正确,上传的图片会显示不出来;
  • PROJECT_IAAS_BLOS_DEFAULT-PATHBlossom 的根目录 + /data/img/,也就是图片保存的实际目录,对应容器内则为 /home/bl/img/

然后执行下面的命令

# 进入 blossom 目录
cd /volume1/docker/blossom

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

在这里插入图片描述

如果出现类似下面这样 unhealthy 的情况

ERROR: for blossom  Container "d53f92cc278e" is unhealthy.

一个办法是,多等一会儿之后,然后再次执行 docker-compose up -d,因为 MySQL 的第一次启动需要耗费的时间比较长

或者分开执行,比如先执行 docker-compose up -d blmysql,等数据库启动后再执行 docker-compose up -d

在这里插入图片描述

如果你用了 portainer,可以很方便的看到容器的健康状况

在这里插入图片描述

另一个办法是,干脆去掉 docker-compose.yml 中的 healthcheck 部分

version: "3.8"

services:
  blossom:
    image: jasminexzzz/blossom:latest
    container_name: blossom-backend
    restart: always
    ports:
      - "9998:9999"
    volumes:
      - ./data/:/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
      PROJECT_IAAS_BLOS_DOMAIN: http://192.168.0.197:9998/pic/
      PROJECT_IAAS_BLOS_DEFAULT-PATH: /volume1/docker/blossom/data/img/
    depends_on:
      - blmysql
        
  blmysql:
    image: mysql:8.0
    container_name: blossom-mysql
    restart: on-failure:3
    #ports:
    #  - "3306:3306"
    volumes: 
      - ./mysql/data:/var/lib/mysql 
      - ./mysql/log:/var/log/mysql 
      - ./mysql/mysql-files:/var/lib/mysql-files 
    environment:
      MYSQL_DATABASE: blossom
      MYSQL_ROOT_PASSWORD: jasmine888 
      LANG: C.UTF-8
      TZ: Asia/Shanghai

  web:
    image: nginx
    container_name: blossom-web
    restart: always
    ports:
      - "9997:80"
    volumes:
      - ./html:/usr/share/nginx/html
    depends_on:
      - blossom

运行

日志中看到 启动成功 就可以访问了,里面显示了默认的用户和密码

在这里插入图片描述

在浏览器中输入 http://群晖IP:9998 会看到认证失败的信息

{  
    "code":"AUTH-40101",  
    "msg":"无效的授权信息",  
    "ex":"无效的授权信息",  
    "data":null  
}

在这里插入图片描述

但其实服务端已经启动成功了,只是访问的方式不正确,输入 http://群晖IP:9998/sys/alive 即可

{
    "code":"20000",
    "msg":"成功",
    "data":"这里是 [blossom-backend] 服务器 [prod] 环境"
}

在这里插入图片描述

网页客户端

如果你已经将 web client 放入了 html 目录,可以在浏览器中输入 http://群晖IP:9997 进行访问

在这里插入图片描述

  • 服务器地址:http://群晖IP:9998
  • 默认账号:blos
  • 默认密码:blos

在这里插入图片描述

登录成功后,就可以写笔记了

在这里插入图片描述

图片也是 ok

在这里插入图片描述

Windows 客户端

客户端的下载地址和网页客户端是一样的,看文件的体积应该是基于 Electron 框架的,所以用户体验上和网页客户端也是一致的

在这里插入图片描述

登录成功后,能看到我们之前在网页客户端新建的笔记

在这里插入图片描述

博客

博客是需要单独部署的,除了可以访问公开文章之外,更提供了各项功能的移动端访问入口。但由于需要修改一些相关配置,所以官方无法提供即用的包,需要用户自行配置并打包。至少需要 NodeJS 18 及以上。

首先需要下载 blossom-web 目录下的源码,并修改 blossom-web\src\assets\constants\blossom.ts 文件中的相关内容,修改之后还需要编译,具体方法可以参考官方的文档:https://www.wangyunf.com/blossom-doc/guide/deploy/blog.html#how-to-deploy

其他

数据库

老苏原本打算采用群晖的 MariaDB 10,但是在运行时遇到了下面的错误,暂时没有时间去深入研究,最终采用了官方使用的 MySQL

Invocation of init method failed; nested exception is org.springframework.jdbc.datasource.init.ScriptStatementFailedException

其实官方转载的教程里有详细的数据库设置教程,有兴趣的可以自己去看看

地址:https://www.wangyunf.com/blossom-doc/guide/deploy/backend-nas-qunhui.html

授权

在设置中看到到期时间吓了一跳,因为没剩下几天了

在这里插入图片描述

但实际上是可以自己修改的

在这里插入图片描述

参考文档

blossom-editor/blossom: A markdown editor that you can deploy on your own servers to achieve cloud storage and device synchronization(支持私有部署的云端存储双链笔记软件)
地址:https://github.com/blossom-editor/blossom

blossom: 一个支持私有部署的云端存储双链笔记软件,你可以将你所有的笔记,图片,个人计划安排保存在自己的服务器中,并在任意设备之间实时同步。同时还是一个个人博客。
地址:https://gitee.com/blossom-editor/blossom

Blossom | Blossom
地址:https://www.wangyunf.com/blossom-doc/index

文章来源:https://blog.csdn.net/wbsu2004/article/details/135282879
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。