文章首發於若綰 教你如何使用 Docker 安裝 Chevereto V4 搭建屬於自己的圖床,轉載請註明出處。
在寫博客的過程中,圖片的使用是必不可少的。它們能夠豐富文章內容,增強觀眾的閱讀體驗。搭建自己的圖床可以讓您更好地管理和使用圖片資源。圖床能夠對圖片進行壓縮和優化,減少圖片文件大小,從而加快頁面加載速度。快速加載的頁面有助於提高用戶體驗,降低跳出率。此外,將圖片儲存在圖床上,可以減輕您博客伺服器的負擔,節省存儲空間和帶寬。這樣,您的伺服器可以更專注於處理博客內容,提供更好的性能。
這裡我要向大家推薦一個非常好用的圖床平台:Chevereto。雖然市面上也有其他像蘭空圖床這樣的開源圖床軟體,但是 Chevereto 是我使用過感覺最成熟穩定的軟體而且它還有很多第三方插件支持。Chevereto 分為免費版和 Pro 版本 Pro 版本一次性買斷費用為 75 刀,但其實免費版已經很夠大家的日常使用了,博主這次要進行安裝的是它的 Pro 版本。
準備工作#
!!首先一定要確保你的伺服器上之前沒有安裝或運行 Nginx。Chevereto 的 Docker 版本會運行 Nginx 的 docker 版本會與已有的 Nginx 衝突導致無法運行(親身踩坑)
- 準備一台 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 protected]
在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 圖床了。