Skip to content

Commit 9502d20

Browse files
committed
docs(web): correct deployment trial guidance
(cherry picked from commit 39ba684)
1 parent 9a91435 commit 9502d20

1 file changed

Lines changed: 39 additions & 8 deletions

File tree

README.md

Lines changed: 39 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ html2rss-web converts arbitrary websites into RSS 2.0 feeds with a slim Ruby bac
77
## Links
88

99
- Docs & feed directory: https://html2rss.github.io
10+
- Docker Hub image: https://hub.docker.com/r/html2rss/web
11+
- OpenAPI spec in this repo: [public/openapi.yaml](public/openapi.yaml)
1012
- Contributor Guide: [docs/README.md](docs/README.md)
1113
- Discussions: https://github.com/orgs/html2rss/discussions
1214
- Sponsor: https://github.com/sponsors/gildesmarais
@@ -26,24 +28,32 @@ html2rss-web converts arbitrary websites into RSS 2.0 feeds with a slim Ruby bac
2628

2729
For detailed architecture and internal rules, see [docs/README.md](docs/README.md).
2830

29-
## Trial Run (Docker Pull And Run)
31+
## Trial Run (Docker Compose)
3032

31-
The published image already includes a sample `config/feeds.yml`, so you can try the app without creating or mounting one first.
33+
The published image already includes a sample `config/feeds.yml`, so you can try the app without creating or mounting one first. Use Docker Compose for the trial run because the current production boot path requires build metadata and the bundled Browserless wiring from the checked-in compose file.
34+
35+
Pull the image explicitly if you want to confirm the published Docker Hub tag first:
36+
37+
```bash
38+
docker pull html2rss/web
39+
```
3240

3341
```bash
34-
docker run --rm \
35-
-p 4000:4000 \
36-
-e RACK_ENV=production \
37-
-e HTML2RSS_SECRET_KEY=$(openssl rand -hex 32) \
38-
html2rss/web
42+
BUILD_TAG=$(date +%F) \
43+
GIT_SHA=trial \
44+
HTML2RSS_SECRET_KEY=$(openssl rand -hex 32) \
45+
HEALTH_CHECK_TOKEN=$(openssl rand -hex 24) \
46+
BROWSERLESS_IO_API_TOKEN=trial-browserless-token \
47+
docker compose up -d
3948
```
4049

4150
Then open:
4251

4352
- `http://localhost:4000/` for the web UI
4453
- `http://localhost:4000/microsoft.com/azure-products.rss` for a built-in Azure updates feed
54+
- `http://localhost:4000/openapi.yaml` for the generated OpenAPI document
4555

46-
This trial run is intentionally minimal. Use Docker Compose for Browserless, auto-updates, or local feed overrides.
56+
This trial run is intentionally minimal. Stop it with `docker compose down`. Keep the checked-in `docker-compose.yml` as the baseline for real deployments, especially if you want Browserless, auto-updates, or local feed overrides.
4757

4858
## Deploy (Docker Compose)
4959

@@ -68,6 +78,27 @@ export SENTRY_ENABLE_LOGS=true
6878

6979
UI + API run on `http://localhost:4000`. The app exits if the secret key is missing.
7080

81+
Production defaults matter:
82+
83+
- `AUTO_SOURCE_ENABLED` is `false` in production unless you set it to `true`.
84+
- The create-feed API at `/api/v1/feeds` requires a bearer token.
85+
- `faraday` is the default strategy; the UI retries once with `browserless` when `faraday` cannot finish the page.
86+
87+
If you enable automatic feed generation, make sure you also configure token distribution and Browserless for JavaScript-heavy pages.
88+
89+
## Integration Discovery
90+
91+
These are the stable entry points for tooling and agents:
92+
93+
- OpenAPI: [`public/openapi.yaml`](public/openapi.yaml) in the repo, or `/openapi.yaml` from a running instance
94+
- API metadata: `/api/v1`
95+
- Generated feed creation endpoint: `POST /api/v1/feeds`
96+
97+
For config authoring and validation, use the `html2rss` JSON Schema from the core repo:
98+
99+
- Core repo file: `https://github.com/html2rss/html2rss/blob/master/schema/html2rss-config.schema.json`
100+
- CLI export: `html2rss schema`
101+
71102
## Development
72103

73104
Use the repository's [Dev Container](.devcontainer/README.md) for all local development and tests.

0 commit comments

Comments
 (0)