去年10月24日,站長好不容易成功在我的群暉NAS架好了Discourse論壇,還特地發文慶祝,因為有段時間沒上,沒想到就在1月26日想登一下發現居然掛了,明明docker還在線上,卻一直狂跳權限問題,情況似乎與資料庫postgres有關,查找了許多資料,嘗試變更資料夾權限始終無法解決,網路上能查到架設在Synology的文章僅有幾篇,而其中也只有一篇是成功的教學,我就是參考那篇,不知為何用相同的方法是了快一周就是沒辦法再次架設成功,決定放棄了,於是想到flarum這個,其的架設相較discourse簡單10倍吧...
參考資源:
- https://mariushosting.com/how-to-install-flarum-on-your-synology-nas/
- https://post.smzdm.com/p/a30o5095/
- https://github.com/realodix/awesome-flarum#discussion-top
上述兩篇文章作法不一樣,一個是使用portainer以composer一氣呵成把需要的服務都用docker運行,包含的flarum本體及依賴的資料庫mariadb;另一篇則是手動在DSM的docker軟體介面佈署論壇,但他的資料庫直接用Synology NAS內建的mariadb服務。我的作法算是綜合兩者的優點,以docker-composer佈署flarum本體,資料庫則使用synology mariadb,節省一點資源。
STEP1
打開phpmyadmin,新增一個資料庫,取名flarum
,然後創一個同名帳號flarum
,賦予管理此庫的最高權限。
STEP2
進入DSM,開啟File Station,在docker路徑下新增flarum目錄,並在其下新增 assets, extensions, nginx, storagelogs等4個目錄

STEP3
登入Portainer (需另外架設,否則您需要ssh進nas,用docker-compose方式也可以),點選Stacks 然後點選+ Add stack。然後新增一個名為flarum的stack,內容可參考下面範例:
version: "3"
services:
flarum:
image: mondedie/flarum
container_name: Flarum
environment:
- DEBUG=false
- FORUM_URL=http://xxx.xxx.xxx.xxx:8888 #論壇網址,請自行替換為你的nas ip
- DB_HOST=xxx.xxx.xxx.xxx #輸入你的nas ip
- DB_NAME=flarum
- DB_USER=flarum #step1的資料庫使用者帳號
- DB_PASS=12345 #step1的資料庫使用者密碼
- DB_PREF=flarum_
- DB_PORT=3307 #synology mariadb使用的port
- FLARUM_ADMIN_USER=admin #論壇管理員帳號
- FLARUM_ADMIN_PASS=12345 #論壇管理員密碼
- FLARUM_ADMIN_MAIL=admin@gmail.com #論壇管理員email
volumes:
- /volume1/docker/flarum/assets:/flarum/app/public/assets
- /volume1/docker/flarum/extensions:/flarum/app/extensions
- /volume1/docker/flarum/storagelogs:/flarum/app/storage/logs
- /volume1/docker/flarum/nginx:/etc/nginx/flarum
ports:
- 8444:8888
以上檢查無誤後點最下方的Deploy the stack,順利的話幾分鐘你的論壇就上線啦

只要前面帳號、密碼、IP等都確認無誤,佈署不太會出問題,我第一次失敗就是因為db的密碼可能錯了,後來乾脆在重設一次db user密碼,再重佈一次就成功了。因此剩下的就懶得打了,可以參考最前面兩個連結,有問題的朋友請在下方回覆~