Files
dispatch/README.md
T

85 lines
3.3 KiB
Markdown

# Dispatch a self-hosted RSS reader
A clean, fast RSS/Atom reader you run yourself. Three-pane layout on desktop
(feeds → articles → reading pane), a single stacked view with swipe-style
navigation on mobile. Feeds refresh automatically in the background.
- Add feeds by URL, organize them into folders
- Unread / starred / all-articles views, per-feed and per-folder views
- Full-text search across your fetched articles
- Clean reading view (images, embeds, and formatting preserved; ads/scripts/trackers stripped)
- OPML import and export (moving in from another reader, or backing out)
- Light and dark themes
- Everything in a single SQLite file
## Quick start (Docker Compose)
This is the easiest path and what the instructions below assume.
1. Copy this whole `dispatch-rss` folder onto your server (or clone it if you put it in git).
2. Edit `docker-compose.yml` if you want a different port than `8080`, or point the
`./data` volume at wherever you want the database stored.
3. From inside the folder:
```bash
docker compose up -d --build
```
4. Visit `http://<your-server-ip>:8080`.
That's it — the container fetches your feeds every 15 minutes by default (configurable
via `FETCH_INTERVAL_MINUTES`) and stores everything in the mounted `/data` volume, so
updating or recreating the container never loses your feeds or read state.
## Running this on Unraid specifically
You have two easy options. Either works — pick whichever you're already using for
other containers.
### Option A: Compose Manager plugin (recommended if you use docker-compose elsewhere)
1. Install **Compose Manager** from the Community Applications store, if you don't have it.
2. Copy this project folder to somewhere on your array, e.g. `/mnt/user/appdata/dispatch-rss/`.
3. In Compose Manager, add a new stack pointing at that folder's `docker-compose.yml`.
4. Before starting it, change the volume line to something durable on your array, e.g.:
```yaml
volumes:
- /mnt/user/appdata/dispatch-rss/data:/data
```
5. Start the stack. The UI will be at `http://<unraid-ip>:8080`.
### Option B: Plain Docker (no compose plugin needed)
1. Copy the project folder to your server, e.g. `/mnt/user/appdata/dispatch-rss/`.
2. Open an Unraid terminal and build the image:
```bash
cd /mnt/user/appdata/dispatch-rss
docker build -t dispatch-rss:latest .
```
3. In the Unraid **Docker** tab, click **Add Container**, and set:
- **Repository**: `dispatch-rss:latest`
- **Network Type**: `bridge`
- **Port**: container `8080` → host `8080` (or any free port you prefer)
- **Path**: container `/data` → host `/mnt/user/appdata/dispatch-rss/data`
- **Environment variable** (optional): `FETCH_INTERVAL_MINUTES` = `15`
4. Apply, then visit `http://<unraid-ip>:8080`.
If you'd rather not build on the Unraid box itself, you can build the image on
another machine, push it to Docker Hub or a private registry, and just point the
**Repository** field at that image instead of building locally.
## Configuration
Environment variables (all optional):
| Variable | Default | What it does |
|---|---|---|
| `PORT` | `8080` | Port the app listens on inside the container |
| `DATA_DIR` | `/data` | Where the SQLite database file is stored |
| `FETCH_INTERVAL_MINUTES` | `15` | How often feeds are refreshed automatically |