-
Notifications
You must be signed in to change notification settings - Fork 1
docs(web): align deployment and operator guidance #1115
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 4 commits
Commits
Show all changes
11 commits
Select commit
Hold shift + click to select a range
56e9b18
docs(web): align deployment and operator guidance
gildesmarais 07af6fa
docs: align naming
gildesmarais 4c5d59d
docs: align heavy-usage auto quality guidance and web retry semantics
gildesmarais 50d63e0
docs: relax compose startup env requirements
gildesmarais 64d1129
docs: reconcile deployment env guidance
gildesmarais c4f227e
docs: env + strategy adjustment
gildesmarais 3c96302
chore(deps): update ruby deps
gildesmarais 6ccc428
docs: migrate code blocks to Starlight Code and fix YAML indentation
gildesmarais 0f70291
docs: resolve PR feedback on deployment and snippet correctness
gildesmarais 251cf9e
docs: standardize compose env_file object syntax
gildesmarais d2857fd
.
gildesmarais File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,54 +1,28 @@ | ||
| --- | ||
| title: "Self-Host Your Own Instance" | ||
| description: "Take control of your information diet. Host your own html2rss instance and join the decentralized web movement." | ||
| description: "Start self-hosting with the current html2rss-web setup and deployment docs." | ||
| sidebar: | ||
| order: 3 | ||
| --- | ||
|
|
||
| Turn any website into an RSS feed. Self-host your own instance to take back control of your information diet and help the html2rss ecosystem grow for everyone. | ||
| This page is the short routing point for self-hosting. The current setup and deployment instructions live under the `html2rss-web` docs so the Docker, token, and Browserless guidance only exists in one place. | ||
|
|
||
| ## Before You Begin | ||
| ## Recommended Path | ||
|
|
||
| This guide walks you through running a production-ready instance that friends, teams, or communities can rely on. You'll need: | ||
| 1. **[Run html2rss-web locally](/web-application/getting-started/)** to verify your own instance with an included feed first. | ||
| 2. **[Deploy html2rss-web to production](/web-application/how-to/deployment/)** when you are ready to expose or operate it. | ||
| 3. **[Use automatic feed generation](/web-application/how-to/use-automatic-feed-generation/)** only if you want the token-gated page-URL workflow. | ||
|
|
||
| - A server you control (a VPS, home lab, or cloud instance) with Docker support. | ||
| - Comfort running a few terminal commands and editing configuration files. | ||
| ## What To Expect | ||
|
|
||
| If that feels new, start with the [Getting Started guide](/web-application/getting-started/) for a friendly local install. It introduces the same concepts at a slower pace. When you're ready to go live, come back here and review the full [Deployment & Production guide](/web-application/how-to/deployment) for sizing tips, proxy examples, and hardening advice. | ||
|
|
||
| Before you deploy, double-check this quick checklist: | ||
|
|
||
| - Docker Engine and Docker Compose Plugin are installed on the host. | ||
| - Ports 80/443 (or the ports used by your TLS terminator) are open to the internet if you plan to serve other users. | ||
| - You can publish DNS for your chosen domain. | ||
|
|
||
| ## Deployment Overview | ||
|
|
||
| 1. Generate your `docker-compose.yml` and `config/feeds.yml` by following [Step 2 of the Getting Started guide](/web-application/getting-started/#step-2-create-the-configuration-file), then copy the resulting files into your deployment directory. | ||
| 2. Create an `.env` file with production credentials and the values documented in the [environment reference](/web-application/reference/env-variables). Generate new secrets (`openssl rand -hex 32`) and avoid reusing the samples from local testing. | ||
| 3. Adjust the compose file to match your host (volumes, proxy service, watchtower, resource limits). The [deployment guide](/web-application/how-to/deployment) shows complete examples for Caddy, health-check protection, and automatic updates. | ||
| 4. Start the stack with `docker compose up -d` and verify the application is reachable at your chosen domain or internal endpoint. | ||
|
|
||
| For extra reliability, integrate the instance with your existing reverse proxy, DNS, or platform tooling rather than running it ad hoc on a laptop. Treat it like any other production service so readers can trust it. | ||
|
|
||
| ## Harden & Secure | ||
|
|
||
| - Follow the [Secure Your Instance](/web-application/how-to/deployment#secure-your-instance) checklist to lock down credentials, TLS, and network access. | ||
| - Enforce HTTPS by configuring a reverse proxy (see [Option A: Caddy](/web-application/how-to/deployment#option-a-caddy-automatic-https)) or your preferred terminator. If you manage certificates separately, document the renewal procedure alongside your deployment scripts. | ||
| - Review the [production preparation guidelines](/web-application/how-to/deployment#prepare-for-production) and keep secrets outside of version control. | ||
|
|
||
| ## Monitor & Maintain | ||
|
|
||
| - Point your uptime monitor at `/health_check.txt` and review container logs regularly. The [Operate & Monitor](/web-application/how-to/deployment#operate--monitor) section outlines suggested thresholds. | ||
| - Automate updates with Watchtower (a Docker container that updates running containers) or your container management platform to receive the latest html2rss-web releases quickly. | ||
| - Track storage usage for feed cache volumes and prune unused images. Schedule periodic configuration reviews so feeds and credentials remain accurate. | ||
| - `html2rss-web` is the recommended self-hosted product surface. | ||
| - Included feeds are the lowest-maintenance way to prove a deployment. | ||
| - Automatic feed generation is disabled by default in production. | ||
| - The generated API contract is published as OpenAPI at `/openapi.yaml`. | ||
| - Custom config work belongs in the core `html2rss` docs and JSON Schema. | ||
|
|
||
| ## Share Your Instance | ||
|
|
||
| Running a reliable deployment benefits the broader community. Share your server with the broader community by adding it to the [community instance list](https://github.com/html2rss/html2rss-web/wiki/Instances) once it is stable and you are ready for other readers. Include details such as uptime expectations, moderation policy, and contact information so people know what to expect. | ||
|
|
||
| Thanks for investing the time to share html2rss with others. Each new instance expands the open web and helps readers stay in control of the stories they follow. | ||
|
|
||
| ## License | ||
|
|
||
| [MIT](https://github.com/html2rss/html2rss/blob/main/LICENSE) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.