Services:Current Services: Difference between revisions
Updated documentation from markdown files |
Updated documentation from markdown files |
||
| Line 17: | Line 17: | ||
| VPS Default || vps.jb-vpn.uk || - || - || Active || ✅ | | VPS Default || vps.jb-vpn.uk || - || - || Active || ✅ | ||
|} | |} | ||
== Service Details == | == Service Details == | ||
| Line 36: | Line 37: | ||
'''Reverse Proxy''': | '''Reverse Proxy''': | ||
* '''Caddy''': <code>/etc/caddy/Caddyfile</code> (<code>wiki.jb-vpn.uk</code> → <code>127.0.0.1:8010</code>) | * '''Caddy''': <code>/etc/caddy/Caddyfile</code> (<code>wiki.jb-vpn.uk</code> → <code>127.0.0.1:8010</code>) | ||
'''Traffic Flow''': | '''Traffic Flow''': | ||
| Line 48: | Line 44: | ||
→ 127.0.0.1:8010 (MediaWiki Docker on VPS) | → 127.0.0.1:8010 (MediaWiki Docker on VPS) | ||
</pre> | </pre> | ||
'''Test Command''': | '''Test Command''': | ||
<pre class="lang-bash"> | <pre class="lang-bash"> | ||
curl -I https://wiki.jb-vpn.uk | curl -I https://wiki.jb-vpn.uk | ||
</pre> | </pre> | ||
| Line 85: | Line 69: | ||
'''Reverse Proxy''': | '''Reverse Proxy''': | ||
* '''Caddy''': <code>/etc/caddy/Caddyfile</code> (<code>werbs-wiki.jb-vpn.uk</code> → <code>127.0.0.1:8011</code>) | * '''Caddy''': <code>/etc/caddy/Caddyfile</code> (<code>werbs-wiki.jb-vpn.uk</code> → <code>127.0.0.1:8011</code>) | ||
'''Test Command''': | '''Test Command''': | ||
| Line 131: | Line 92: | ||
'''Reverse Proxy''': | '''Reverse Proxy''': | ||
* '''Caddy''': <code>/etc/caddy/Caddyfile</code> (<code>dsm.jb-vpn.uk</code> → <code>https://10.8.0.2:5001</code>) | * '''Caddy''': <code>/etc/caddy/Caddyfile</code> (<code>dsm.jb-vpn.uk</code> → <code>https://10.8.0.2:5001</code>) | ||
'''Traffic Flow''': | '''Traffic Flow''': | ||
| Line 143: | Line 99: | ||
→ 10.8.0.2:5001 (HTTPS on NAS via VPN) | → 10.8.0.2:5001 (HTTPS on NAS via VPN) | ||
</pre> | </pre> | ||
'''Test Command''': | '''Test Command''': | ||
| Line 167: | Line 114: | ||
'''Internal Configuration''': | '''Internal Configuration''': | ||
* '''Target IP''': <code>10.8.0.2</code> (Synology NAS via VPN) | * '''Target IP''': <code>10.8.0.2</code> (Synology NAS via VPN, hostname <code>StrawberryNAS</code>) | ||
* '''Target Port''': <code>32400</code> | * '''Target Port''': <code>32400</code> | ||
* '''Protocol''': HTTP | * '''Protocol''': HTTP (TLS terminated by Caddy) | ||
'''Reverse Proxy''': | '''Reverse Proxy''': | ||
* '''Caddy''': <code>/etc/caddy/Caddyfile</code> (<code>plex.jb-vpn.uk</code> → <code>http://10.8.0.2:32400</code>) | * '''Caddy''': <code>/etc/caddy/Caddyfile</code> (<code>plex.jb-vpn.uk</code> → <code>http://10.8.0.2:32400</code>) | ||
* '''Canonical repo copy''': <code>app.jb/docs/caddy/Caddyfile</code> | |||
* ''' | |||
'''Traffic Flow''': | '''Traffic Flow''': | ||
| Line 191: | Line 135: | ||
* HTTP to HTTPS redirect: ✅ Enabled | * HTTP to HTTPS redirect: ✅ Enabled | ||
* | * WebSocket upgrade headers: ✅ Enabled (for playback) | ||
* Forwarded headers: <code>Host</code>, <code>X-Real-IP</code>, <code>X-Forwarded-For</code>, <code>X-Forwarded-Proto</code>, <code>X-Forwarded-Host</code>, <code>X-Forwarded-Port</code> | |||
* Internal <code>Location</code> header rewrites: ✅ <code>10.8.0.2</code>, <code>192.168.1.21</code>, <code>strawberrynas</code> → <code>https://plex.jb-vpn.uk</code> | |||
* '''Do not''' use <code>header_up X-Plex-*</code> in Caddy — see [[Troubleshooting:Plex Troubleshooting|Troubleshooting:Plex Troubleshooting]] | |||
'''Synology Plex settings''' (Settings → Network): | |||
* '''Custom server access URLs''': <code>https://plex.jb-vpn.uk:443</code> only (no VPN/LAN URLs) | |||
* '''LAN Networks''': <code>192.168.1.0/255.255.255.0,10.8.0.0/255.255.255.0</code> | |||
* '''Remote Access "not available"''': Expected — remote access uses the reverse proxy, not port 32400 forwarding | |||
'''DNS Record''': <code>plex.jb-vpn.uk</code> → <code>87.106.61.62</code> | '''DNS Record''': <code>plex.jb-vpn.uk</code> → <code>87.106.61.62</code> | ||
'''Test | '''Test Commands''': | ||
<pre class="lang-bash"> | <pre class="lang-bash"> | ||
curl -I https://plex.jb-vpn.uk | curl -s https://plex.jb-vpn.uk/identity | ||
curl -I https://plex.jb-vpn.uk/web | |||
ping -c 2 10.8.0.2 | |||
</pre> | </pre> | ||
| Line 230: | Line 171: | ||
* '''Web Root''': <code>/var/www/html</code> | * '''Web Root''': <code>/var/www/html</code> | ||
'''Reverse Proxy''': | '''Reverse Proxy''': | ||
* '''Caddy''': | * '''Caddy''': <code>file_server</code> for <code>/var/www/html</code> | ||
'''Test Command''': | '''Test Command''': | ||
| Line 267: | Line 185: | ||
=== SSH Port Forwarding === | === SSH Port Forwarding === | ||
'''Current Forwards''': | '''Current Forwards''': | ||
| Line 277: | Line 193: | ||
'''Management''': | '''Management''': | ||
<pre class="lang-bash"> | <pre class="lang-bash"> | ||
sudo /usr/local/bin/ssh-port-forward-manager.sh list | |||
sudo ssh- | |||
</pre> | </pre> | ||
'''Configuration File''': <code>/etc/ssh-port-forwards.conf</code> | '''Configuration File''': <code>/etc/ssh-port-forwards.conf</code> | ||
---- | ---- | ||
== Service Status Monitoring == | == Service Status Monitoring == | ||
<pre class="lang-bash"> | <pre class="lang-bash"> | ||
# Test all HTTPS services | |||
for domain in wiki.jb-vpn.uk werbs-wiki.jb-vpn.uk dsm.jb-vpn.uk plex.jb-vpn.uk vps.jb-vpn.uk; do | for domain in wiki.jb-vpn.uk werbs-wiki.jb-vpn.uk dsm.jb-vpn.uk plex.jb-vpn.uk vps.jb-vpn.uk; do | ||
echo "Testing $domain..." | echo "Testing $domain..." | ||
curl -I -s https://$domain | head -1 | curl -I -s "https://$domain" | head -1 | ||
done | done | ||
# Caddy | |||
systemctl status caddy | systemctl status caddy | ||
caddy validate --config /etc/caddy/Caddyfile | caddy validate --config /etc/caddy/Caddyfile | ||
# VPN (required for DSM/Plex) | |||
cat /var/log/openvpn-status.log | |||
ping -c 2 10.8.0.2 | |||
</pre> | </pre> | ||
== Related Documentation == | |||
== | |||
* | * [[Troubleshooting:Plex Troubleshooting|Troubleshooting:Plex Troubleshooting]] | ||
* [[Troubleshooting:Service Troubleshooting|Troubleshooting:Service Troubleshooting]] | |||
* [[Documentation:Integration|OpenVPN:Integration]] | |||
[[Category:Documentation]] | [[Category:Documentation]] | ||
[[Category:Documentation/Services]] | [[Category:Documentation/Services]] | ||
Latest revision as of 10:44, 7 July 2026
This document provides a detailed inventory of all services currently configured on the reverse proxy system.
Service Summary
[edit]| Service | Subdomain | Internal Port | Protocol | Status | SSL |
| Wiki | wiki.jb-vpn.uk | 8010 | HTTP | Active | ✅ |
| Werbs-Wiki | werbs-wiki.jb-vpn.uk | 8011 | HTTP | Active | ✅ |
| Synology DSM | dsm.jb-vpn.uk | 5001 | HTTPS | Active | ✅ |
| Plex Media Server | plex.jb-vpn.uk | 32400 | HTTP | Active | ✅ |
| VPS Default | vps.jb-vpn.uk | - | - | Active | ✅ |
Service Details
[edit]1. Wiki Service
[edit]Subdomain: wiki.jb-vpn.uk
Public Access: https://wiki.jb-vpn.uk
Internal Configuration:
- Host: VPS (Docker)
- Target:
127.0.0.1:8010(containerwiki-mediawiki)
- Stack:
/var/www/wiki.jb/
- Protocol: HTTP
Reverse Proxy:
- Caddy:
/etc/caddy/Caddyfile(wiki.jb-vpn.uk→127.0.0.1:8010)
Traffic Flow:
External Request → wiki.jb-vpn.uk:443 (HTTPS) → Caddy (SSL termination) → 127.0.0.1:8010 (MediaWiki Docker on VPS)
Test Command:
curl -I https://wiki.jb-vpn.uk
2. Werbs-Wiki Service
[edit]Subdomain: werbs-wiki.jb-vpn.uk
Public Access: https://werbs-wiki.jb-vpn.uk
Internal Configuration:
- Host: VPS (Docker)
- Target:
127.0.0.1:8011(containerwiki-werbs-mediawiki)
- Stack:
/var/www/wiki.jb/
- Protocol: HTTP
Reverse Proxy:
- Caddy:
/etc/caddy/Caddyfile(werbs-wiki.jb-vpn.uk→127.0.0.1:8011)
Test Command:
curl -I https://werbs-wiki.jb-vpn.uk
3. Synology DSM
[edit]Subdomain: dsm.jb-vpn.uk
Public Access: https://dsm.jb-vpn.uk
Internal Configuration:
- Target IP:
10.8.0.2(Synology NAS via VPN)
- Target Port:
5001
- Protocol: HTTPS
Reverse Proxy:
- Caddy:
/etc/caddy/Caddyfile(dsm.jb-vpn.uk→https://10.8.0.2:5001)
Traffic Flow:
External Request → dsm.jb-vpn.uk:443 (HTTPS) → Caddy (SSL termination) → 10.8.0.2:5001 (HTTPS on NAS via VPN)
Test Command:
curl -I https://dsm.jb-vpn.uk
4. Plex Media Server
[edit]Subdomain: plex.jb-vpn.uk
Public Access: https://plex.jb-vpn.uk
Internal Configuration:
- Target IP:
10.8.0.2(Synology NAS via VPN, hostnameStrawberryNAS)
- Target Port:
32400
- Protocol: HTTP (TLS terminated by Caddy)
Reverse Proxy:
- Caddy:
/etc/caddy/Caddyfile(plex.jb-vpn.uk→http://10.8.0.2:32400)
- Canonical repo copy:
app.jb/docs/caddy/Caddyfile
Traffic Flow:
External Request → plex.jb-vpn.uk:443 (HTTPS) → Caddy (SSL termination) → 10.8.0.2:32400 (HTTP on NAS via VPN)
Configuration Details:
- HTTP to HTTPS redirect: ✅ Enabled
- WebSocket upgrade headers: ✅ Enabled (for playback)
- Forwarded headers:
Host,X-Real-IP,X-Forwarded-For,X-Forwarded-Proto,X-Forwarded-Host,X-Forwarded-Port
- Internal
Locationheader rewrites: ✅10.8.0.2,192.168.1.21,strawberrynas→https://plex.jb-vpn.uk
- Do not use
header_up X-Plex-*in Caddy — see Troubleshooting:Plex Troubleshooting
Synology Plex settings (Settings → Network):
- Custom server access URLs:
https://plex.jb-vpn.uk:443only (no VPN/LAN URLs)
- LAN Networks:
192.168.1.0/255.255.255.0,10.8.0.0/255.255.255.0
- Remote Access "not available": Expected — remote access uses the reverse proxy, not port 32400 forwarding
DNS Record: plex.jb-vpn.uk → 87.106.61.62
Test Commands:
curl -s https://plex.jb-vpn.uk/identity curl -I https://plex.jb-vpn.uk/web ping -c 2 10.8.0.2
5. VPS Default Web Directory
[edit]Subdomain: vps.jb-vpn.uk
Public Access: https://vps.jb-vpn.uk
Internal Configuration:
- Type: Static files
- Web Root:
/var/www/html
Reverse Proxy:
- Caddy:
file_serverfor/var/www/html
Test Command:
curl -I https://vps.jb-vpn.uk
Additional Services (Non-Web)
[edit]SSH Port Forwarding
[edit]Current Forwards:
- Synology NAS: Port
22222→10.8.0.2:22
* Access: ssh -p 22222 user@87.106.61.62
Management:
sudo /usr/local/bin/ssh-port-forward-manager.sh list
Configuration File: /etc/ssh-port-forwards.conf
Service Status Monitoring
[edit]# Test all HTTPS services
for domain in wiki.jb-vpn.uk werbs-wiki.jb-vpn.uk dsm.jb-vpn.uk plex.jb-vpn.uk vps.jb-vpn.uk; do
echo "Testing $domain..."
curl -I -s "https://$domain" | head -1
done
# Caddy
systemctl status caddy
caddy validate --config /etc/caddy/Caddyfile
# VPN (required for DSM/Plex)
cat /var/log/openvpn-status.log
ping -c 2 10.8.0.2