mirror of
https://github.com/Athou/commafeed.git
synced 2026-03-21 21:37:29 +00:00
README update
This commit is contained in:
73
README.md
73
README.md
@@ -1,6 +1,6 @@
|
||||
# CommaFeed
|
||||
|
||||
Google Reader inspired self-hosted RSS reader, based on Dropwizard and React/TypeScript.
|
||||
Google Reader inspired self-hosted RSS reader, based on Quarkus and React/TypeScript.
|
||||
|
||||

|
||||
|
||||
@@ -16,6 +16,12 @@ Google Reader inspired self-hosted RSS reader, based on Dropwizard and React/Typ
|
||||
- OPML import/export
|
||||
- REST API and a Fever-compatible API for native mobile apps
|
||||
- [Browser extension](https://github.com/Athou/commafeed-browser-extension)
|
||||
- Compiles to native code for very fast startup and low memory usage
|
||||
- Supports 4 databases
|
||||
- H2 (embedded database)
|
||||
- PostgreSQL
|
||||
- MySQL
|
||||
- MariaDB
|
||||
|
||||
## Deployment
|
||||
|
||||
@@ -33,28 +39,31 @@ PikaPods shares 20% of the revenue back to CommaFeed.
|
||||
|
||||
[](https://www.pikapods.com/pods?run=commafeed)
|
||||
|
||||
### Download precompiled package
|
||||
### Download a precompiled package
|
||||
|
||||
mkdir commafeed && cd commafeed
|
||||
wget https://github.com/Athou/commafeed/releases/latest/download/commafeed.jar
|
||||
wget https://github.com/Athou/commafeed/releases/latest/download/config.yml.example -O config.yml
|
||||
java -Djava.net.preferIPv4Stack=true -jar commafeed.jar server config.yml
|
||||
Go to the [release page](https://github.com/Athou/commafeed/releases) and download the latest version for your operating
|
||||
system and database of choice.
|
||||
|
||||
The server will listen on http://localhost:8082. The default
|
||||
user is `admin` and the default password is `admin`.
|
||||
There are two types of packages:
|
||||
|
||||
- The `linux` and `windows` packages are compiled natively and contain an executable that can be run directly.
|
||||
- The `jvm` package contains a Java `.jar` file that works on all platforms and is started with
|
||||
`java -jar quarkus-run.jar`.
|
||||
|
||||
If available for your operating system, the native package is recommended because it has a faster startup time and lower
|
||||
memory usage.
|
||||
|
||||
### Build from sources
|
||||
|
||||
git clone https://github.com/Athou/commafeed.git
|
||||
cd commafeed
|
||||
./mvnw clean package
|
||||
cp commafeed-server/config.yml.example config.yml
|
||||
java -Djava.net.preferIPv4Stack=true -jar commafeed-server/target/commafeed.jar server config.yml
|
||||
./mvnw clean package -P<database> [-DskipTests] [-Pnative]
|
||||
|
||||
The server will listen on http://localhost:8082. The default
|
||||
user is `admin` and the default password is `admin`.
|
||||
- `<database>` can be one of `h2`, `postgresql`, `mysql` or `mariadb`.
|
||||
- `-DskipTests` is optional but recommended because tests require a Docker environment to run against a real database.
|
||||
- `-Pnative` compiles the application to native code. This requires GraalVM to be installed (GRAALVM_HOME environment
|
||||
variable
|
||||
pointing to a GraalVM installation).
|
||||
|
||||
### Memory management
|
||||
### Memory management (`jvm` package only)
|
||||
|
||||
The Java Virtual Machine (JVM) is rather greedy by default and will not release unused memory to the
|
||||
operating system. This is because acquiring memory from the operating system is a relatively expensive operation.
|
||||
@@ -86,6 +95,36 @@ IBM provides precompiled binaries for OpenJ9
|
||||
named [Semeru](https://developer.ibm.com/languages/java/semeru-runtimes/downloads/).
|
||||
This is the JVM used in the [Docker image](https://github.com/Athou/commafeed/blob/master/Dockerfile).
|
||||
|
||||
## Configuration
|
||||
|
||||
There are multiple ways to configure CommaFeed:
|
||||
|
||||
- a properties file in `config/application.properties` (kebab-case)
|
||||
- Command line arguments prefixed with `-D` (kebab-case)
|
||||
- Environment variables (UPPER_CASE)
|
||||
- an .env file in the working directory (UPPER_CASE)
|
||||
|
||||
The properties file is recommended because CommaFeed will be able to warn about invalid properties and typos.
|
||||
|
||||
CommaFeed only requires 3 properties to be configured:
|
||||
|
||||
- `quarkus.datasource.username`
|
||||
- `quarkus.datasource.password`
|
||||
- `quarkus.datasource.jdbc-url`
|
||||
- e.g. for H2: `jdbc:h2:/commafeed/data/db;DEFRAG_ALWAYS=TRUE`
|
||||
- e.g. for PostgreSQL: `jdbc:postgresql://localhost:5432/commafeed`
|
||||
- e.g. for MySQL:
|
||||
`jdbc:mysql://localhost/commafeed?autoReconnect=true&failOverReadOnly=false&maxReconnects=20&rewriteBatchedStatements=true&timezone=UTC`
|
||||
- e.g. for MariaDB:
|
||||
`jdbc:mariadb://localhost/commafeed?autoReconnect=true&failOverReadOnly=false&maxReconnects=20&rewriteBatchedStatements=true&timezone=UTC`
|
||||
|
||||
All
|
||||
other [CommaFeed settings](https://github.com/Athou/commafeed/blob/master/commafeed-server/src/main/java/com/commafeed/CommaFeedConfiguration.java)
|
||||
are optional and have sensible default values.
|
||||
|
||||
When started, the server will listen on http://localhost:8082.
|
||||
The default user is `admin` and the default password is `admin`.
|
||||
|
||||
## Translation
|
||||
|
||||
Files for internationalization are
|
||||
@@ -108,7 +147,7 @@ two-letters [ISO-639-1 language code](http://en.wikipedia.org/wiki/List_of_ISO_6
|
||||
|
||||
- Open `commafeed-server` in your preferred Java IDE.
|
||||
- CommaFeed uses Lombok, you need the Lombok plugin for your IDE.
|
||||
- Start `CommaFeedApplication.java` in debug mode with `server config.dev.yml` as arguments
|
||||
- run `mvn quarkus:dev`
|
||||
|
||||
### Frontend
|
||||
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
TODO
|
||||
----
|
||||
|
||||
MVP:
|
||||
|
||||
- update readme
|
||||
- update docker readme
|
||||
- update release notes (+ mention h2 migration has been removed, upgrade to last 4.x is required)
|
||||
|
||||
Nice to have:
|
||||
|
||||
- find a better way to scan rome classes
|
||||
- remove suppresswarnings "deprecation"
|
||||
- remove rest assured or use only rest assured
|
||||
- rename "servlets" since they are now rest endpoints
|
||||
- warnings hibernate on startup
|
||||
Reference in New Issue
Block a user