Add RustDesk server and Caddy HTTPS reverse proxy
Proxy forgejo/jellyfin/rustdesk info under devopshomelab.com with Let's Encrypt, publish RustDesk hbbs/hbbr ports, and wire Forgejo ROOT_URL to https://forgejo.devopshomelab.com.
This commit is contained in:
parent
1a6f915f04
commit
0ddf1d3699
5 changed files with 175 additions and 12 deletions
|
|
@ -102,6 +102,10 @@ LAN URLs (UFW allows **`192.168.8.0/24`**). Replace host if needed.
|
|||
|---------|-----|
|
||||
| **Landing page** | http://192.168.8.123/ |
|
||||
| Cloudflare DDNS | (background) apex + subdomains → public IPv4 |
|
||||
| **Forgejo (HTTPS)** | https://forgejo.devopshomelab.com/ |
|
||||
| **Jellyfin (HTTPS)** | https://jellyfin.devopshomelab.com/ |
|
||||
| **RustDesk (info)** | https://rustdesk.devopshomelab.com/ |
|
||||
| RustDesk (client) | `rustdesk.devopshomelab.com` ports **21115–21119** |
|
||||
| Jellyfin | http://192.168.8.123:8096 |
|
||||
| qBittorrent | http://192.168.8.123:8080 |
|
||||
| Prowlarr | http://192.168.8.123:9696 |
|
||||
|
|
@ -183,12 +187,45 @@ Always edit **`secrets/.env`** first, then run only what you changed:
|
|||
|
||||
```bash
|
||||
cd /opt/stack
|
||||
# include rustdesk in CLOUDFLARESUBDOMAINS if missing
|
||||
./scripts/render-cloudflare-ddns-env.sh
|
||||
docker compose up -d cloudflare-ddns --force-recreate
|
||||
docker logs cloudflare-ddns --tail 30
|
||||
```
|
||||
|
||||
Needs: `CLOUDFLAREAPIKEY`, `CLOUDFLAREDOMAIN`, `CLOUDFLARESUBDOMAINS` (and optional `CLOUDFLARE_PROXIED`). Token: **Zone → DNS → Edit**. Default `PROXIED=false` (DNS-only; better for VPN).
|
||||
Needs: `CLOUDFLAREAPIKEY`, `CLOUDFLAREDOMAIN`, `CLOUDFLARESUBDOMAINS` (and optional `CLOUDFLARE_PROXIED`). Token: **Zone → DNS → Edit**. Default `PROXIED=false` (DNS-only; required for Let's Encrypt HTTP-01 and for VPN/RustDesk).
|
||||
|
||||
**HTTPS reverse proxy (Caddy + Let's Encrypt)**
|
||||
|
||||
Caddy (`landing` service) terminates TLS and routes:
|
||||
|
||||
| Hostname | Backend |
|
||||
|----------|---------|
|
||||
| `https://forgejo.devopshomelab.com` | `forgejo:3000` |
|
||||
| `https://jellyfin.devopshomelab.com` | `jellyfin:8096` |
|
||||
| `https://rustdesk.devopshomelab.com` | Info page only |
|
||||
| `https://devopshomelab.com` | LAN resource map |
|
||||
|
||||
```bash
|
||||
# 1) DNS A records must point here (DDNS) — grey cloud, not orange
|
||||
# 2) Router: forward WAN TCP 80 + 443 → 192.168.8.123
|
||||
# 3) UFW: allow 80/443 (playbook) + RustDesk 21115-21119 if remote clients
|
||||
docker compose up -d landing forgejo jellyfin
|
||||
docker logs landing --tail 40 # watch for certificate obtain
|
||||
```
|
||||
|
||||
Forgejo `ROOT_URL` is `https://forgejo.devopshomelab.com/` (set in compose/`.env`). LAN still works at `http://192.168.8.123:3002/`.
|
||||
|
||||
**RustDesk server**
|
||||
|
||||
```bash
|
||||
docker compose up -d rustdesk-hbbs rustdesk-hbbr
|
||||
# Public key for clients:
|
||||
docker exec rustdesk-hbbs cat /root/id_ed25519.pub
|
||||
```
|
||||
|
||||
Client settings: ID server = `rustdesk.devopshomelab.com`, key = pubkey above.
|
||||
Open on router/firewall: **21115–21119/tcp** and **21116/udp**.
|
||||
|
||||
**Usenet one-liner after secret edit:**
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue