使用Docker安装 Chevereto V4 搭建自己的图床

文章首发于若绾 教你如何使用 Docker 安装 Chevereto V4 搭建属于自己的图床，转载请注明出处。

在写博客的过程中，图片的使用是必不可少的。它们能够丰富文章内容，增强观众的阅读体验。搭建自己的图床可以让您更好地管理和使用图片资源。图床能够对图片进行压缩和优化，减少图片文件大小，从而加快页面加载速度。快速加载的页面有助于提高用户体验，降低跳出率。此外，将图片储存在图床上，可以减轻您博客服务器的负担，节省存储空间和带宽。这样，您的服务器可以更专注于处理博客内容，提供更好的性能。

这里我要向大家推荐一个非常好用的图床平台：Chevereto。虽然市面上也有其他像兰空图床这样的开源图床软件，但是 Chevereto 是我使用过感觉最成熟稳定的软件而且它还有很多第三方插件支持。Chevereto 分为免费版和 Pro 版本 Pro 版本一次性买断费用为 75 刀，但其实免费版已经很够大家的日常使用了，博主这次要进行安装的是它的 Pro 版本。

准备工作

！！首先一定要确保你的服务器上之前没有安装或运行 Nginx。Chevereto 的 Docker 版本会运行 Nginx 的 docker 版本会与已有的 Nignx 冲突导致无法运行（亲身踩坑）

准备一台 VPS，配置最好在 1 核 512M 内存 10GB 硬盘及以上 （后续进阶教程会告诉大家如何使用对象存储拓展存储空间，所以硬盘小一点也没事）

准备好一个你自己的域名，并将你的域名指向服务器 ip

域名解析

如果你是使用 cloudflare 进行域名解析的可以参照如下图对你的域名添加一个新的 A 解析。这里我讲使用 p.2cu.icu 作为我图床的域名。如果你想使用我已经搭建好的 Chevereto 图床也欢迎大家来使用 V50 图床。

准备环境

基础环境

通过命令行来管理你的服务器，通过 ssh 进入你的服务器后，检查你的服务器是否安装了 make、unzip、curl 和 git。没有的话可以通过以下命令进行安装

Copy
sudo apt install make unzip curl git

安装 Docker （已安装可跳过）

如果你使用的是 Ubuntu，你可以通过运行以下方式来安装 Docker（其他系统可以参考 Docker官网）：

配置库

更新apt软件包索引和安装软件包，以允许apt通过 HTTPS 使用存储库。:

Copy
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg

添加 Docker 的官方 GPG 密钥：

Copy
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

使用下面的命令来设置版本库:

Copy
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

安装 Docker 引擎

更新apt软件包索引：

Copy
sudo apt-get update

安装 Docker Engine、containerd 和 Docker Compose。 要安装最新版本，请运行：

Copy
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

通过运行hello-world镜像来验证 Docker 引擎的安装是否成功。

Copy
sudo docker run hello-world

这个命令下载一个测试镜像并在一个容器中运行。当容器运行时，它会打印出一条确认信息并退出。

克隆 chevereto/docker

我们将使用git来获取我们的基础 Docker 项目的副本。通过运行以下命令，将在当前工作目录下创建一个docker文件夹。

Copy
git clone https://github.com/chevereto/docker.git

转到这个新创建的docker文件夹。

Copy
cd docker

在docker文件夹中，你可以配置或修改 Chevereto 的基础配置。

（可选）自定义 Chevereto 的基础配置

Chevereto 默认支持最大 64M 的图片上传以及 512M 的内存占用不过你可以在 Dockerfile 中对其进行修改，以下是对 Dockerfile 的一些基础配置。

通过vim修改 Dockerfile

Copy
vim Dockerfile

以下是Dockerfile中的相关字段，我添加了一些注释可以帮助各位根据需求进行调整

Copy
CHEVERETO_MAX_MEMORY_SIZE=512M \ #Chevereto最大内存占用
CHEVERETO_MAX_POST_SIZE=64M \ #POST请求最大限制，建议与最大上传大小设为一致
CHEVERETO_MAX_UPLOAD_SIZE=64M \ #最大上传大小

设置后台工作

Chevereto 需要在后台执行定期的系统任务，如删除过期图片、未验证的用户或检查更新。运行以下命令，为你的所有网站设置后台处理。

Copy
make cron

创建 HTTPS 代理

Chevereto 的 docker 中包含了一个 NGIX 网络服务器，它将转发对所有 Chevereto 网站的访问，并提供自动更新的 HTTPS 证书。

要设置代理服务器，请运行以下命令：

Copy
make proxy EMAIL_HTTPS=mail@yourdomain.tld

在EMAIL_HTTPS选项中，设置你的电子邮件。它是 HTTPS 证书通知所需要用到的。

创建 Chevereto 镜像（免费版可跳过）

这个过程会建立 Chevereto 容器镜像。

💡 使用免费版时省略此步骤，因为镜像可以在这里看到 GHCR.

Copy
make image

这个过程将要求你提供许可证密钥。如果你购买了 Pro 版可以在这里找到你的密钥（详细见下图）。

如果没有提供许可证或你输入了无效的许可证，系统将建立免费的图像。

设置域名

你可以使用以下命令为p.v50.tools域名创建名为imagehost命名空间（命名空间可以自定义，但是 HOSTNANE 一定要是之前解析你主机 ip 地址的域名）：

Copy
make namespace NAMESPACE=imagehost HOSTNAME=`p.v50.tools`

你可以在./namespace文件夹下检查命名空间文件。

运行 Chevereto 网站

Pro 版本：要创建一个新的网站，请通过 NAMESPACE 选项运行make spawn命令。

Copy
make spawn NAMESPACE=imagehost

免费版本：当使用免费版时请使用通过EDITION=free

Copy
make spawn NAMESPACE=example EDITION=free

🎉 Chevereto 现在已经开始运行了，接下来你可以通过你的域名来访问你自己的 Chevereto 图床了。