使用 vitepress + docker + oneDrive 等实现本地知识库 预览+备份
2023/12/5 23:03:00
本文主要是介绍使用 vitepress + docker + oneDrive 等实现本地知识库 预览+备份,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.简介
使用 语雀
、notion
等文档知识库,在使用起来比较方便,但是如果需要本地备份,就需要借助一些工具。本文介绍使用 本地预览框架 vitepress
和 同步网盘 oneDrive
来实现本地知识库 预览+备份。
2.自己实现一遍
2.1.初始化项目
2.1.1.创建项目
创建并进入目录,初始化 vitepress 项目。
mkdir local_wiki && cd local_wiki
2.1.2.创建 package.json
创建 package.josn
文件,并粘贴以下内容。
{ "name": "local_wiki", "private": true, "scripts": { "docs:dev": "vitepress dev --host --port 10050" }, "devDependencies": { "vitepress": "1.0.0-rc.29" } }
2.1.3.初始化 pnpm-lock.yaml 文件
安装依赖,生成 pnpm-lock.yaml
文件。
pnpm install
2.2.配置 Docker 相关
2.2.1.创建 Dockerfile 文件
创建 Dockerfile
文件,并粘贴以下内容。
# 基础镜像 FROM node:16.15.0-alpine # 创建 工作目录 WORKDIR /app # copy 项目到镜像里 COPY . . # 运行命令 RUN npm install -g pnpm && \ pnpm install --frozen-lockfile # 暴露端口 EXPOSE 5173 # 运行 CMD [ "npm", "run", "docs:dev" ]
2.2.2.创建 .dockerignore 文件
创建 .dockerignore
文件,并粘贴以下内容。
/.vitepress /.git /caches /node_modules /docs
2.3.构建本地镜像
终端运行以下命令。
docker build -t local_wiki:local -f ./Dockerfile .
2.4.运行镜像
2.4.1.了解配置路径
如果电脑有 iCloud
、oneDrive
等同步网盘,可以把 projectHostDocsDir
和 projectHostConfigDir
替换成同步目录。如果不需要备份,那就把 2 个配置改成自定义路径即可。
例如:
projectHostDocsDir
=>/Users/pocky/iCloud 云盘(归档)/local_wiki/docs
projectHostConfigDir
=>/Users/pocky/iCloud 云盘(归档)/local_wiki/config
2.4.2.创建 vitepress 配置文件
先去创建 projectHostConfigDir
这个预设目录,然后再到 local_wiki/config
目录里创建 config.mts
文件,并粘贴以下内容。
import { defineConfig } from "vitepress"; // https://vitepress.dev/reference/site-config export default defineConfig({ title: "本地文档", description: "本地文档知识库", srcDir: "./docs", cacheDir: "./caches", themeConfig: { search: { provider: "local", }, }, });
2.4.3.创建 docs 目录
同上,也创建 projectHostDocsDir
这个预设目录,然后再到 local_wiki/docs
目录里创建一个 index.md
文件。
# 这是一个 md 文件
2.4.4.运行 docker 镜像
把以下的 projectHostDocsDir
和 projectHostConfigDir
变量改成自己的预设路径后,去终端运行此命令。
#!/bin/sh # 镜像信息 dockerImageName=local_wiki dockerImageVersion=local # 运行后的容器信息 dockerContaimerName=L_local_wiki # 端口 dockerHostPort=10050 dockerContainerPort=10050 # 文档目录映射配置 projectHostDocsDir=/XXXXXXXXXXXXXXX/local_wiki/docs projectContainerDocsDir=/app/docs # 配置目录映射配置 projectHostConfigDir=/XXXXXXXXXXXXXXX/local_wiki/config projectContainerConfigDir=/app/.vitepress # ==================== # 运行脚本 runShell(){ # 停止并删除容器 docker container stop $dockerContaimerName; \ docker container rm $dockerContaimerName; \ # 生成容器 docker run -itd \ --name=$dockerContaimerName \ -p $dockerHostPort:$dockerContainerPort \ -v $projectHostDocsDir:$projectContainerDocsDir \ -v $projectHostConfigDir:$projectContainerConfigDir \ $dockerImageName:$dockerImageVersion } runShell
3.或直接使用封装好的镜像
目录配置请看 2.4.运行镜像
终端运行以下命令。
#!/bin/sh # 镜像信息 dockerImageName=pocky2460392754/vitepress_local_wiki dockerImageVersion=1.0.0 # 运行后的容器信息 dockerContaimerName=vitepress_local_wiki # 端口 dockerHostPort=10050 dockerContainerPort=10050 # 文档目录映射配置 projectHostDocsDir=/XXXXXXXXXXXXXXX/local_wiki/docs projectContainerDocsDir=/app/docs # 配置目录映射配置 projectHostConfigDir=/XXXXXXXXXXXXXXX/local_wiki/config projectContainerConfigDir=/app/.vitepress # ==================== # 运行脚本 runShell(){ # 停止并删除容器 docker container stop $dockerContaimerName; \ docker container rm $dockerContaimerName; \ # 生成容器 docker run -itd \ --name=$dockerContaimerName \ -p $dockerHostPort:$dockerContainerPort \ -v $projectHostDocsDir:$projectContainerDocsDir \ -v $projectHostConfigDir:$projectContainerConfigDir \ $dockerImageName:$dockerImageVersion } runShell
4.查看效果
浏览器输入 http://localhost:10050
地址,修改 index.md
文件查看效果。
5.总结
从 语雀
迁移到 notion
, 再从 notion
迁移到 本地
, 或许 本地+网盘同步
才是最好的选择。
6.博客原文
https://www.965.ink/archives/1701055919322
这篇关于使用 vitepress + docker + oneDrive 等实现本地知识库 预览+备份的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24Docker环境部署学习:初学者指南
- 2024-12-24Docker环境部署入门:新手必读指南
- 2024-12-20Docker部署资料:新手入门教程
- 2024-12-19Docker部署实战:新手入门教程
- 2024-12-19Docker部署教程:新手入门详解
- 2024-12-09云原生周刊:在Docker上部署大语言模型
- 2024-12-05Docker教程:新手快速入门指南
- 2024-12-05Docker项目实战:新手教程与案例解析
- 2024-12-04Docker入门教程:快速掌握基础操作
- 2024-12-04Docker入门教程:轻松搭建你的第一个容器化应用