Skip to content

Commit

Permalink
Document the docker images which are automatically built.
Browse files Browse the repository at this point in the history
This closes #115, after being implemented in #117.
  • Loading branch information
skx committed Nov 3, 2023
1 parent bb9e92a commit 6abca71
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ Table of Contents




# RSS2Email

This project began life as a naive port of the python-based [r2e](https://github.com/wking/rss2email) utility to golang.
Expand All @@ -35,6 +36,7 @@ Over time we've now gained a few more features:




# Installation

If you have golang installed you can fetch, build, and install the latest binary by running:
Expand All @@ -54,6 +56,12 @@ go build .
go install .
```

Finally you can find automatically generated docker images, these are built on a nightly basis, and when releases are made:

* https://github.com/skx/rss2email/pkgs/container/rss2email



**Version NOTES**:

* You'll need go version **1.17** or higher to build.
Expand All @@ -72,6 +80,8 @@ source <(rss2email bash-completion)
```




# Feed Configuration

Once you have installed the application you'll need to configure the feeds to monitor, this could be done by editing the configuration file:
Expand Down Expand Up @@ -112,6 +122,7 @@ Adding per-feed items allows excluding feed-entries by regular expression, for e




# Usage

Once you've populated your feed list, via a series of `rss2email add ..` commands, or by editing the configuration file directly, you are now ready to actually launch the application.
Expand Down Expand Up @@ -140,6 +151,7 @@ The state of feed-entries is recorded beneath `~/.rss2email/state.db`, which is




# Daemon Mode

Typically you'd invoke `rss2email` with the `cron` sub-command as we documented above. This works in the naive way you'd expect:
Expand All @@ -164,6 +176,7 @@ In short the process runs forever, in the foreground. This is expected to be dr




# Initial Run

When you add a new feed all the items contained within that feed will initially be unseen/new, and this means you'll receive a flood of emails if you were to run:
Expand All @@ -178,6 +191,8 @@ record each item as having been seen, rather than sending you emails:
$ rss2email cron -send=false user@domain.com




# Assumptions

Because this application is so minimal there are a number of assumptions baked in:
Expand All @@ -190,6 +205,7 @@ Because this application is so minimal there are a number of assumptions baked i




# SMTP Setup

By default the outgoing emails we generate are piped to `/usr/sbin/sendmail` to be delivered. If that is unavailable, or unsuitable, you can instead configure things such that SMTP is used directly.
Expand All @@ -208,6 +224,7 @@ If those values are present then SMTP will be used, otherwise the email will be




# Email Customization

By default the emails are sent using a template file which is embedded in the application. You can override the template by creating the file `~/.rss2email/email.tmpl`, if that is present then it will be used instead of the default.
Expand All @@ -230,6 +247,7 @@ If you're a developer who wishes to submit changes to the embedded version you s
**NOTE**: If you read the earlier section on configuration you'll see that it is possible to add per-feed configuration values to the config file. One of the supported options is to setup a feed-specific template-file.



## Changing default From address

As noted earlier when sending the notification emails the recipient address is used as the sender-address too. There are no flags for changing the From: address used to send the emails, however using the section above you can [use a customized email-template](#email-customization), and simply update the template to read something like this:
Expand All @@ -246,6 +264,7 @@ X-RSS-Feed: {{.Feed}}




# Implementation Overview

The two main commands are `cron` and `daemon` and they work in roughly the same way:
Expand All @@ -261,6 +280,8 @@ The two main commands are `cron` and `daemon` and they work in roughly the same
The other subcommands mostly just interact with the feed-list, via the use of [configfile/configfile.go](configfile/configfile.go) to add/delete/list the contents of the feed-list.




# Github Setup

This repository is configured to run tests upon every commit, and when
Expand Down

0 comments on commit 6abca71

Please sign in to comment.