Skip to content

Commit d8f09c9

Browse files
committed
Refocus self-hosting guide on production deployment
1 parent a0a0fd4 commit d8f09c9

File tree

1 file changed

+33
-26
lines changed

1 file changed

+33
-26
lines changed

src/content/docs/get-involved/self-hosting.mdx

Lines changed: 33 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -7,33 +7,40 @@ sidebar:
77

88
Turn any website into an RSS feed. Self-host your own instance and take back control of your information diet.
99

10-
## Quick Start
11-
12-
1. Install [Docker](https://docs.docker.com/get-docker/).
13-
2. Create a directory for html2rss:
14-
```bash
15-
mkdir html2rss-web && cd html2rss-web
16-
```
17-
3. Download the configuration:
18-
```bash
19-
curl -O https://raw.githubusercontent.com/html2rss/html2rss-web/master/docker-compose.yml
20-
curl -O https://raw.githubusercontent.com/html2rss/html2rss-web/master/config/feeds.yml
21-
```
22-
4. Start the instance:
23-
```bash
24-
docker compose up -d
25-
```
26-
5. Visit [http://localhost:3000](http://localhost:3000)
27-
You should see the html2rss-web interface.
28-
29-
## Next Steps
30-
31-
- [Secure your instance](/web-application/how-to/deployment#secure-your-instance)
32-
- [Enable HTTPS](/web-application/how-to/deployment#option-a-caddy-automatic-https)
33-
- [Troubleshoot issues](/troubleshooting/troubleshooting)
34-
- [Join the community](https://github.com/orgs/html2rss/discussions)
10+
## Before You Begin
3511

36-
---
12+
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.
13+
14+
At a minimum, ensure:
15+
16+
- Docker Engine and Docker Compose Plugin are installed on the host.
17+
- Ports 80/443 (or the ports used by your TLS terminator) are open to the Internet if you plan to serve other users.
18+
- You can publish DNS for your chosen domain.
19+
20+
## Deployment Overview
21+
22+
1. Copy the reference [`docker-compose.yml`](https://github.com/html2rss/html2rss-web/blob/master/docker-compose.yml) and [`config/feeds.yml`](https://github.com/html2rss/html2rss-web/blob/master/config/feeds.yml) from the project repository to your deployment directory.
23+
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.
24+
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.
25+
4. Start the stack with `docker compose up -d` and verify the application is reachable at your chosen domain or internal endpoint.
26+
27+
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.
28+
29+
## Harden & Secure
30+
31+
- Follow the [Secure Your Instance](/web-application/how-to/deployment#secure-your-instance) checklist to lock down credentials, TLS, and network access.
32+
- 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.
33+
- Review the [security best practices](/web-application/how-to/deployment#prepare-for-production) and keep secrets outside of version control.
34+
35+
## Monitor & Maintain
36+
37+
- 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.
38+
- Automate updates with Watchtower or your orchestration tooling to receive the latest html2rss-web releases quickly.
39+
- Track storage usage for feed cache volumes and prune unused images. Schedule periodic configuration reviews so feeds and credentials remain accurate.
40+
41+
## Share Your Instance
42+
43+
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.
3744

3845
## License
3946

0 commit comments

Comments
 (0)