Files
commafeed/commafeed-server/src/main/docker/README.md

96 lines
3.3 KiB
Markdown
Raw Normal View History

# CommaFeed
Official docker images for https://github.com/Athou/commafeed/
## Quickstart
2024-08-19 08:47:23 +02:00
Start CommaFeed with a H2 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
2024-08-18 09:45:44 +02:00
While using the H2 embedded database is perfectly fine for small instances, you may want to have more control over the
2024-08-27 13:39:33 +02:00
database. Here's an example that uses PostgreSQL (note the image tag change from `latest-h2` to `latest-postgresql`):
```
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
```
2024-08-27 13:39:33 +02:00
CommaFeed also supports:
- MySQL:
`QUARKUS_DATASOURCE_JDBC_URL=jdbc:mysql://localhost/commafeed?autoReconnect=true&failOverReadOnly=false&maxReconnects=20&rewriteBatchedStatements=true&timezone=UTC`
- MariaDB:
`QUARKUS_DATASOURCE_JDBC_URL=jdbc:mariadb://localhost/commafeed?autoReconnect=true&failOverReadOnly=false&maxReconnects=20&rewriteBatchedStatements=true&timezone=UTC`
## Configuration
2024-12-01 06:04:08 +01:00
All [CommaFeed settings](https://github.com/Athou/commafeed/blob/master/commafeed-server/doc/commafeed.md) are
2024-08-18 21:15:48 +02:00
optional and have sensible default values.
2024-08-19 08:47:23 +02:00
Settings are overrideable with environment variables. For instance, `commafeed.feed-refresh.interval-empirical` can be
set with the `COMMAFEED_FEED_REFRESH_INTERVAL_EMPIRICAL` 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
2024-08-18 09:45:44 +02:00
`QUARKUS_HTTP_AUTH_SESSION_ENCRYPTION_KEY` variable to a fixed value (min. 16 characters).
2024-08-19 09:38:26 +02:00
All other Quarkus settings can be found [here](https://quarkus.io/guides/all-config).
### Updates
When CommaFeed is up and running, you can subscribe to [this feed](https://github.com/Athou/commafeed/releases.atom) to be notified of new releases.
## Docker tags
Tags are of the form `<version>-<database>[-jvm]` where:
- `<version>` is either:
2024-08-18 09:45:44 +02:00
- a specific CommaFeed version (e.g. `5.0.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.