本地搭建MinIO服务器

本地搭建MinIO对象存储,用于obsidian的同步 Modified: 2024-09-29 22:42:42 Created: 2023-03-01 14:23:31 Tags: #MinIO #linux #s3 #oss

在本文中,我们将介绍如何使用 MinIO 对象存储来实现 Obsidian 的同步。MinIO 是一款高性能、开源的对象存储服务器,它可以为我们提供可靠的数据存储和访问服务。

1. 安装 MinIO 服务器

我们可以使用 Docker 来安装 MinIO 服务器,运行以下脚本:

docker run -p 8090:8090 -p 8091:8091 \
-name minio \
-d --restart=always \
-e "MINIO_ACCESS_KEY=minioadmin" \
-e "MINIO_SECRET_KEY=minioadmin" \
-v /home/chinglin/fastdata/.minio/data:/data \
-v /home/chinglin/fastdata/.minio/config:/root/.minio \
minio/minio server \
/data --console-address ":8090" -address ":8091"

说明:

  • MINIO_ACCESS_KEY(访问密钥)和MINIO_SECRET_KEY(秘密密钥):默认情况下是minioadminminioadmin,并非必须重新配置。
  • 控制台地址8090用于配置整个服务。
  • 地址8091用于访问文件,MinIO 客户端将使用这些端口。

此外,如果希望从外部访问,例如通过http://server_ip:8090访问,则应打开防火墙端口。

2. MinIO 客户端

可以使用mc自带客户端,也可以用rclone。

2.1. 安装mc

  1. 按照这里的说明进行安装。
  2. Mac 客户端安装:
    brew install minio/stable/mc
    
  3. Linux 客户端安装:
    dnf install https://dl.minio.org.cn/client/mc/release/linux-amd64/mcli-20230128202938.0.0.x86_64.rpm
    mcli alias set myminio/ http://MINIO-SERVER MYUSER MYPASSWORD
    

2.2. 配置

访问localhost:8090,创建一个名为bucket_name的存储桶。获取access_key(访问密钥)和access_secret_key(秘密密钥)。

设置别名:

mc alias set alias_name oss_url access_key access_secret_key

2.3. 基本操作

  1. 列出存储桶信息:
    mc ls alias_name/bucket_name
    
  2. 下载文件:
    mc cp alias_name/bucket_name/file_name local_path
    
  3. 上传文件:
    mc cp local_path alias_name/bucket_name/
    
  4. 删除文件:
    mc rm alias_name/bucket_name/file_name
    

3. 为 Obsidian 进行配置并使用 Cloudflare 做反向代理

3.1. 为 Obsidian 进行配置

安装 Obsidian 的第三方插件remotely-save。选择 S3 作为远程保存工具。将存储桶名称设置为localhost:8091/bucket_name,区域设置为默认值。

3.2. 使用 Cloudflare 做反向代理

Cloudflare 是一个强大的网络服务提供商,可以为我们的 MinIO 服务提供反向代理功能,从而提高访问的安全性和性能。

  1. 注册 Cloudflare 账号并登录。
  2. 添加你的域名,并按照提示进行 DNS 设置,将域名指向你的 MinIO 服务器的 IP 地址。
  3. 在 Cloudflare 控制面板中,找到“Crypto”选项卡,设置 SSL/TLS 加密为“Full”或“Flexible”,以确保数据传输的安全性。
  4. 创建一个新的代理规则,将请求转发到你的 MinIO 服务器的地址。例如,如果你的 MinIO 服务器地址是http://your_minio_server_ip:8091,你可以设置代理规则为将所有请求转发到这个地址。
  5. 配置缓存设置,以提高访问速度。你可以根据实际情况设置缓存时间和缓存规则。

通过使用 Cloudflare 做反向代理,我们可以隐藏 MinIO 服务器的真实 IP 地址,提高安全性。同时,Cloudflare 的全球网络可以加速数据传输,提高用户体验。

总结

通过安装 MinIO 服务器,使用 MinIO 客户端进行访问,并为 Obsidian 进行配置,我们可以实现使用 MinIO 对象存储进行 Obsidian 的同步。这种方案具有高性能、可靠性和灵活性,可以满足我们的数据存储和同步需求。

实际中可以根据自己的需求进一步优化配置,例如调整存储桶的权限设置、加密数据等,以提高数据的安全性。同时,我们还可以结合其他工具和技术,如备份策略、监控系统等,确保数据的完整性和可用性。