使用 Docker 搭建碎片化知识卡片-Memos

简介: Memos 是一个功能全面、易于使用的开源知识库和社交平台,适合个人和企业使用。它支持标签、过滤、搜索和多账户管理,提供多种隐私设置和后端存储选择,支持单点登录和 Docker 部署,注重数据的安全性和私密性。

介绍

Memos 是一个功能全面、易于使用的开源知识库和社交平台。它不仅适合个人记录和分享信息,也适合企业或组织作为内部的知识管理工具。Memos 的活跃开发和多元化功能使其成为维护私密性和安全性的理想选项。

它旨在为用户提供一个方便的记录、分享和管理知识的环境,同时注重保护用户数据的私密性和安全性。

它具备以下功能:

  • 支持标签、过滤、搜索和多账户管理。
  • 可自定义备忘录可见性,有多种隐私设置选项。
  • 提供多样化的后端存储选择,如数据库、S3 和本地存储。
  • 支持多种单点登录选项,包括 Github、Gitlab 和 Google 等,以及自定义认证方法。
  • 增强的用户界面(UI),新的时间线页面和改进的深色模式。
  • 升级 Markdown 解析器支持扩展语法,如表格(table)和 LaTeX。
  • 支持通过 Docker 部署,允许无损数据的版本更新。
  • 可用于搭建独立微博,满足用户对 self-host 微博的需求。

使用 docker 快速部署

安装

docker pull ghcr.io/usememos/memos

运行

docker run -d --name memos -p 5230:5230 -v ~/.memos/:/var/opt/memos ghcr.io/usememos/memos:latest

然后我们就可以使用 ip + 端口的形式来访问 memos 应用了。

在 k8s 中部署

第一,在我们的 k8s 集群上新建一个文件,文件名比如叫 memos-deployment.yaml,然后将下面这段 yaml 内容 copy 进去;

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: memos
  name: memos
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: memos
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: memos
    spec:
      containers:
        - image: 'ghcr.io/usememos/memos:latest'
          imagePullPolicy: Always
          name: memos
          ports:
            - containerPort: 5230
              name: memeos
              protocol: TCP
          resources:
            requests:
              cpu: 250m
              memory: 512Mi
      restartPolicy: Always

第二,在终端中 cd 到 memos-deployment.yaml 文件的目录,并执行下面这段命令进行应用部署:

kubectl apply -f memos-deployment.yaml

第三,我们可以使用以下命令来查看部署状态:

kubectl rollout status deployment/memos

第四,为了进一步检查,确认 pod 是否成功运行,可以使用以下命令:

kubectl get pods -l app=memos

-l app=memos 这一部分是一个标签选择器,用来只挑选出拥有app=memos标签的 pods,这样就只会显示你刚刚部署的应用的 pods。

此时已经部署完成了,但是外界还无法访问,因为默认情况下 pod 不会被分配一个可以从集群外访问的 IP 地址,所以还需要创建一个 Service 来连接外界和这个 pod,这里多说比较复杂。因为对于个人来说使用 k8s 集群的概率极低(大都应该是学习),所以只需要会使用 docker 进行部署即可。

而在企业级维度,一般都会使用各大云厂商提供的 k8s 服务,比如阿里云 ACK 等,使用这种白屏化界面部署这些开源应用简直不要太简单,就不过多赘述了。

使用

部署好之后,我们输入 ip + 端口,首先会看到一个注册页面,这里我们注册一个用户:

注册好之后,我们就会跳转到主页面,它长这个样子:

默认进来之后又成了英文,接下来我们到 Settings 中将语言设置成中文。

之后我们点击主页就可以开始记录笔记了:

移动端也很清爽:

相较于手机记事本、备忘录及一些其他笔记软件来说,memos 的优点很显而易见:

  • 开源且永久免费,只要你有一台服务器,你就可以自由地使用和修改软件,不受任何限制。
  • 按照教程使用 Docker 进行傻瓜式部署,简单几步,轻松安装
  • Memos 的界面简洁直观、易于上手,只要有浏览器,在任何一台联网设备上都可以进行访问
  • Memos的轻量级特点使得其占用资源较少,运行速度快,我们在手机端或者电脑端都能快速打开。
  • 不但如此,我们还可以将备忘录分享给他人,增强了笔记的个性化和实用性。
相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
1月前
|
前端开发 Go 数据库
Memos:一条 Docker 命令,构建你的私有知识库
Memos 是一款开源、轻量级的自托管笔记平台,仅需一条 Docker 命令即可部署。数据完全掌控在自己手中,支持 Markdown、标签管理、全文搜索与多数据库。Go 语言后端性能卓越,内存占用低,助力你快速搭建私有知识库。
|
19天前
|
人工智能 应用服务中间件 API
刚刚,阿里云上线Clawdbot全套云服务!
阿里云上线Moltbot(原Clawdbot)全套云服务,支持轻量服务器/无影云电脑一键部署,可调用百炼平台百余款千问模型,打通iMessage与钉钉消息通道,打造开箱即用的AI智能体助手。
3781 33
刚刚,阿里云上线Clawdbot全套云服务!
|
存储 安全 对象存储
手把手教你搭建阿里云图床(PicGo+Typora+阿里云OSS),新手小白一看就会
本文详细介绍了怎样帮助新手小白从注册,购买阿里云OSS,到一步一步配置OSS做为图床,和PicGo、Typora软件连接,配置好关联之后,在使用Typora写文章时,如果需要插入图片,只需要将图片复制粘贴到Typora的编辑区域,就会自动通过PicGo上传到指定图床,自动复制外网能访问的URL并展示,简直不要太方便,极大的解决了编辑文章时复制处理图片链接的痛点。
12602 15
手把手教你搭建阿里云图床(PicGo+Typora+阿里云OSS),新手小白一看就会
|
4月前
|
人工智能 Java Nacos
基于 Spring AI Alibaba + Nacos 的分布式 Multi-Agent 构建指南
本文将针对 Spring AI Alibaba + Nacos 的分布式多智能体构建方案展开介绍,同时结合 Demo 说明快速开发方法与实际效果。
3645 75
|
JSON Kubernetes 数据格式
使用 Docker 搭建 IT-tools
本文介绍了 it-tools,一个集成了多种开发工具的平台,如 JSON/YAML 格式化、加密解密、Base64 转换等。支持通过 Docker、Docker Compose 和 K8s 部署,并提供了详细的命令示例。部署后可通过公网 IP 和端口访问。
395 1
|
前端开发 C语言
gcc动态库升级
gcc动态库升级
|
11月前
|
前端开发 搜索推荐 数据安全/隐私保护
Calibre-Web-Automated:打造你的私人图书馆
Calibre-Web-Automated 是一个功能强大、易于使用的电子书管理平台,它可以帮助你轻松构建和管理你的私人图书馆。如果你正在寻找一个开源、免费、可定制的电子书管理解决方案,那么 Calibre-Web-Automated 绝对是你的不二之选!
877 10
Calibre-Web-Automated:打造你的私人图书馆
|
10月前
|
存储 缓存 文件存储
uv安装python及其依赖的加速方法
国内在使用uv的时候,可能会涉及到装python的速度太慢的问题,为了解决这个问题,可以使用`UV_PYTHON_INSTALL_MIRROR`这个环境变量。除此以外,对于多人协作场景,`UV_CACHE_DIR`也是一个有用的环境变量。本文会介绍这两个变量。
6890 10
|
人工智能 API 数据安全/隐私保护
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
NextChat 是一个可以在 GitHub 上一键免费部署的私人 ChatGPT 网页应用,支持 GPT3、GPT4 和 Gemini Pro 模型。该项目在 GitHub 上获得了 63.8k 的 star 数。部署简单,只需拉取 Docker 镜像并运行容器,设置 API Key 后即可使用。此外,NextChat 还提供了预设角色的面具功能,方便用户快速创建对话。
1594 22
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用

热门文章

最新文章