阿里云vps搭建碎片化知识卡片管理工具——Memos

1,857 阅读4分钟

本文已参加[新人创作礼]活动,一起开启掘金创作之路。

一个开源的、支持私有化部署的碎片化知识卡片管理工具——Memos

这个跟flomo不同在于支持简单的md代码,可以简单的记录东西

官方Demo:demo.usememos.com/

GitHub地址:github.com/usememos/me… (543 Star)

更多了解可以看这篇文章,腾讯云搭建的

B站vps 服务器docket项目博主:我不是咕咕鸽
项目挺好,适合国内服务器使用
碎片化知识卡片管理工具——Memos:【好玩儿的Docker项目】10分钟搭建一个碎片化知识卡片管理工具——Memos_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

【好玩儿的Docker项目】10分钟搭建一个碎片化知识卡片管理工具——Memos (laoda.de)

我使用的是阿里云的轻量级服务器

1. 搭建环境

1.1 安装环境

重置为Docker 系统

image.png

1.1.1 前期基础安装

远程登录

image.png

然后安装常用软件

sudo root # 切换到root用户

yum update -y  # 升级packages

yum install wget curl sudo vim git -y  # Debian系统比较干净,安装常用的软件

这里阿里云是使用yum的,腾讯的是使用apt\color{red}{这里阿里云是使用yum的,腾讯的是使用apt}

image.png

注意:VPS的内存如果过小,建议设置一下SWAP,一般为内存的1-1.5倍即可,可以让系统运行更流畅!

wget -O box.sh https://raw.githubusercontent.com/BlueSkyXN/SKY-BOX/main/box.sh && chmod +x box.sh && clear && ./box.sh

image.png

选择18\color{green}{18},然后输入你想要扩容的数值即可。

image.png

1.1.2 国外服务器安装Docker(腾讯云阿里云轻量应用服务器可跳过这一部分)

wget -qO- get.docker.com | bash
docker -v  #查看docker版本
systemctl enable docker  # 设置开机自动启动

修改Docker配置:

cat > /etc/docker/daemon.json <<EOF
{
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "20m",
        "max-file": "3"
    },
    "ipv6": true,
    "fixed-cidr-v6": "fd00:dead:beef:c0::/80",
    "experimental":true,
    "ip6tables":true
}
EOF

然后重启 Docker 服务:

systemctl restart docker

非大陆服务器Docker-compose安装:

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version  #查看docker-compose版本

1.1.3 国内服务器安装Docker

阿里云ECS服务器安装docker教程(详细图文)

阿里云服务器Docker及Docker Compose的安装

yum install docker
docker version  #查看docker版本
service docker start # 设置开机自动启动

修改Docker配置(可选)

以下配置会增加一段自定义内网 IPv6 地址,开启容器的 IPv6 功能,以及限制日志文件大小,防止 Docker 日志塞满硬盘

cat > /etc/docker/daemon.json <<EOF
{
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "20m",
        "max-file": "3"
    },
    "ipv6": true,
    "fixed-cidr-v6": "fd00:dead:beef:c0::/80",
    "experimental":true,
    "ip6tables":true
}
EOF

重新启动 service docker restart

国内服务器安装docker-compose

yum -y install docker-compose

sudo chmod +x /usr/local/bin/docker-compose

docker-compose --version  #查看docker-compose版本

1.1.4 安装NginxProxyManager

【Docker系列】一个反向代理神器——Nginx Proxy Manager

创建安装目录

sudo -i

mkdir -p /root/data/docker_data/memos

cd /root/data/docker_data/memos

运行:

docker run -d --name memos -p 5230:5230 -v /root/data/docker_data/memos/.memos/:/var/opt/memos neosmemo/memos:latest

或者使用docker-compose安装, docker-compose.yml

docker-compose.yml的使用 - Ray_chen - 博客园 (cnblogs.com)

version: "3"
services:
  memos:
    image: neosmemo/memos:latest
    container_name: memeos
    hostname: memeos
    ports:
      - "5230:5230"
    volumes:
      - /root/data/docker_data/memos/.memos/:/var/opt/memos
    restart: always

/root/data/docker_data/memos/.memos/这个可以换成你自己服务器的路径;

冒号左边的5230可以换成主机未被占用的端口;

其他不建议修改。 创建新Docker容器时出现“The container name “/xxx“ is already in use by container xxxxxxxxxxx...”问题的解决办法 - 腾讯云开发者社区-腾讯云 (tencent.com)

image.png

1.1.5 放行端口

打开防火墙的端口5230

image.png

查看端口是否被占用(以5230为例),输入:

yum install lsof -y
lsof -i:5230  #查看5230端口是否被占用,如果被占用,重新自定义一个端口

如果啥也没出现,表示端口未被占用,我们可以继续下面的操作了~

如果端口没有被占用(被占用了就修改一下端口,比如改成8081,注意docker命令行里和防火墙都要改)

我们就可以输入http://ip:5230 访问了。

注意:

1、不知道服务器IP,可以直接在命令行输入:curl ip.sb,会显示当前服务器的IP。

2、遇到访问不了的情况,请再次检查在宝塔面板的防火墙和服务商的后台防火墙是否打开对应了端口。

如果要后续想要分享给别人,IP+端口太不优雅了,建议大家还是搞一个域名

域名的配置看【好玩儿的Docker项目】10分钟搭建一个碎片化知识卡片管理工具——Memos (laoda.de

1.1.6 更新

docker命令行部署

docker stop memos

docker rm -f memos

cp -r /root/data/docker_data/memos/.memos /root/data/docker_data/memos/.memos.archive  # 万事先备份,以防万一

docker pull neosmemo/memos:latest  # 拉取最新镜像

docker run -it -d \
  --name memos \
  --publish 5230:5230 \
  --volume /root/data/docker_data/memos/.memos/:/var/opt/memos \
  neosmemo/memos:latest \
  --mode prod \
  --port 5230

docker-compose部署

cd /root/data/docker_data/memos

docker-compose down 

cp -r /root/data/docker_data/memos/.memos /root/data/docker_data/memos/.memos.archive  # 万事先备份,以防万一

docker-compose pull

docker-compose up -d 

docker image prune  # prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像

提示:

WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N] 
输入y

利用Docker搭建的应用,更新非常容易~

1.1.7 卸载

docker stop memos

docker rm -f memos  # 停止容器,此时不会删除映射到本地的数据

rm -rf /root/data/docker_data/memos  # 完全删除映射到本地的数据

1.1.8 备份和转移新服务器

如果想要长期使用,这个数据怎么导出到本地备份保存?

目录是这个:/root/data/docker_data/memos

memos的所有文件都在这里了,想要备份的话备份这个文件夹即可。

具体备份的方法,可以参考这篇文章:blog.laoda.de/archives/do…

2. 安装和配置Memos

image.png

以主人身份登录

image.png

image.png

添加成员

image.png

image.png

image.png

基本都是这些了

image.png