emfont 官方文件

在自己的機器上跑 emfont

架設自己的 emfont 實例,用於開發或實際提供服務

相關功能開發中,內容僅供參考。

emfont 使用 docker 打包程式,讓專案可以更容易在不同的環境中順利執行。如果是需要在本地修改原始碼測試執行的貢獻者,請參考下一節的 docker 篇;如果你想在伺服器長時間運作提供服務, 我們推薦使用 zeabur 來部署,可以省去一些繁瑣的更換 image 操作和享受即時的狀態更新,不過你依然可以使用 docker 提供服務,但至少我們是用 zeabur。

環境變數

對於本地開發者,直接複製 .env.example 命名為 .env 後,就可以啟用 docker compose 啟用服務。以下根據功能分述每個環境變數的功能。

除非特別有註記,在變數補充欄位為 true/false 的二元控制開關,true 都是啟動它的功能,false 為關閉

直接控制 emfont 行為的變數

變數名稱功能補充說明
BULLETIN啟動官網時顯示的公告,可以留空
PORTemfont Web 服務監聽的埠號
BASE_URL官網對外的存取網址在本地時填入 http://localhost:${PORT}
THREADS生成靜態字型時的工作執行緒數量number
FORCE_MIN強制開啟極致壓縮ture or false
REGEN_STATIC是否在啟動時重新產生靜態字型ture or false
REGEN_CSS是否在啟動時重新產生 CSSture or false
FONT_CHECK是否啟用字型檢查ture or false ,開啟後會在啟動時讀所有原始字型檔,統計字元語言存入資料庫
SYNC_WITH_MINIO是否與 MinIO 進行同步
NODE—ENV執行環境,主要決定 log 列印的層級可用選項:productiondevelopmenttestzeabur

Docker 相關

變數名稱功能補充說明
EMFONT_ORIGINAL_FONTSDocker bind mount:原始字型存放路徑
EMFONT_GENERATED_FONTSDocker bind mount:產生後字型存放路徑
NEED_EXAMPLE_FONTSture or false ,是否在 container 啟動時下載範例字型

相依服務

資料庫

變數名稱功能補充說明
POSTGRES_HOSTPostgreSQL 主機名稱
POSTGRES_DBPostgreSQL 資料庫名稱
POSTGRES_PORTPostgreSQL 連接埠
POSTGRES_USERPostgreSQL 使用者名稱
POSTGRES_PASSWORDPostgreSQL 使用者密碼
DATABASE_URLPostgreSQL 連線字串
REDIS_HOSTRedis 主機名稱
REDIS_PORTRedis 連接埠
REDIS_URLRedis 連線字串

S3-MinIO

變數名稱功能補充說明
MINIO_BUCKETMinIO 使用的 Bucket 名稱
MINIO_CONSOLE_PORTMinIO Console 管理介面埠號
MINIO_PORTMinIO API 服務埠號
MINIO_HOSTMinIO 主機名稱
MINIO_ENDPOINTMinIO API Endpoint
MINIO_USERNAMEMinIO 使用者名稱
MINIO_PASSWORDMinIO 使用者密碼
MINIO_ROOT_USERMinIO Server root 使用者
MINIO_ROOT_PASSWORDMinIO Server root 密碼
MINIO_redirect是否啟用 MinIO 重新導向設定,只有在伺服器上需要(詳細原因待補充)

S3-CloudFlare

部屬環境中並未使用這幾個變數,仍在測試階段,不推薦現在使用,只是告知程式有這個變數能夠控制程式的行為。

變數名稱功能補充說明
R2_ENDPOINT
R2_ACCESS_KEY_ID
R2_SECRET_ACCESS_KEY
R2_BUCKET_NAME
R2_PUB_URL_BASE

On this page