From 3627ee369d38810715d960c66fd7ef6dda4e1859 Mon Sep 17 00:00:00 2001 From: Athou Date: Sat, 17 Aug 2024 22:58:23 +0200 Subject: [PATCH] version dockerhub readme and update it automatically on release --- .github/workflows/dockerhub.yml | 18 +++++ README.md | 1 - commafeed-server/src/main/docker/README.md | 86 ++++++++++++++++++++++ 3 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/dockerhub.yml create mode 100644 commafeed-server/src/main/docker/README.md diff --git a/.github/workflows/dockerhub.yml b/.github/workflows/dockerhub.yml new file mode 100644 index 00000000..8392b5fb --- /dev/null +++ b/.github/workflows/dockerhub.yml @@ -0,0 +1,18 @@ +name: Update Docker Hub Description + +on: release + +jobs: + dockerHubDescription: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Docker Hub Description + uses: peter-evans/dockerhub-description@v4 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + repository: athou/commafeed + short-description: ${{ github.event.repository.description }} + readme-filepath: commafeed-server/src/main/docker/README.md \ No newline at end of file diff --git a/README.md b/README.md index 1261bcae..56c49a24 100644 --- a/README.md +++ b/README.md @@ -105,7 +105,6 @@ meaning that you will have to log back in after each restart of the application. All [CommaFeed settings](commafeed-server/src/main/java/com/commafeed/CommaFeedConfiguration.java) are optional and have sensible default values. -Other Quarkus settings can be found [here](https://quarkus.io/guides/all-config). When started, the server will listen on http://localhost:8082. The default user is `admin` and the default password is `admin`. diff --git a/commafeed-server/src/main/docker/README.md b/commafeed-server/src/main/docker/README.md new file mode 100644 index 00000000..5f7ed37d --- /dev/null +++ b/commafeed-server/src/main/docker/README.md @@ -0,0 +1,86 @@ +# CommaFeed + +Official docker images for https://github.com/Athou/commafeed/ + +## Quickstart + +Start CommaFeed with an embedded database. Then login as `admin/admin` on http://localhost:8082/ + +### docker + +`docker run --name commafeed --detach --publish 8082:8082 --restart unless-stopped --volume /path/to/commafeed/db:/commafeed/data --memory 256M athou/commafeed:latest-h2` + +### docker-compose + +``` +services: + commafeed: + image: athou/commafeed:latest-h2 + restart: unless-stopped + volumes: + - /path/to/commafeed/db:/commafeed/data + deploy: + resources: + limits: + memory: 256M + ports: + - 8082:8082 +``` + +## Advanced + +While using the embedded database is perfectly fine for small instances, you may want to have more control over the +database. Here's an example that uses postgresql (note the different docker tag): + +``` +services: + commafeed: + image: athou/commafeed:latest-postgresql + restart: unless-stopped + environment: + - QUARKUS_DATASOURCE_JDBC_URL=jdbc:postgresql://postgresql:5432/commafeed + - QUARKUS_DATASOURCE_USERNAME=commafeed + - QUARKUS_DATASOURCE_PASSWORD=commafeed + deploy: + resources: + limits: + memory: 256M + ports: + - 8082:8082 + + postgresql: + image: postgres:latest + restart: unless-stopped + environment: + POSTGRES_USER: commafeed + POSTGRES_PASSWORD: commafeed + POSTGRES_DB: commafeed + volumes: + - /path/to/commafeed/db:/var/lib/postgresql/data +``` + +## Configuration + +All [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. + +Settings are overrideable with environment variables. For instance, `config.feedRefresh().intervalEmpirical()` can be +set +with the `COMMAFEED_FEED_REFRESH_INTERVAL_EMPIRICAL=true` variable. + +When logging in, credentials are stored in an encrypted cookie. The encryption key is randomly generated at startup, +meaning that you will have to log back in after each restart of the application. To prevent this, you can set the +`QUARKUS_HTTP_AUTH_SESSION_ENCRYPTION_KEY` property to a fixed value (min. 16 characters). + +## Docker tags + +Tags are of the form `-[-jvm]` where: + +- `` is either: + - a specific CommaFeed version (e.g. `4.6.0`) + - `latest` (always points to the latest version) + - `master` (always points to the latest git commit) +- `` is the database to use (`h2`, `postgresql`, `mysql` or `mariadb`) +- `-jvm` is optional and indicates that CommaFeed is running on a JVM, and not compiled natively. This image supports + the + arm64 platform which is not yet supported by the native image. \ No newline at end of file