Wiki.js 採用 Node.js + Vue.js 前後端分離架構,搭配多種資料庫選項,以輕量設計實現高可用性與低維護成本。為確保企業知識資產安全可靠,協會建議依「使用規模」與「合規需求」選擇合適部署策略,並提供 標準化安裝腳本 與 資安強化設定,大幅降低導入門檻。
┌───────────────────────────────────────────────┐
│ 使用者瀏覽器 │
└───────────────────────┬───────────────────────┘
│ HTTPS (Port 443)
┌───────────────────────▼───────────────────────┐
│ Nginx (反向代理) │ ← 協會預設啟用 Let's Encrypt
└───────────────────────┬───────────────────────┘
│
┌───────────────────────▼───────────────────────┐
│ Wiki.js 應用伺服器 │
│ (Node.js + Express + Vue.js) │
└───────────────────────┬───────────────────────┘
│
┌───────────────────────▼───────────────────────┐
│ 資料庫(四選一) │
│ • PostgreSQL(推薦) │
│ • MySQL / MariaDB │
│ • SQLite(測試用) │
│ • Microsoft SQL Server │
└───────────────────────┬───────────────────────┘
│
┌───────────────────────▼───────────────────────┐
│ Redis(可選,用於快取) │ ← 提升高併發效能
└───────────────────────────────────────────────┘
💡 關鍵設計原則:
- 無狀態應用:所有內容集中於資料庫,便於備份與遷移
- 模組化認證:支援 LDAP、SAML、OAuth 等企業級登入方式
- API 優先:所有功能皆可透過 REST API 自動化,適合 DevOps 整合
| 環境類型 | 適用場景 | 架構建議 | 協會支援 |
|---|---|---|---|
| 開發/體驗環境 | 功能測試、流程驗證 | SQLite + 單機 Docker | 提供 docker-compose.demo.yml |
| 中小企業生產環境 | 正式營運(< 100 人) | PostgreSQL + Docker Compose | 提供資安強化模板 |
| 大型企業生產環境 | 高可用、多站點 | 裸機安裝 + 負載平衡 + Redis | 提供 Ansible 自動化腳本 |
為降低企業部署門檻,協會提供 三種情境化安裝包,皆包含:
git clone https://github.com/your-association/wikijs-taiwan-starter.git
cd wikijs-taiwan-starter
docker-compose -f docker-compose.demo.yml up -d
# 使用獨立 PostgreSQL 容器(支援中文全文檢索)
docker-compose -f docker-compose.prod.yml up -d
pg_trgm 擴充套件,支援中文搜尋/backups(可掛載 NAS)ansible-playbook wikijs-prod.yml -i inventory
🔐 資安強化重點(協會預設啟用):
- 強制 HTTPS(HTTP 自動轉向)
- 關閉不必要的埠口(僅開放 80/443)
- 資料庫僅允許 localhost 連線
- 定期更新 OS 與 Node.js 套件
Wiki.js 資料包含 資料庫 + 上傳附件(如 PDF、圖片),協會建議分離備份:
| 資料類型 | 備份方式 | 頻率 | 還原方式 |
|---|---|---|---|
| SQLite | 直接複製 data/database.sqlite |
每日 2:00 AM | 覆蓋原檔案 |
| PostgreSQL | pg_dump + 壓縮 |
每日 2:00 AM | psql -U wiki -d wiki < backup.sql |
| 附件 | rsync 至 NAS 或 Cloud | 每日 3:00 AM | 直接複製回 data/uploads/ |
| 設定檔 | Git 版本控管 | 手動提交 | Git checkout |
📥 協會提供自動備份腳本:
# 執行一次,設定每日自動備份 ./setup-backup.sh --target /mnt/nas/backups
| 問題 | 調校方式 | 協會工具 |
|---|---|---|
| 搜尋效能低 | PostgreSQL 啟用 pg_trgm(已預設) |
安裝包內建 |
| 高併發不穩 | 增加 Node.js 工作程序 | pm2 配置範例 |
| 附件存取慢 | 整合 NextCloud / Cloudreve | 整合指南 |
| 登入逾時 | 調整 Session TTL | 預設已優化 |
📊 監控建議:
協會提供 Prometheus Node Exporter 範本,可即時查看:
- 伺服器 CPU/記憶體使用率
- Node.js 請求量
- 資料庫連線數
Q:安裝後出現「Database is not ready」?
A:請確認資料庫容器已啟動,或檢查 docker-compose.yml 中的資料庫連線設定。
Q:Let's Encrypt 憑證申請失敗?
A:請確認 80/443 埠對外開放,且域名已正確指向伺服器 IP。
Q:如何升級 Wiki.js 版本?
A:協會建議使用 Docker 版本,只需 docker-compose pull + docker-compose up -d,資料庫會自動遷移。
Q:中文搜尋不到內容?
A:若使用 PostgreSQL,需確保 pg_trgm 擴充套件已啟用(協會生產版預設啟用)。
協會提供完整部署支援:
👉 [立即下載] 👉 [觀看部署教學影片] 👉 [預約免費架構評估]
💡 穩定的知識庫系統,是企業數位轉型的基石。
協會不僅推廣開源工具,更確保企業「導入得安心、運作得順心」。