|
1 | 1 | --- |
2 | 2 | title: "Self-Host Your Own Instance" |
3 | | -description: "Take control of your information diet. Host your own html2rss instance and join the decentralized web movement." |
| 3 | +description: "Start self-hosting with the current html2rss-web setup and deployment docs." |
4 | 4 | sidebar: |
5 | 5 | order: 3 |
6 | 6 | --- |
7 | 7 |
|
8 | | -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. |
| 8 | +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. |
9 | 9 |
|
10 | | -## Before You Begin |
| 10 | +## Recommended Path |
11 | 11 |
|
12 | | -This guide walks you through running a production-ready instance that friends, teams, or communities can rely on. You'll need: |
| 12 | +1. **[Run html2rss-web locally](/web-application/getting-started/)** to verify your own instance with an included feed first. |
| 13 | +2. **[Deploy html2rss-web to production](/web-application/how-to/deployment/)** when you are ready to expose or operate it. |
| 14 | +3. **[Use automatic feed generation](/web-application/how-to/use-automatic-feed-generation/)** only if you want the token-gated page-URL workflow. |
13 | 15 |
|
14 | | -- A server you control (a VPS, home lab, or cloud instance) with Docker support. |
15 | | -- Comfort running a few terminal commands and editing configuration files. |
| 16 | +## What To Expect |
16 | 17 |
|
17 | | -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. |
18 | | - |
19 | | -Before you deploy, double-check this quick checklist: |
20 | | - |
21 | | -- Docker Engine and Docker Compose Plugin are installed on the host. |
22 | | -- Ports 80/443 (or the ports used by your TLS terminator) are open to the internet if you plan to serve other users. |
23 | | -- You can publish DNS for your chosen domain. |
24 | | - |
25 | | -## Deployment Overview |
26 | | - |
27 | | -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. |
28 | | -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. |
29 | | -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. |
30 | | -4. Start the stack with `docker compose up -d` and verify the application is reachable at your chosen domain or internal endpoint. |
31 | | - |
32 | | -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. |
33 | | - |
34 | | -## Harden & Secure |
35 | | - |
36 | | -- Follow the [Secure Your Instance](/web-application/how-to/deployment#secure-your-instance) checklist to lock down credentials, TLS, and network access. |
37 | | -- 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. |
38 | | -- Review the [production preparation guidelines](/web-application/how-to/deployment#prepare-for-production) and keep secrets outside of version control. |
39 | | - |
40 | | -## Monitor & Maintain |
41 | | - |
42 | | -- 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. |
43 | | -- Automate updates with Watchtower (a Docker container that updates running containers) or your container management platform to receive the latest html2rss-web releases quickly. |
44 | | -- Track storage usage for feed cache volumes and prune unused images. Schedule periodic configuration reviews so feeds and credentials remain accurate. |
| 18 | +- `html2rss-web` is the recommended self-hosted product surface. |
| 19 | +- Included feeds are the lowest-maintenance way to prove a deployment. |
| 20 | +- Automatic feed generation is disabled by default in production. |
| 21 | +- The generated API contract is published as OpenAPI at `/openapi.yaml`. |
| 22 | +- Custom config work belongs in the core `html2rss` docs and JSON Schema. |
45 | 23 |
|
46 | 24 | ## Share Your Instance |
47 | 25 |
|
48 | 26 | 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. |
49 | 27 |
|
50 | 28 | 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. |
51 | | - |
52 | | -## License |
53 | | - |
54 | | -[MIT](https://github.com/html2rss/html2rss/blob/main/LICENSE) |
0 commit comments