本文已参加[新人创作礼]活动,一起开启掘金创作之路。
一个开源的、支持私有化部署的碎片化知识卡片管理工具——Memos
这个跟flomo不同在于支持简单的md代码,可以简单的记录东西
官方Demo:demo.usememos.com/
GitHub地址:github.com/usememos/me… (543 Star)
更多了解可以看这篇文章,腾讯云搭建的
B站vps 服务器docket项目博主:我不是咕咕鸽
项目挺好,适合国内服务器使用
碎片化知识卡片管理工具——Memos:【好玩儿的Docker项目】10分钟搭建一个碎片化知识卡片管理工具——Memos_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili
我使用的是阿里云的轻量级服务器
1. 搭建环境
1.1 安装环境
重置为Docker 系统
1.1.1 前期基础安装
远程登录
然后安装常用软件
sudo root # 切换到root用户
yum update -y # 升级packages
yum install wget curl sudo vim git -y # Debian系统比较干净,安装常用的软件
注意: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
选择,然后输入你想要扩容的数值即可。
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
阿里云服务器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
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可以换成主机未被占用的端口;
1.1.5 放行端口
打开防火墙的端口5230
查看端口是否被占用(以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
以主人身份登录
添加成员
基本都是这些了