搜尋此網誌

2025年9月27日 星期六

Raspberry Pi 運行 Piwigo Container

緣起:


    還記得我那個裝了 500 GB 的 SSD 的 Raspberry Pi 5 嗎,它目前除了跑 yolo 來偵測狗子之外,還有跑 samba server,儲存空間用的是 1TB usb 外接硬碟,用來放一些雜七雜八的資料,還有備份用。

    一直覺得那 SSD 的空間放著不用實在有點浪費


    最近想到,就讓它跑個管理圖片用的網站好了,放一些表情包跟九日的圖,重點是要有 tag 的功能,當想要表情包來回應時,找起來才會比較快,比單純把圖片放在硬碟或是 telegram 上要好得多。在 gpt 上詢問後,最後是選擇 Piwigo 來用。


Piwigo:


    沒特別去深入研究這專案的特色,請 gpt 給了 docker compose 的內容,再自己調整一些東西

services:
  piwigo_test:
    image: linuxserver/piwigo:latest
    container_name: piwigo
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Taipei
    volumes:
      - ./config:/config
      - ./photos:/gallery
    ports:
      - "8080:80"
    depends_on:
      - mariadb
    restart: unless-stopped

  mariadb:
    image: mariadb:10.11
    container_name: piwigo_db
    environment:
      - MYSQL_ROOT_PASSWORD=rootpassword
      - MYSQL_DATABASE=piwigodb
      - MYSQL_USER=piwigouser
      - MYSQL_PASSWORD=userpassword
    volumes:
      - ./db:/var/lib/mysql
    restart: unless-stopped

  phpmyadmin_test:
    image: phpmyadmin:latest
    container_name: pma
    environment:
      - PMA_HOST=mariadb
    ports:
      - "8081:80"
    depends_on:
      - mariadb
    restart: unless-stopped

    第 3 行 : 這個 image 對 x86 跟 arm64 的支援很好
    第 10、11 行 : volume 直接 bind 當前目錄下的資料夾,那個 config 裡頭有這些重要的東西


    第 19 行 : 我其實不知為啥 gpt 選了這版本的 mariadb XD
    第 22~25 行 : mariadb 的資料庫設定,帳號密碼那些,要記得換成強一點的密碼
    第 30~39 行 : 有需要的話,還可以再跑一個 phpmyadmin,方便管理資料庫
    
    執行 docker compose up,可以看到 Piwigo 跑起來了


    這裡是初始化,Database Configuration 那邊照你 docker compose 的設定來填 User => MYSQL_USER、Password => MYSQL_PASSWORD、Database name => MYSQL_DATABASE,我那時沒動 Host 跟 Database tables prefix 欄位,然後就接著填 Administration configuration 的東西,那邊是設定 Piwigo 的管理員帳號。

    我按下 Start installation 後


    oh shit,為啥會這樣,後來去找了 youtube 影片 來看,哦,對吼,它是在 docker 的網路內,Host 那格不能填 localhost,要填 mariadb 才對 (docker compose 的設定),成功 ~~


    再來就能進入管理頁面


    Yeah ~~ 可以管理我的主席表情包了,雖然要一個一個上傳跟設定就是了



沒有留言:

張貼留言