安装 Memos
选择一个目录,用于后续存储 Memos 的相关配置文件
创建 install.sh
,插入下列内容
#!/bin/bash
echo "=== 开始配置 Memos ==="
# 检查本地配置
if [ -d "data" ] ; then
echo "警告:检测到本地已存在配置"
read -p "是否清除现有配置并重新初始化?(y/N) " answer
if [ "$answer" = "y" ] || [ "$answer" = "Y" ]; then
echo "清理现有配置..."
rm -rf data
echo "现有配置已清理"
else
echo "保留现有配置,退出脚本"
exit 0
fi
fi
# 检查 docker-compose.yml
if [ -f "docker-compose.yml" ]; then
echo "发现现有的 docker-compose.yml"
read -p "是否覆盖现有的 docker-compose.yml?(y/N) " answer
if [ "$answer" != "y" ] && [ "$answer" != "Y" ]; then
echo "保留现有 docker-compose.yml,退出脚本"
exit 0
fi
fi
echo -e "\n1. 启动临时容器..."
docker run -d --name memos-temp neosmemo/memos:stable
echo "等待10秒让容器完全初始化..."
sleep 10
echo -e "\n2. 创建本地配置目录..."
mkdir -p data
echo "目录创建完成"
echo -e "\n3. 从运行中的容器复制配置..."
docker cp memos-temp:/var/opt/memos/. ./data/
if [ $? -eq 0 ]; then
echo "数据目录复制成功"
else
echo "错误:数据目录复制失败"
docker rm -f memos-temp
exit 1
fi
echo -e "\n4. 清理临时容器..."
docker rm -f memos-temp
echo "临时容器已清理"
echo -e "\n5. 创建 docker-compose.yml..."
cat > docker-compose.yml <<EOL
version: "3.8"
services:
memos:
image: neosmemo/memos:stable
container_name: memos
restart: unless-stopped
ports:
- "5230:5230"
volumes:
- ./data:/var/opt/memos
EOL
echo "配置文件创建完成"
echo -e "\n=== 配置完成! ==="
echo "你可以:"
echo "1. 编辑 ./data 目录下的配置文件"
echo "2. 编辑 docker-compose.yml 修改端口等设置"
echo "3. 使用 'docker compose up -d' 启动服务"
echo "4. 访问 http://localhost:5230 开始使用 Memos"
echo -e "\n注意:首次访问需要进行初始化设置"
# 询问是否立即启动服务
read -p "是否立即启动服务?(y/N) " answer
if [ "$answer" = "y" ] || [ "$answer" = "Y" ]; then
echo "启动 Memos..."
docker compose up -d
echo "服务已启动,请访问 http://localhost:5230"
fi
执行安装脚本
/bin/bash install.sh
初始化 Memos
创建管理员账户
第一次开启 Memos 需要创建管理员账户