Skip to content

Latest commit

 

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Baby Album Project

這是一個使用 PocketBase 作為後端的相簿網站專案。

快速啟動

docker-compose up -d

建立管理員帳號 (必要步驟)

在 Docker 環境下使用新版 PocketBase 時,可能無法直接透過網頁介面建立第一組管理員帳號。 請務必使用以下指令直接在容器內建立:

# 語法:docker exec -it <container_name> /pb/pocketbase superuser create <email> <password>
docker exec -it baby-album-backend /pb/pocketbase superuser create [email protected] 1234567890

注意:請將 [email protected]1234567890 替換為您實際想要使用的帳號與密碼 (密碼至少需 8 碼)。

建立完成後,您即可前往網站管理後台 /_/ (例如 http://localhost:8090/_/ 或您的網域名稱) 進行登入。

Docker Compose 端口配置說明

本專案使用 expose 而非 ports 是因為 demo network 中有 nginx reverse server 負責反向代理。如果您需要直接從宿主機訪問 PocketBase 的端口,可以修改 docker-compose.yaml 中的配置:

expose: 替換為 ports:,並設定為 "${PB_PORT}:${PB_PORT}"

目錄結構說明

  • pb_data/: 存放 SQLite 資料庫與使用者上傳的檔案 (已加入 gitignore,請勿刪除)。
  • pb_public/: 存放前端靜態網頁檔案 (HTML/CSS/JS)。
  • pb_migrations/: 存放資料庫結構變更紀錄 (用於版本控管)。
  • .env: 環境變數設定 (包含 PocketBase 版本與 Port 設定)。

圖片壓縮與縮圖

本專案已加入兩層圖片最佳化:

  1. 後端自動壓縮原始上傳圖 pb_hooks/image_optimize.pb.js 會在以下 Collection 新增/更新圖片後,使用 ImageMagick 壓縮原始檔:

    • photos.image
    • about_content.image
    • site_settings.photo

    預設會將圖片最大邊縮到 1920px、移除 EXIF metadata,並調整 JPG/WebP/PNG 品質。這可以節省 pb_data/storage 的儲存空間。

  2. 前台使用 PocketBase thumb 參數 前台顯示圖片時會使用 ?thumb=... 輸出較小圖,例如相簿列表使用 500x500、背景圖使用 1600x0、About 頭像使用 250x250,降低前台流量與載入時間。

若是既有 Docker image,請重新 build 才會安裝 ImageMagick:

docker-compose up -d --build

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages