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
|
|
@ -187,8 +187,11 @@ services:
|
|||
# devices:
|
||||
# - /dev/dri:/dev/dri
|
||||
|
||||
# ----------------------------------------------------- LAN landing (Caddy) #
|
||||
# Dark-mode map of services for other PCs on the network: http://server/
|
||||
# -------------------------------- Caddy: landing + HTTPS reverse proxy --- #
|
||||
# LAN map: http://192.168.8.123/
|
||||
# Public: https://forgejo.devopshomelab.com https://jellyfin.devopshomelab.com
|
||||
# https://rustdesk.devopshomelab.com (info page) https://devopshomelab.com
|
||||
# Let's Encrypt HTTP-01 needs WAN :80/:443 → this host and grey-cloud DNS.
|
||||
landing:
|
||||
image: caddy:2-alpine
|
||||
container_name: landing
|
||||
|
|
@ -196,9 +199,17 @@ services:
|
|||
networks: [arr-net]
|
||||
ports:
|
||||
- "${LANDING_PORT:-80}:80"
|
||||
- "${LANDING_HTTPS_PORT:-443}:443"
|
||||
environment:
|
||||
CADDY_EMAIL: ${CADDY_EMAIL:-admin@devopshomelab.com}
|
||||
volumes:
|
||||
- ./landing/Caddyfile:/etc/caddy/Caddyfile:ro
|
||||
- ./landing/site:/srv:ro
|
||||
- ${CONFIG_DIR}/caddy-data:/data
|
||||
- ${CONFIG_DIR}/caddy-config:/config
|
||||
depends_on:
|
||||
- forgejo
|
||||
- jellyfin
|
||||
|
||||
# ---------------------------------------------- Cloudflare dynamic DNS (A) #
|
||||
# Updates apex + subdomains to the host's public IPv4. Secrets from secrets/.env
|
||||
|
|
@ -380,9 +391,10 @@ services:
|
|||
FORGEJO__server__START_SSH_SERVER: "false"
|
||||
FORGEJO__server__DISABLE_SSH: "false"
|
||||
FORGEJO__server__SSH_PORT: ${FORGEJO_SSH_PORT:-2222}
|
||||
FORGEJO__server__SSH_DOMAIN: ${FORGEJO_DOMAIN:-192.168.8.123}
|
||||
FORGEJO__server__DOMAIN: ${FORGEJO_DOMAIN:-192.168.8.123}
|
||||
FORGEJO__server__ROOT_URL: ${FORGEJO_ROOT_URL:-http://192.168.8.123:3002/}
|
||||
FORGEJO__server__SSH_DOMAIN: ${FORGEJO_DOMAIN:-forgejo.devopshomelab.com}
|
||||
FORGEJO__server__DOMAIN: ${FORGEJO_DOMAIN:-forgejo.devopshomelab.com}
|
||||
# Public HTTPS via Caddy (see landing/Caddyfile). LAN still works on :3002.
|
||||
FORGEJO__server__ROOT_URL: ${FORGEJO_ROOT_URL:-https://forgejo.devopshomelab.com/}
|
||||
FORGEJO__server__HTTP_PORT: "3000"
|
||||
# SQLite by default (no extra DB container)
|
||||
FORGEJO__database__DB_TYPE: sqlite3
|
||||
|
|
@ -392,6 +404,40 @@ services:
|
|||
- ${CONFIG_DIR}/forgejo:/data
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# RustDesk server (OSS) — rustdesk.devopshomelab.com
|
||||
# Clients use TCP/UDP 21115–21119 (not HTTP). Open those ports on the router.
|
||||
# Public key: docker exec rustdesk-hbbs cat /root/id_ed25519.pub
|
||||
# -------------------------------------------------------------------------
|
||||
rustdesk-hbbr:
|
||||
image: rustdesk/rustdesk-server:latest
|
||||
container_name: rustdesk-hbbr
|
||||
restart: unless-stopped
|
||||
networks: [arr-net]
|
||||
command: hbbr
|
||||
volumes:
|
||||
- ${CONFIG_DIR}/rustdesk:/root
|
||||
ports:
|
||||
- "21117:21117"
|
||||
- "21119:21119"
|
||||
|
||||
rustdesk-hbbs:
|
||||
image: rustdesk/rustdesk-server:latest
|
||||
container_name: rustdesk-hbbs
|
||||
restart: unless-stopped
|
||||
networks: [arr-net]
|
||||
# -r = relay host:port advertised to clients
|
||||
command: hbbs -r ${RUSTDESK_DOMAIN:-rustdesk.devopshomelab.com}:21117
|
||||
volumes:
|
||||
- ${CONFIG_DIR}/rustdesk:/root
|
||||
ports:
|
||||
- "21115:21115"
|
||||
- "21116:21116"
|
||||
- "21116:21116/udp"
|
||||
- "21118:21118"
|
||||
depends_on:
|
||||
- rustdesk-hbbr
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# OpenHands — always deployed (this stack always brings up every service)
|
||||
# UI: http://host:3001 · LLM via bonsai OpenAI API
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue