文章首发于若绾 教你如何使用 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。没有的话可以通过以下命令进行安装
sudo apt install make unzip curl git
安装Docker (已安装可跳过)
如果你使用的是Ubuntu,你可以通过运行以下方式来安装Docker(其他系统可以参考Docker官网):
配置库
- 更新
apt
软件包索引和安装软件包,以允许apt
通过HTTPS使用存储库。:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
- 添加Docker的官方GPG密钥:
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
- 使用下面的命令来设置版本库:
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
软件包索引:
sudo apt-get update
- 安装Docker Engine、containerd和Docker Compose。 要安装最新版本,请运行:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- 通过运行
hello-world
镜像来验证Docker引擎的安装是否成功。
sudo docker run hello-world
这个命令下载一个测试镜像并在一个容器中运行。当容器运行时,它会打印出一条确认信息并退出。
克隆chevereto/docker
我们将使用git
来获取我们的基础Docker项目的副本。通过运行以下命令,将在当前工作目录下创建一个docker
文件夹。
git clone https://github.com/chevereto/docker.git
转到这个新创建的docker
文件夹。
cd docker
在docker
文件夹中,你可以配置或修改Chevereto的基础配置。
(可选)自定义Chevereto的基础配置
Chevereto默认支持最大64M的图片上传以及512M的内存占用不过你可以在Dockerfile中对其进行修改,以下是对Dockerfile的一些基础配置。
通过vim
修改Dockerfile
vim Dockerfile
以下是Dockerfile
中的相关字段,我添加了一些注释可以帮助各位根据需求进行调整
CHEVERETO_MAX_MEMORY_SIZE=512M \ #Chevereto最大内存占用
CHEVERETO_MAX_POST_SIZE=64M \ #POST请求最大限制,建议与最大上传大小设为一致
CHEVERETO_MAX_UPLOAD_SIZE=64M \ #最大上传大小
设置后台工作
Chevereto需要在后台执行定期的系统任务,如删除过期图片、未验证的用户或检查更新。运行以下命令,为你的所有网站设置后台处理。
make cron
创建HTTPS代理
Chevereto的docker中包含了一个NGIX网络服务器,它将转发对所有Chevereto网站的访问,并提供自动更新的HTTPS证书。
要设置代理服务器,请运行以下命令:
make proxy EMAIL_HTTPS=mail@yourdomain.tld
在EMAIL_HTTPS
选项中,设置你的电子邮件。它是HTTPS证书通知所需要用到的。
创建Chevereto镜像(免费版可跳过)
这个过程会建立Chevereto容器镜像。
💡 使用免费版时省略此步骤,因为镜像可以在这里看到 GHCR.
make image
这个过程将要求你提供许可证密钥。如果你购买了Pro版可以在这里找到你的密钥(详细见下图)。
如果没有提供许可证或你输入了无效的许可证,系统将建立免费的图像。
设置域名
你可以使用以下命令为p.v50.tools
域名创建名为imagehost
命名空间(命名空间可以自定义,但是HOSTNANE一定要是之前解析你主机ip地址的域名):
make namespace NAMESPACE=imagehost HOSTNAME=`p.v50.tools`
你可以在
./namespace
文件夹下检查命名空间文件。
运行Chevereto网站
Pro版本:要创建一个新的网站,请通过NAMESPACE选项运行make spawn
命令。
make spawn NAMESPACE=imagehost
免费版本:当使用免费版时请使用通过EDITION=free
make spawn NAMESPACE=example EDITION=free
🎉 Chevereto现在已经开始运行了,接下来你可以通过你的域名来访问你自己的Chevereto图床了。