Google Reader 啟發了自託管 RSS 閱讀器,基於 Quarkus 和 React/TypeScript。
Docker 是開始使用 CommaFeed 的最簡單方法。
Docker 映像像是自動建置的,可從 https://hub.docker.com/r/athou/commafeed 取得
PikaPods 提供一鍵式雲端託管解決方案,起價為每月 1 美元,並提供 5 美元的免費歡迎積分,並正式支援 CommaFeed。 PikaPods 將 20% 的收入分享給 CommaFeed。
前往發行頁面並下載適合您選擇的作業系統和資料庫的最新版本。
有兩種類型的包:
linux-x86_64
和windows-x86_64
軟體包是本機編譯的,並且包含可以直接運行的可執行檔。jvm
包是一個 zip 文件,其中包含運行應用程式所需的所有.jar
檔。該套件適用於所有平台,並以java -jar quarkus-run.jar
啟動。如果您的作業系統可用,建議使用本機包,因為它具有更快的啟動時間和更低的記憶體使用量。
./mvnw clean package [-P<database>] [-Pnative] [-DskipTests]
<database>
可以是h2
、 postgresql
、 mysql
或mariadb
之一。預設為h2
。-Pnative
將應用程式編譯為本機程式碼。這需要安裝 GraalVM( GRAALVM_HOME
環境變數指向 GraalVM 安裝)。-DskipTests
透過跳過測試來加速建置過程。建置完成後:
commafeed-server/target/commafeed-<version>-<database>-jvm.zip
。解壓縮它並使用java -jar quarkus-run.jar
運行應用程式commafeed-server/target/commafeed-<version>-<database>-<platform>-<arch>-runner[.exe]
CommaFeed 不需要任何配置即可與其嵌入式資料庫 (H2) 一起運作。資料庫檔案將存放在目前目錄的data
目錄下。
要使用不同的資料庫,您需要配置以下屬性:
quarkus.datasource.jdbc.url
jdbc:h2:./data/db;DEFRAG_ALWAYS=TRUE
jdbc:postgresql://localhost:5432/commafeed
jdbc:mysql://localhost/commafeed?autoReconnect=true&failOverReadOnly=false&maxReconnects=20&rewriteBatchedStatements=true&timezone=UTC
jdbc:mariadb://localhost/commafeed?autoReconnect=true&failOverReadOnly=false&maxReconnects=20&rewriteBatchedStatements=true&timezone=UTC
quarkus.datasource.username
quarkus.datasource.password
配置 CommaFeed 的方法有多種:
config/application.properties
屬性檔(短橫線大小寫的鍵)-D
為前綴(短橫線大小寫的鍵).env
檔(大寫字母)建議使用屬性文件,因為 CommaFeed 將能夠警告無效屬性和拼字錯誤。
所有 CommaFeed 設定都是可選的,並且具有合理的預設值。
登入時,憑證會儲存在加密的 cookie 中。加密金鑰是在啟動時隨機產生的,這意味著您每次重新啟動應用程式後都必須重新登入。為了防止這種情況,您可以將quarkus.http.auth.session.encryption-key
屬性設定為固定值(最少 16 個字元)。所有其他 Quarkus 設定都可以在此處找到。
啟動後,伺服器將偵聽 http://localhost:8082。預設使用者是admin
,預設密碼是admin
。
當 CommaFeed 啟動並運行時,您可以訂閱此來源以取得新版本的通知。
Java 虛擬機器 (JVM) 預設相當貪婪,不會將未使用的記憶體釋放給作業系統。這是因為從作業系統取得記憶體是一個相對昂貴的操作。這在記憶體有限的系統上可能會出現問題。
native
和jvm
包)可以使用-Xmx
參數將 JVM 配置為使用最大記憶體量。例如,要將 JVM 記憶體限制為 256MB,請使用-Xmx256m
。
jvm
包)除了前面的設定之外,還可以使用以下參數配置 JVM 將未使用的記憶體釋放給作業系統:
-Xms20m -XX:+UseG1GC -XX:+UseStringDeduplication -XX:-ShrinkHeapInSteps -XX:G1PeriodicGCInterval=10000 -XX:-G1PeriodicGCInvokesConcurrent -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10
請參閱此處和此處以了解更多資訊。
jvm
套件)OpenJ9 JVM 是 HotSpot JVM 的記憶體效率更高的替代方案,但代價是吞吐量稍慢。
IBM 為 OpenJ9 提供了名為 Semeru 的預編譯二進位。這是 Docker 映像中使用的 JVM。
國際化文件位於此處。
新增語言:
locales
數組:commafeed-client/.linguirc
commafeed-client/src/i18n.ts
npm run i18n:extract
commafeed-client/src/locales/[locale]/messages.po
文件區域設定的名稱應該是兩個字母的 ISO-639-1 語言代碼。
commafeed-server
。./mvnw quarkus:dev
commafeed-client
。npm install
npm run dev
前端伺服器現在在 http://localhost:8082 上運行,並將 REST 請求代理到在連接埠 8083 上運行的後端