一款优秀的双链笔记Blossom 安装教程 私有部署的云端双链笔记软件Blossom

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

支持 Windows,Mac,网页客户端,网页移动端。


 

👏 Blossom 的特点:

完善的文件关系

Blossom 不依赖任何三方存储和图床,其本身就是一个图床,并且提供了完善的图片管理,防勿删,以及图片和文章的双向关系绑定。

基于 Markdown 编写,没有破坏性的语法拓展,在这里编写的内容在任何 Markdown 软件中都能正常显示。

快速迁移

所有图片和文章都支持一键备份和导出,可以在几分钟内轻松迁出。导出的文件可以无缝使用 VS Code 或 Obsidian 等本地软件正常打开。

应用部署文档

本文说明了所有部署该应用的方式。

docker├─ build                    镜像构建|  └─ Dockerfile            应用镜像构建脚本└─ compose                  docker compose 配置└─ blossom-mysql8.yaml   包含后台应用 Blossom-backend 与 MySql8

应用所需环境与版本

  1. JDK8
  2. MySQL8+

一、使用应用的公共镜像

1. 拉取MySQL镜像并启动

如果已安装数据库,可以跳过该步骤。

docker pull mysql:8.0.31

启动镜像示例

docker run \
-d \
--name mysql \
-e MYSQL_ROOT_PASSWORD=jasmine888 \
-p 3306:3306 \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-v /usr/local/docker/mysql-files/log:/var/lib/mysql-files \
-v /usr/local/docker/mysql/log:/var/log/mysql \
mysql:8.0.31

2. 创建数据库

你需要在 MySQL 中先创建一个数据库,数据库名称与启动容器时的--spring.datasource.url配置的数据库名称相同,如果不需要自定义数据库名称,你可以直接使用如下语句创建数据库:

CREATE DATABASE `blossom` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

3. 拉取镜像

docker pull jasminexzzz/blossom:latest

4. 启动容器

启动示例

docker run -d \# 容器名称--name blossom-backend \# 指定端口映射-p 9999:9999 \# 挂载图片保存路径,如果是windows环境,可以使用/c/home/bl/来指定磁盘-v /home/bl/:/home/bl/ \# 启动的镜像名称jasminexzzz/blossom:latest \# 配置数据库访问地址--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

windows 控制台如下

docker run -d --name blossom-backend -p 9999:9999 -v /home/bl/:/home/bl/ jasminexzzz/blossom:latest --spring.profiles.active=prod --project.iaas.blos.domain="http://127.0.0.1:9999/pic/" --project.iaas.blos.default-path="/home/bl/img/" --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

二、使用 docker compose 拉取镜像

可以使用 docker compose 单独拉取应用镜像,或者连同 MySQL 一起拉取构建。下列示例均可在项目/docker/compose目录下查看

1. 拉取应用镜像与 MySQL 镜像示例

该 docker compose 包含 MySQL,MySQL 容器在初始化时会自动创建数据库 Blossom,但你需要挂载 MySQL 文件到宿主机,防止数据丢失。

version: "3.8"networks:blossomnet:driver:bridgeservices:blossom:image: jasminexzzz/blossom:latestcontainer_name: blossom-backendvolumes:# 【需修改】挂载图片保存路径,如果是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: jasmine888ports:- "9999:9999"networks:- blossomnethealthcheck:test: ["CMD", "curl", "-f", "http://localhost:9999/sys/alive"]interval: 30stimeout: 10sretries: 3start_period: 5srestart: alwaysdepends_on:blmysql:condition: service_healthyblmysql:image: mysql:8.0.31container_name: blossom-mysqlrestart: 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-filesenvironment:MYSQL_DATABASE: blossom# 【需修改】多数情况下与 services.blossom.environment.SPRING_DATASOURCE_PASSWORD 相同MYSQL_ROOT_PASSWORD: jasmine888LANG: C.UTF-8TZ: Asia/Shanghaiports:- "3306:3306"networks:- blossomnethealthcheck:test: ["CMD", "mysqladmin", "-uroot", "-pjasmine888", "ping", "-h", "localhost"]interval: 10stimeout: 3sretries: 12

启动 Docker Compose

docker compose -f docker/compose/blossom-mysql8.yaml up -d

源码地址: https://github.com/blossom-editor/blossom

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/632192.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python-基础篇-类与对象/面向对象程序设计

文章目录 思维导图是何物类定义类📚 class类的成员📚类的继承性📚封装性📚多态性 对象面向对象📚创建对象📚销毁对象📚 类和对象关系必背必记专业英语学习角 思维导图 是何物 类 “类”是物以…

【算法实验】实验4

实验4-1 01背包 【问题描述】给定一个容量为C的背包,现有n个物品,每个物品的体积分别为s1,s2...sn,价值分别为v1,v2...vn。每个物品只能放入一次。背包最多能装入价值为多少的物品。 【输入形式】输入的第1行包含2个整数C和n,分别表示背包容…

C++大学教程(第九版)5.18进制表

目录 题目 代码 运行截图 题目 (进制表)编写一个程序要求打印一张表,内容是1~256范围内每个十进制数对应的二进制、八进制和十六进制形式。如果还不熟悉这些计数系统,可先阅读附录 D。提示:可以使用流操纵符dec、oct 和 hex来…

C语言之三子棋游戏(棋盘)

test.c #define _CRT_SECURE_NO_WARNINGS 1 //测试三子棋 #include"game.h" void menu() { printf("**********************************\n"); printf("***** 1.play 0.exit ****\n"); printf("**************…

算法笔记 #3

2024年1月18日 Q1:搜索二叉树 A:查找,左子树比根几点小,右子树比根大。 删除:1)搜索删除的目标节点,记录其父节点; 2)左右孩子都为空,直接删掉;…

【linux 多线程并发】多线程的控制,挂起线程暂停运行,直到唤醒线程,取消线程运行,可以设置合适的取消点属性避免不安全点被中止

线程运行控制 ​专栏内容: 参天引擎内核架构 本专栏一起来聊聊参天引擎内核架构,以及如何实现多机的数据库节点的多读多写,与传统主备,MPP的区别,技术难点的分析,数据元数据同步,多主节点的情况…

Spring+SpringMVC+Mybatis进行项目的整合

Spring SpringMVCM Mybatis 整合 一、 通过idea创建maven工程 二、 引入依赖项以及导入mybatis逆向工程的插件 将如下的文件替换所在工程的pom文件 <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4…

实验二 体系结构

&#x1f57a;作者&#xff1a; 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux菜鸟刷题集 &#x1f618;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 &#x1f3c7;码字不易&#xff0c;你的&#x1f44d;点赞&#x1f64c;收藏❤️关注对我真的…

【Leetcode】277.搜寻名人

一、题目 1、题目描述 假设你是一个专业的狗仔,参加了一个 n 人派对,其中每个人被从 0 到 n - 1 标号。在这个派对人群当中可能存在一位 “名人”。所谓 “名人” 的定义是:其他所有 n - 1 个人都认识他/她,而他/她并不认识其他任何人。 现在你想要确认这个 “名人” 是…

Seaborn可视化的各种图及代码演示

一.简介 Seaborn是基于matplotlib的图形可视化python包。它提供了一种高度交互式界面&#xff0c;便于用户能够做出各种有吸引力的统计图表。 Seaborn是在matplotlib的基础上进行了更高级的API封装&#xff0c;从而使得作图更加容易&#xff0c;在大多数情况下使用seaborn能做…

【Proteus仿真】【51单片机】甲醛浓度检测报警器

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真51单片机控制器&#xff0c;使用蜂鸣器LED模块、LCD1602显示模块、按键、MS1100甲醛传感器模块等。 主要功能&#xff1a; 系统运行后&#xff0c;LCD1602显示甲醛气体浓度检测值…

图形化编程:开启无代码时代的编程之旅

在当今数字化时代&#xff0c;编程已经成为一项重要的技能。然而&#xff0c;对于许多初学者和非专业人士来说&#xff0c;传统的文本编程语言往往显得复杂和难以理解。图形化编程&#xff0c;作为一种新兴的编程范式&#xff0c;正逐渐改变这一现状&#xff0c;为更多人打开了…

linux 内核ARM64启动

基于linux5.15内核翻译理解 Essentially, the boot loader should provide (as a minimum) the following: Setup and initialise the RAMSetup the device treeDecompress the kernel imageCall the kernel image1、安装与初始化物理内存 (必须的) boot loader需要初始化物理…

RK3568平台开发系列讲解(Linux系统篇)中断下文 tasklet

🚀返回专栏总目录 文章目录 一、什么是 taskle二、tasklet 相关接口函数2.1、静态初始化函数2.2、动态初始化函数2.3、关闭函数2.4、使能函数2.5、调度函数2.6、销毁函数三、测试程序沉淀、分享、成长,让自己和他人都能有所收获!😄

Java入门高频考查基础知识4(字节跳动面试题18题2.5万字参考答案)

Java 是一种广泛使用的面向对象编程语言&#xff0c;在软件开发领域有着重要的地位。Java 提供了丰富的库和强大的特性&#xff0c;适用于多种应用场景&#xff0c;包括企业应用、移动应用、嵌入式系统等。 以下是几个面试技巧&#xff1a; 1. 复习核心概念&#xff1a;回顾 Ja…

【网站项目】基于springboot与vue的电子商城项目

&#x1f64a;作者简介&#xff1a;多年一线开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

vue生命周期,父子组件生命周期

生命周期 什么是生命周期? 从Vue实例创建、运行、到销毁期间&#xff0c;总是伴随着各种各样的事件&#xff0c;这些事件&#xff0c;统称为生命周期&#xff01; beforeCreate: 初始化之前&#xff0c;data和methods的数据还没有初始化 ⻚面重定向 created&#xff1a;初始化…

如何理解商业活动中的券

商业活动中的券是一种常见的促销和营销手段&#xff0c;为消费者和商家提供了一种互利的机制。这种在购物和交易中使用的小片纸质或电子形式的代金券和折扣券&#xff0c;不仅在经济上具有实际价值&#xff0c;而且在推动销售、提高品牌知名度以及促进客户忠诚度方面发挥着关键…

AspectJ语法

AspectJ 通过连接点向Java添加一些新的程序元素来扩展Java&#xff0c;是Java面向切点一种实现。其主要包括连接点、切点、建议、切面及类型间声明。 连接点&#xff1a;程序在执行过程中明确的点。包括方法和构造函数调用及字段访问等。 切点&#xff1a;用来挑选连接点。 …

ubuntu开放ssh服务

&#x1f4d1;前言 本文主要是【ubuntu】——ubuntu开放ssh服务的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 &#x1f304;每日一…