Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/codemicro/walrss

[mirror] Email-based RSS digest generator
https://github.com/codemicro/walrss

email-digest rss

Last synced: about 23 hours ago
JSON representation

[mirror] Email-based RSS digest generator

Awesome Lists containing this project

README

        

# walrss

*Email-based RSS digest generator*

[![RSS is cool](https://img.shields.io/badge/rss-is%20cool-orange?logo=rss)](https://github.com/codemicro/walrss/releases.atom) ![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/codemicro/walrss) [![Go Report Card](https://goreportcard.com/badge/github.com/codemicro/walrss)](https://goreportcard.com/report/github.com/codemicro/walrss) ![Lines of code](https://img.shields.io/tokei/lines/github/codemicro/walrss)

---

| Email | Web UI |
|------------------------------------------------------|------------------------------------------|
| ![Sample email](.github/screenshots/sampleEmail.png) | ![Web UI](.github/screenshots/webUI.png) |

## Features

* Multi-user support
* Option to choose between daily or weekly digests that are sent at specific times of day
* OPML import/export
* [OIDC](https://en.wikipedia.org/wiki/OpenID#OpenID_Connect_(OIDC)) integration

## Quickstart

### Docker

```bash
docker pull ghcr.io/codemicro/walrss:latest
mkdir walrss-data
nano walrss-data/config.yaml # You'll have to fill in the required fields detailed below
docker run -d -v $(pwd)/walrss-data:/run -p 8080:8080 ghcr.io/codemicro/walrss:latest
```

### Build from source

You must have an up-to-date version of the Go toolchain installed. Check `go.mod` for the minimum required version.

```bash
git clone https://github.com/codemicro/walrss.git; cd walrss
go build -o walrssServer github.com/codemicro/walrss/walrss
```

```bash
mkdir walrss-data
nano walrss-data/config.yaml # You'll have to fill in the required fields detailed below
WALRSS_DIR="./walrss-data" ./walrssServer
# now go to http://127.0.0.1:8080
```

## Config

Your `config.yaml` file lives in your data directory, which is specified by the `WALRSS_DIR` environment variable (default is `./` or `/run` if you're using Docker). Below is a list of the possible options you can set within it.

```yaml
server:
host: 127.0.0.1
port: 8080
# externalURL is the URL that your instance of Walrss is accessible at
# This is a required field
externalURL: "http://127.0.0.1:8080"
email:
# Defaults are not provided for any email option
# All of the below are required fields
password: "yourapikey"
username: "apikey"
host: "smtp.sendgrid.net"
port: 587
from: "Walrss "
platform:
disableRegistration: false
disableSecureCookies: false
oidc:
enable: false
clientID: "yourclientid"
clientSecret: "yourclientsecret"
issuer: "https://sso.example.com/"
```

## Future features

* Feed categories
* Administrator users
* Account controls (eg password reset, change password, etc)