<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.jb-vpn.uk/index.php?action=history&amp;feed=atom&amp;title=Services%3ACurrent_Services</id>
	<title>Services:Current Services - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.jb-vpn.uk/index.php?action=history&amp;feed=atom&amp;title=Services%3ACurrent_Services"/>
	<link rel="alternate" type="text/html" href="https://wiki.jb-vpn.uk/index.php?title=Services:Current_Services&amp;action=history"/>
	<updated>2026-06-16T06:48:20Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.5</generator>
	<entry>
		<id>https://wiki.jb-vpn.uk/index.php?title=Services:Current_Services&amp;diff=253&amp;oldid=prev</id>
		<title>Josh: Updated documentation from markdown files</title>
		<link rel="alternate" type="text/html" href="https://wiki.jb-vpn.uk/index.php?title=Services:Current_Services&amp;diff=253&amp;oldid=prev"/>
		<updated>2026-05-16T14:04:33Z</updated>

		<summary type="html">&lt;p&gt;Updated documentation from markdown files&lt;/p&gt;
&lt;a href=&quot;https://wiki.jb-vpn.uk/index.php?title=Services:Current_Services&amp;amp;diff=253&amp;amp;oldid=228&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Josh</name></author>
	</entry>
	<entry>
		<id>https://wiki.jb-vpn.uk/index.php?title=Services:Current_Services&amp;diff=228&amp;oldid=prev</id>
		<title>Josh: Major update - troubleshooting guide: Current Services - Service Inventory (32 sections)</title>
		<link rel="alternate" type="text/html" href="https://wiki.jb-vpn.uk/index.php?title=Services:Current_Services&amp;diff=228&amp;oldid=prev"/>
		<updated>2026-01-01T13:44:39Z</updated>

		<summary type="html">&lt;p&gt;Major update - troubleshooting guide: Current Services - Service Inventory (32 sections)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:44, 1 January 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;= Current Services - Service Inventory =&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This document provides a detailed inventory of all services currently configured on the reverse proxy system.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This document provides a detailed inventory of all services currently configured on the reverse proxy system.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l69&quot;&gt;Line 69:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 67:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre class=&amp;quot;lang-bash&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre class=&amp;quot;lang-bash&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;curl -I https://wiki.jb-vpn.uk&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;curl -I https://wiki.jb-vpn.uk&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Or access directly: https://wiki.jb-vpn.uk/index.php?title=Main_Page =&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/ins&gt;= Or access directly: https://wiki.jb-vpn.uk/index.php?title=Main_Page &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/ins&gt;=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l299&quot;&gt;Line 299:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 297:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Management&amp;#039;&amp;#039;&amp;#039;:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Management&amp;#039;&amp;#039;&amp;#039;:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre class=&amp;quot;lang-bash&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre class=&amp;quot;lang-bash&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= List all SSH port forwards =&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/ins&gt;= List all SSH port forwards &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/ins&gt;=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;sudo ssh-forward list&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;sudo ssh-forward list&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Add a new device =&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/ins&gt;= Add a new device &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/ins&gt;=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;sudo ssh-forward add &amp;lt;name&amp;gt; &amp;lt;external_port&amp;gt; &amp;lt;vpn_ip&amp;gt; [ssh_port]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;sudo ssh-forward add &amp;lt;name&amp;gt; &amp;lt;external_port&amp;gt; &amp;lt;vpn_ip&amp;gt; [ssh_port]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Remove a device =&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/ins&gt;= Remove a device &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/ins&gt;=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;sudo ssh-forward remove &amp;lt;name&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;sudo ssh-forward remove &amp;lt;name&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l320&quot;&gt;Line 320:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 318:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre class=&amp;quot;lang-bash&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre class=&amp;quot;lang-bash&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Test all HTTPS services =&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;===&lt;/ins&gt;= Test all HTTPS services &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;===&lt;/ins&gt;=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     echo &amp;quot;Testing $domain...&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     echo &amp;quot;Testing $domain...&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l351&quot;&gt;Line 351:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 349:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Required for All Services ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Required for All Services ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= &#039;&#039;&#039;OpenVPN Tunnel&#039;&#039;&#039;: Must be active (tun0 interface up) =&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;===&lt;/ins&gt;= &#039;&#039;&#039;OpenVPN Tunnel&#039;&#039;&#039;: Must be active (tun0 interface up) &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;===&lt;/ins&gt;=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= &#039;&#039;&#039;Synology NAS&#039;&#039;&#039;: Must be connected to VPN (10.8.0.2 reachable) =&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/ins&gt;= &#039;&#039;&#039;Synology NAS&#039;&#039;&#039;: Must be connected to VPN (10.8.0.2 reachable) &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/ins&gt;=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= &#039;&#039;&#039;Nginx Service&#039;&#039;&#039;: Must be running =&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/ins&gt;= &#039;&#039;&#039;Nginx Service&#039;&#039;&#039;: Must be running &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/ins&gt;=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= &#039;&#039;&#039;DNS Records&#039;&#039;&#039;: Must point to VPS IP (87.106.61.62) =&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/ins&gt;= &#039;&#039;&#039;DNS Records&#039;&#039;&#039;: Must point to VPS IP (87.106.61.62) &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/ins&gt;=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Service-Specific Requirements ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Service-Specific Requirements ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-198:rev-228:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Josh</name></author>
	</entry>
	<entry>
		<id>https://wiki.jb-vpn.uk/index.php?title=Services:Current_Services&amp;diff=198&amp;oldid=prev</id>
		<title>Josh: Content removed - troubleshooting guide: Current Services - Service Inventory (23 sections)</title>
		<link rel="alternate" type="text/html" href="https://wiki.jb-vpn.uk/index.php?title=Services:Current_Services&amp;diff=198&amp;oldid=prev"/>
		<updated>2026-01-01T13:28:14Z</updated>

		<summary type="html">&lt;p&gt;Content removed - troubleshooting guide: Current Services - Service Inventory (23 sections)&lt;/p&gt;
&lt;a href=&quot;https://wiki.jb-vpn.uk/index.php?title=Services:Current_Services&amp;amp;diff=198&amp;amp;oldid=164&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Josh</name></author>
	</entry>
	<entry>
		<id>https://wiki.jb-vpn.uk/index.php?title=Services:Current_Services&amp;diff=164&amp;oldid=prev</id>
		<title>Josh: Added troubleshooting guide: Current Services - Service Inventory</title>
		<link rel="alternate" type="text/html" href="https://wiki.jb-vpn.uk/index.php?title=Services:Current_Services&amp;diff=164&amp;oldid=prev"/>
		<updated>2026-01-01T13:15:55Z</updated>

		<summary type="html">&lt;p&gt;Added troubleshooting guide: Current Services - Service Inventory&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Current Services - Service Inventory =&lt;br /&gt;
&lt;br /&gt;
This document provides a detailed inventory of all services currently configured on the reverse proxy system.&lt;br /&gt;
&lt;br /&gt;
== Service Summary ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Service || Subdomain || Internal Port || Protocol || Status || SSL&lt;br /&gt;
|-&lt;br /&gt;
| Wiki || wiki.jb-vpn.uk || 8080 || HTTP || Active || ✅&lt;br /&gt;
|-&lt;br /&gt;
| Werbs-Wiki || werbs-wiki.jb-vpn.uk || 8081 || HTTP || Active || ✅&lt;br /&gt;
|-&lt;br /&gt;
| Synology DSM || dsm.jb-vpn.uk || 5001 || HTTPS || Active || ✅&lt;br /&gt;
|-&lt;br /&gt;
| Plex Media Server || plex.jb-vpn.uk || 32400 || HTTP || Active || ✅&lt;br /&gt;
|-&lt;br /&gt;
| VPS Default || vps.jb-vpn.uk || - || - || Active || ✅&lt;br /&gt;
|}&lt;br /&gt;
== Service Details ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Wiki Service ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Subdomain&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;wiki.jb-vpn.uk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Public Access&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;https://wiki.jb-vpn.uk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Internal Configuration&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Target IP&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;10.8.0.2&amp;lt;/code&amp;gt; (Synology NAS via VPN)&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Target Port&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;8080&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Protocol&amp;#039;&amp;#039;&amp;#039;: HTTP&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Nginx Configuration&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;File&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;/etc/nginx/sites-available/wiki.jb-vpn.uk&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Enabled&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;/etc/nginx/sites-enabled/wiki.jb-vpn.uk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;SSL Certificate&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Provider&amp;#039;&amp;#039;&amp;#039;: Let&amp;#039;s Encrypt&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Certificate Path&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;/etc/letsencrypt/live/wiki.jb-vpn.uk/&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Expiry Date&amp;#039;&amp;#039;&amp;#039;: 2026-02-01&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Status&amp;#039;&amp;#039;&amp;#039;: Valid (89 days remaining)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Traffic Flow&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
External Request → wiki.jb-vpn.uk:443 (HTTPS) &lt;br /&gt;
  → Nginx Reverse Proxy (SSL Termination)&lt;br /&gt;
  → 10.8.0.2:8080 (HTTP on Synology NAS)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Configuration Details&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;#039;&amp;#039; HTTP to HTTPS redirect: ✅ Enabled&lt;br /&gt;
&amp;#039;&amp;#039; WebSocket support: ✅ Enabled&lt;br /&gt;
&amp;#039;&amp;#039; Extended timeouts: ✅ 300 seconds&lt;br /&gt;
&amp;#039;&amp;#039; Proxy headers: ✅ Full set configured&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;DNS Record&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;wiki.jb-vpn.uk&amp;lt;/code&amp;gt; → &amp;lt;code&amp;gt;87.106.61.62&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Test Command&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;lang-bash&amp;quot;&amp;gt;&lt;br /&gt;
curl -I https://wiki.jb-vpn.uk&lt;br /&gt;
= Or access directly: https://wiki.jb-vpn.uk/index.php?title=Main_Page =&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== 2. Werbs-Wiki Service ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Subdomain&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;werbs-wiki.jb-vpn.uk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Public Access&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;https://werbs-wiki.jb-vpn.uk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Internal Configuration&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Target IP&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;10.8.0.2&amp;lt;/code&amp;gt; (Synology NAS via VPN)&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Target Port&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;8081&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Protocol&amp;#039;&amp;#039;&amp;#039;: HTTP&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Nginx Configuration&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;File&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;/etc/nginx/sites-available/werbs-wiki.jb-vpn.uk&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Enabled&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;/etc/nginx/sites-enabled/werbs-wiki.jb-vpn.uk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;SSL Certificate&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Provider&amp;#039;&amp;#039;&amp;#039;: Let&amp;#039;s Encrypt&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Certificate Path&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;/etc/letsencrypt/live/werbs-wiki.jb-vpn.uk/&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Expiry Date&amp;#039;&amp;#039;&amp;#039;: 2026-02-01&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Status&amp;#039;&amp;#039;&amp;#039;: Valid (89 days remaining)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Traffic Flow&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
External Request → werbs-wiki.jb-vpn.uk:443 (HTTPS) &lt;br /&gt;
  → Nginx Reverse Proxy (SSL Termination)&lt;br /&gt;
  → 10.8.0.2:8081 (HTTP on Synology NAS)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Configuration Details&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;#039;&amp;#039; HTTP to HTTPS redirect: ✅ Enabled&lt;br /&gt;
&amp;#039;&amp;#039; WebSocket support: ✅ Enabled&lt;br /&gt;
&amp;#039;&amp;#039; Extended timeouts: ✅ 300 seconds&lt;br /&gt;
&amp;#039;&amp;#039; Proxy headers: ✅ Full set configured&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;DNS Record&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;werbs-wiki.jb-vpn.uk&amp;lt;/code&amp;gt; → &amp;lt;code&amp;gt;87.106.61.62&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Test Command&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;lang-bash&amp;quot;&amp;gt;&lt;br /&gt;
curl -I https://werbs-wiki.jb-vpn.uk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== 3. Synology DSM ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Subdomain&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;dsm.jb-vpn.uk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Public Access&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;https://dsm.jb-vpn.uk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Internal Configuration&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Target IP&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;10.8.0.2&amp;lt;/code&amp;gt; (Synology NAS via VPN)&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Target Port&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;5001&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Protocol&amp;#039;&amp;#039;&amp;#039;: HTTPS&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Nginx Configuration&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;File&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;/etc/nginx/sites-available/dsm.jb-vpn.uk&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Enabled&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;/etc/nginx/sites-enabled/dsm.jb-vpn.uk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;SSL Certificate&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Provider&amp;#039;&amp;#039;&amp;#039;: Let&amp;#039;s Encrypt&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Certificate Path&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;/etc/letsencrypt/live/vps.jb-vpn.uk/&amp;lt;/code&amp;gt; (shared certificate)&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Status&amp;#039;&amp;#039;&amp;#039;: Valid&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Traffic Flow&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
External Request → dsm.jb-vpn.uk:443 (HTTPS) &lt;br /&gt;
  → Nginx Reverse Proxy (SSL Termination)&lt;br /&gt;
  → 10.8.0.2:5001 (HTTPS on Synology NAS)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Configuration Details&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;#039;&amp;#039; HTTP to HTTPS redirect: ✅ Enabled&lt;br /&gt;
&amp;#039;&amp;#039; WebSocket support: ✅ Enabled (for DSM WebSocket features)&lt;br /&gt;
&amp;#039;&amp;#039; Internal HTTPS: ✅ Passes through to Synology HTTPS&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;DNS Record&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;dsm.jb-vpn.uk&amp;lt;/code&amp;gt; → &amp;lt;code&amp;gt;87.106.61.62&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Test Command&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;lang-bash&amp;quot;&amp;gt;&lt;br /&gt;
curl -I https://dsm.jb-vpn.uk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== 4. Plex Media Server ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Subdomain&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;plex.jb-vpn.uk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Public Access&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;https://plex.jb-vpn.uk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Internal Configuration&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Target IP&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;10.8.0.2&amp;lt;/code&amp;gt; (Synology NAS via VPN)&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Target Port&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;32400&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Protocol&amp;#039;&amp;#039;&amp;#039;: HTTP&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Nginx Configuration&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;File&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;/etc/nginx/sites-available/plex.jb-vpn.uk&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Enabled&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;/etc/nginx/sites-enabled/plex.jb-vpn.uk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;SSL Certificate&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Provider&amp;#039;&amp;#039;&amp;#039;: Let&amp;#039;s Encrypt&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Certificate Path&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;/etc/letsencrypt/live/vps.jb-vpn.uk/&amp;lt;/code&amp;gt; (shared certificate)&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Status&amp;#039;&amp;#039;&amp;#039;: Valid&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Traffic Flow&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
External Request → plex.jb-vpn.uk:443 (HTTPS) &lt;br /&gt;
  → Nginx Reverse Proxy (SSL Termination)&lt;br /&gt;
  → 10.8.0.2:32400 (HTTP on Synology NAS)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Configuration Details&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;#039;&amp;#039; HTTP to HTTPS redirect: ✅ Enabled&lt;br /&gt;
&amp;#039;&amp;#039; Plex-specific headers: ✅ Configured&lt;br /&gt;
  &amp;#039;&amp;#039; X-Plex-Client-Identifier&lt;br /&gt;
  &amp;#039;&amp;#039; X-Plex-Device&lt;br /&gt;
  &amp;#039;&amp;#039; X-Plex-Product&lt;br /&gt;
  &amp;#039;&amp;#039; X-Plex-Version&lt;br /&gt;
  &amp;#039;&amp;#039; X-Plex-Platform&lt;br /&gt;
  &amp;#039;&amp;#039; X-Plex-Platform-Version&lt;br /&gt;
  &amp;#039;&amp;#039; X-Plex-Device-Name&lt;br /&gt;
  &amp;#039;&amp;#039; X-Plex-Provides&lt;br /&gt;
  &amp;#039;&amp;#039; X-Plex-Token&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;DNS Record&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;plex.jb-vpn.uk&amp;lt;/code&amp;gt; → &amp;lt;code&amp;gt;87.106.61.62&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Test Command&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;lang-bash&amp;quot;&amp;gt;&lt;br /&gt;
curl -I https://plex.jb-vpn.uk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== 5. VPS Default Web Directory ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Subdomain&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;vps.jb-vpn.uk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Public Access&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;https://vps.jb-vpn.uk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Internal Configuration&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Type&amp;#039;&amp;#039;&amp;#039;: Static files&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Web Root&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;/var/www/html&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Protocol&amp;#039;&amp;#039;&amp;#039;: Direct file serving&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Nginx Configuration&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;File&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;/etc/nginx/sites-available/vps.jb-vpn.uk&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Enabled&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;/etc/nginx/sites-enabled/vps.jb-vpn.uk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;SSL Certificate&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Provider&amp;#039;&amp;#039;&amp;#039;: Let&amp;#039;s Encrypt&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Certificate Path&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;/etc/letsencrypt/live/vps.jb-vpn.uk/&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Status&amp;#039;&amp;#039;&amp;#039;: Valid&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Traffic Flow&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
External Request → vps.jb-vpn.uk:443 (HTTPS) &lt;br /&gt;
  → Nginx (SSL Termination)&lt;br /&gt;
  → /var/www/html (Local file serving)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Configuration Details&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;#039;&amp;#039; HTTP to HTTPS redirect: ✅ Enabled&lt;br /&gt;
&amp;#039;&amp;#039; Static file serving: ✅ Enabled&lt;br /&gt;
&amp;#039;&amp;#039; Index files: &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;index.htm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;index.nginx-debian.html&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;DNS Record&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;vps.jb-vpn.uk&amp;lt;/code&amp;gt; → &amp;lt;code&amp;gt;87.106.61.62&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Test Command&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;lang-bash&amp;quot;&amp;gt;&lt;br /&gt;
curl -I https://vps.jb-vpn.uk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Additional Services (Non-Web) ==&lt;br /&gt;
&lt;br /&gt;
=== SSH Port Forwarding ===&lt;br /&gt;
&lt;br /&gt;
SSH port forwarding is managed through a centralized configuration system. See [SSH Port Forwarding Management](index.md) for complete documentation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Current Forwards&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Synology NAS&amp;#039;&amp;#039;&amp;#039;: Port &amp;lt;code&amp;gt;22222&amp;lt;/code&amp;gt; → &amp;lt;code&amp;gt;10.8.0.2:22&amp;lt;/code&amp;gt;&lt;br /&gt;
  &amp;#039;&amp;#039; Access: &amp;lt;code&amp;gt;ssh -p 22222 user@87.106.61.62&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Management&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;lang-bash&amp;quot;&amp;gt;&lt;br /&gt;
= List all SSH port forwards =&lt;br /&gt;
sudo ssh-forward list&lt;br /&gt;
&lt;br /&gt;
= Add a new device =&lt;br /&gt;
sudo ssh-forward add &amp;lt;name&amp;gt; &amp;lt;external_port&amp;gt; &amp;lt;vpn_ip&amp;gt; [ssh_port]&lt;br /&gt;
&lt;br /&gt;
= Remove a device =&lt;br /&gt;
sudo ssh-forward remove &amp;lt;name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Configuration File&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;/etc/ssh-port-forwards.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note&amp;#039;&amp;#039;&amp;#039;: This is a direct port forward via iptables, not handled by nginx.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Service Status Monitoring ==&lt;br /&gt;
&lt;br /&gt;
=== Check All Services ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;lang-bash&amp;quot;&amp;gt;&lt;br /&gt;
= Test all HTTPS services =&lt;br /&gt;
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&lt;br /&gt;
    echo &amp;quot;Testing $domain...&amp;quot;&lt;br /&gt;
    curl -I -s https://$domain | head -1&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Check SSL Certificates ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;lang-bash&amp;quot;&amp;gt;&lt;br /&gt;
certbot certificates&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Check Nginx Status ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;lang-bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== View Active Sites ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;lang-bash&amp;quot;&amp;gt;&lt;br /&gt;
ls -la /etc/nginx/sites-enabled/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Service Dependencies ==&lt;br /&gt;
&lt;br /&gt;
=== Required for All Services ===&lt;br /&gt;
&lt;br /&gt;
= &amp;#039;&amp;#039;&amp;#039;OpenVPN Tunnel&amp;#039;&amp;#039;&amp;#039;: Must be active (tun0 interface up) =&lt;br /&gt;
= &amp;#039;&amp;#039;&amp;#039;Synology NAS&amp;#039;&amp;#039;&amp;#039;: Must be connected to VPN (10.8.0.2 reachable) =&lt;br /&gt;
= &amp;#039;&amp;#039;&amp;#039;Nginx Service&amp;#039;&amp;#039;&amp;#039;: Must be running =&lt;br /&gt;
= &amp;#039;&amp;#039;&amp;#039;DNS Records&amp;#039;&amp;#039;&amp;#039;: Must point to VPS IP (87.106.61.62) =&lt;br /&gt;
&lt;br /&gt;
=== Service-Specific Requirements ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Wiki/Werbs-Wiki&amp;#039;&amp;#039;&amp;#039;: Services must be running on ports 8080/8081&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;DSM&amp;#039;&amp;#039;&amp;#039;: Synology DSM must be enabled&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Plex&amp;#039;&amp;#039;&amp;#039;: Plex Media Server must be running&lt;br /&gt;
&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;VPS Default&amp;#039;&amp;#039;&amp;#039;: No dependencies (local files only)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Maintenance Schedule ==&lt;br /&gt;
&lt;br /&gt;
=== Daily ===&lt;br /&gt;
&amp;#039;&amp;#039; Monitor nginx error logs&lt;br /&gt;
&amp;#039;&amp;#039; Check service availability&lt;br /&gt;
&lt;br /&gt;
=== Weekly ===&lt;br /&gt;
&amp;#039;&amp;#039; Review access logs for anomalies&lt;br /&gt;
&amp;#039;&amp;#039; Verify SSL certificate status&lt;br /&gt;
&lt;br /&gt;
=== Monthly ===&lt;br /&gt;
&amp;#039;&amp;#039; Backup nginx configurations&lt;br /&gt;
&amp;#039;&amp;#039; Review and update documentation&lt;br /&gt;
&amp;#039;&amp;#039; Check for service updates&lt;br /&gt;
&lt;br /&gt;
=== Quarterly ===&lt;br /&gt;
&amp;#039;&amp;#039; Verify SSL certificate auto-renewal&lt;br /&gt;
&amp;#039;&amp;#039; Review firewall rules&lt;br /&gt;
* Update system packages&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Service Statistics ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Total Services&amp;#039;&amp;#039;&amp;#039;: 5 web services + 1 SSH port forward&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;SSL Certificates&amp;#039;&amp;#039;&amp;#039;: 3 unique certificates (some shared)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Configuration Files&amp;#039;&amp;#039;&amp;#039;: 5 nginx site configurations&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Internal Ports Used&amp;#039;&amp;#039;&amp;#039;: 8080, 8081, 5001, 32400, 22&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Documentation/Services]]&lt;/div&gt;</summary>
		<author><name>Josh</name></author>
	</entry>
</feed>