Skip to content

Commit

Permalink
version dockerhub readme and update it automatically on release
Browse files Browse the repository at this point in the history
  • Loading branch information
Athou committed Aug 17, 2024
1 parent c4c41d1 commit 3627ee3
Show file tree
Hide file tree
Showing 3 changed files with 104 additions and 1 deletion.
18 changes: 18 additions & 0 deletions .github/workflows/dockerhub.yml
Original file line number Diff line number Diff line change
@@ -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
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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`.
Expand Down
86 changes: 86 additions & 0 deletions commafeed-server/src/main/docker/README.md
Original file line number Diff line number Diff line change
@@ -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 `<version>-<database>[-jvm]` where:

- `<version>` 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)
- `<database>` 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.

0 comments on commit 3627ee3

Please sign in to comment.