-
Notifications
You must be signed in to change notification settings - Fork 1
feat: refocus self-hosting guide on production deployment #995
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
Changes from 2 commits
d8f09c9
6dd6500
eeae053
e4580a0
b2cfca0
2b28e5a
bb36cb9
ebc8b4c
20e3a37
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -7,33 +7,40 @@ sidebar: | |
|
|
||
| Turn any website into an RSS feed. Self-host your own instance and take back control of your information diet. | ||
|
|
||
| ## Quick Start | ||
|
|
||
| 1. Install [Docker](https://docs.docker.com/get-docker/). | ||
| 2. Create a directory for html2rss: | ||
| ```bash | ||
| mkdir html2rss-web && cd html2rss-web | ||
| ``` | ||
| 3. Download the configuration: | ||
| ```bash | ||
| curl -O https://raw.githubusercontent.com/html2rss/html2rss-web/master/docker-compose.yml | ||
| curl -O https://raw.githubusercontent.com/html2rss/html2rss-web/master/config/feeds.yml | ||
| ``` | ||
| 4. Start the instance: | ||
| ```bash | ||
| docker compose up -d | ||
| ``` | ||
| 5. Visit [http://localhost:3000](http://localhost:3000) | ||
| You should see the html2rss-web interface. | ||
|
|
||
| ## Next Steps | ||
|
|
||
| - [Secure your instance](/web-application/how-to/deployment#secure-your-instance) | ||
| - [Enable HTTPS](/web-application/how-to/deployment#option-a-caddy-automatic-https) | ||
| - [Troubleshoot issues](/troubleshooting/troubleshooting) | ||
| - [Join the community](https://github.com/orgs/html2rss/discussions) | ||
| ## Before You Begin | ||
|
|
||
| --- | ||
| This guide assumes you already manage a Docker-capable host (VPS, home lab, or Kubernetes node) and are comfortable deploying containers. If you have not yet provisioned a server, complete that prerequisite before proceeding. Review the full [Deployment & Production guide](/web-application/how-to/deployment) for environment sizing, proxy patterns, and step-by-step production hardening. | ||
|
|
||
| At a minimum, ensure: | ||
|
|
||
| - 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. | ||
|
Comment on lines
25
to
30
|
||
|
|
||
| Need 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. | ||
|
||
|
|
||
| ## 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 [security best practices](/web-application/how-to/deployment#prepare-for-production) and keep secrets outside of version control. | ||
gildesmarais marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ## 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. | ||
gildesmarais marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - Automate updates with Watchtower or your orchestration tooling to receive the latest html2rss-web releases quickly. | ||
gildesmarais marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
gildesmarais marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - Track storage usage for feed cache volumes and prune unused images. Schedule periodic configuration reviews so feeds and credentials remain accurate. | ||
|
|
||
| ## Share Your Instance | ||
|
|
||
| Running a reliable deployment benefits the broader community. Add your server 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. | ||
gildesmarais marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
gildesmarais marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ## License | ||
|
|
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The "Before You Begin" section assumes users already have a Docker-capable host and are comfortable deploying containers, which may not align with the "get-involved" context. According to the coding guidelines, content should be written clearly for users who are not fully fluent in technology. This section creates a barrier to entry that contradicts the AIDA model principle of engaging readers.
Consider softening the prerequisites to be more inclusive, such as: "This guide is designed for users who want to run their own production instance. You'll need basic familiarity with Docker and access to a server (VPS, home lab, or cloud instance). If you're new to self-hosting, start with the Getting Started guide for a simpler local setup first."