New tutorial for Oasis
This commit is contained in:
		
							parent
							
								
									289d9cb49b
								
							
						
					
					
						commit
						bd8ac670bc
					
				| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					*stignore*
 | 
				
			||||||
							
								
								
									
										138
									
								
								feed.xml
								
								
								
								
							
							
						
						
									
										138
									
								
								feed.xml
								
								
								
								
							| 
						 | 
					@ -2,14 +2,79 @@
 | 
				
			||||||
<feed xmlns="http://www.w3.org/2005/Atom">
 | 
					<feed xmlns="http://www.w3.org/2005/Atom">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	<title>MayVaneDay: Latest Updates</title>
 | 
						<title>MayVaneDay: Latest Updates</title>
 | 
				
			||||||
	<link href="https://mayvaneday.art/feed.xml" rel="self" />
 | 
						<link href="https://mayvaneday.org/feed.xml" rel="self" />
 | 
				
			||||||
	<link href="https://mayvaneday.art" />
 | 
						<link href="https://mayvaneday.org" />
 | 
				
			||||||
	<id>https://mayvaneday.art/feed.xml</id>
 | 
						<id>https://mayvaneday.art/feed.xml</id>
 | 
				
			||||||
	<author>
 | 
						<author>
 | 
				
			||||||
		<name>Vane Vander</name>
 | 
							<name>Vane Vander</name>
 | 
				
			||||||
		<email>vanevander@mayvaneday.art</email>
 | 
							<email>vanevander@mayvaneday.art</email>
 | 
				
			||||||
	</author>
 | 
						</author>
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
 | 
						<entry>
 | 
				
			||||||
 | 
							<title>How to run Oasis, a Secure Scuttlebutt client, on a remote server</title>
 | 
				
			||||||
 | 
							<link href="https://mayvaneday.org/tutorials/oasis.html" />
 | 
				
			||||||
 | 
							<id>https://mayvaneday.org/tutorials/oasis.html</id>
 | 
				
			||||||
 | 
							<published>2021-11-13</published>
 | 
				
			||||||
 | 
							<summary type="html"><![CDATA[<article>
 | 
				
			||||||
 | 
									<p>This tutorial assumes you already have a functioning Node.js and Caddy installation.</p>
 | 
				
			||||||
 | 
									<ol type="1">
 | 
				
			||||||
 | 
										<li>Install Oasis.</li>
 | 
				
			||||||
 | 
									</ol>
 | 
				
			||||||
 | 
									<code>git clone https://github.com/fraction/oasis.git<br />cd oasis<br />npm install</code>
 | 
				
			||||||
 | 
									<p>Test the installation by running <code>node .</code> (yes, including the period).</p>
 | 
				
			||||||
 | 
									<ul>
 | 
				
			||||||
 | 
										<li>If the output stops after a few lines and isn't an obvious Node error, hit Control and C at the same time to exit; you're ready for the <code>systemd</code> file.</li>
 | 
				
			||||||
 | 
										<li>If you get an error about port 3000 already being in use, use the command <code>node . --port PORTNUMBER</code> instead, where <code>PORTNUMBER</code> is any open port you want.</li>
 | 
				
			||||||
 | 
									</ul>
 | 
				
			||||||
 | 
									<p>If your instance immediately throws <a href="https://github.com/fraction/oasis/issues/718#issuecomment-927379995">an error about <code>ssb.friends.get</code></a>:</p>
 | 
				
			||||||
 | 
									<code>git checkout 4e8f7426a4eb1d95f6e55cf894a3168f523f8af8<br />rm -rf node_modules<br />npm install</code>
 | 
				
			||||||
 | 
									<ol start="2" type="1">
 | 
				
			||||||
 | 
										<li>Prepare the <code>systemd</code> daemon file.</li>
 | 
				
			||||||
 | 
									</ol>
 | 
				
			||||||
 | 
									<p>Edit <code>/lib/systemd/system/oasis.service</code> as root with your favorite text editor. Paste the following:</p>
 | 
				
			||||||
 | 
									<pre>
 | 
				
			||||||
 | 
										[Unit]
 | 
				
			||||||
 | 
										Description=Oasis client for Secure Scuttlebutt
 | 
				
			||||||
 | 
										After=network.target
 | 
				
			||||||
 | 
										
 | 
				
			||||||
 | 
										[Service]
 | 
				
			||||||
 | 
										User=YourUsername
 | 
				
			||||||
 | 
										Group=YourUsername
 | 
				
			||||||
 | 
										ExecStart=/path/to/your/node/binary . --port 8787
 | 
				
			||||||
 | 
										WorkingDirectory=/path/to/where/you/cloned/oasis/
 | 
				
			||||||
 | 
										TimeoutStopSec=5s
 | 
				
			||||||
 | 
										LimitNOFILE=1048576
 | 
				
			||||||
 | 
										PrivateTmp=true
 | 
				
			||||||
 | 
										ProtectSystem=full
 | 
				
			||||||
 | 
										
 | 
				
			||||||
 | 
										[Install]
 | 
				
			||||||
 | 
										WantedBy=multi-user.target
 | 
				
			||||||
 | 
									</pre>
 | 
				
			||||||
 | 
									<p>Replace <code>/path/to/your/node/binary</code> with whatever comes up when you run <code>which node</code>. You may need to change this if you update Node.</p>
 | 
				
			||||||
 | 
									<ol start="3" type="1">
 | 
				
			||||||
 | 
										<li>Edit your Caddyfile. (This will probably also require root.)</li>
 | 
				
			||||||
 | 
									</ol>
 | 
				
			||||||
 | 
									<pre>
 | 
				
			||||||
 | 
					yourdomain.tld {
 | 
				
			||||||
 | 
						reverse_proxy 127.0.0.1:PORTNUMBER {
 | 
				
			||||||
 | 
							header_up Host 127.0.0.1
 | 
				
			||||||
 | 
							header_up Referer http://localhost
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						basicauth * {
 | 
				
			||||||
 | 
							AnyUsernameYouWant EXTREMELYLONGCADDYHASHHERE
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
									</pre>
 | 
				
			||||||
 | 
									<p><code>EXTREMELYLONGCADDYHASHHERE</code> is used instead of an actual password so you don't have cleartext credentials hanging around. Generate this with <code>caddy hash-password</code>. Make sure you save your actual password in a password manager, as you can't reverse a hash!</p>
 | 
				
			||||||
 | 
									<p>The <code>header_up</code> lines are there to trick Oasis into thinking it is running on a local machine, as it (very aggressively) wants to be. Normally this would be true, as Secure Scuttlebutt is peer-to-peer and intended to be run on a personal device that may see intermittent internet connectivity. However, if you're looking at this tutorial, you probably want to host a public peer as an <em>actually functioning</em> alternative to a <a href="https://github.com/ssbc/ssb-server">pub</a> or <a href="https://github.com/ssb-ngi-pointer/go-ssb-room/">room</a>.</p>
 | 
				
			||||||
 | 
									<ol start="4" type="1">
 | 
				
			||||||
 | 
										<li>Get everything running.</li>
 | 
				
			||||||
 | 
									</ol>
 | 
				
			||||||
 | 
									<code>sudo systemctl daemon-reload<br />sudo systemctl restart caddy<br />sudo systemctl start oasis && sudo systemctl enable oasis</code>
 | 
				
			||||||
 | 
									</article>]]>
 | 
				
			||||||
 | 
							</summary>
 | 
				
			||||||
 | 
						</entry>
 | 
				
			||||||
 | 
						
 | 
				
			||||||
	<entry>
 | 
						<entry>
 | 
				
			||||||
		<title>Analog Hole</title>
 | 
							<title>Analog Hole</title>
 | 
				
			||||||
		<link href="https://mayvaneday.art/blog/2021/november/nft.html" />
 | 
							<link href="https://mayvaneday.art/blog/2021/november/nft.html" />
 | 
				
			||||||
| 
						 | 
					@ -267,73 +332,4 @@
 | 
				
			||||||
		</summary>
 | 
							</summary>
 | 
				
			||||||
	</entry>
 | 
						</entry>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	<entry>
 | 
					 | 
				
			||||||
		<title>The Ridge</title>
 | 
					 | 
				
			||||||
		<link href="https://mayvaneday.art/poetry/r/ridge.txt" />
 | 
					 | 
				
			||||||
		<id>https://mayvaneday.art/poetry/r/ridge.txt</id>
 | 
					 | 
				
			||||||
		<published>2021-08-23</published>
 | 
					 | 
				
			||||||
		<summary type="html"><![CDATA[<article>
 | 
					 | 
				
			||||||
<pre>
 | 
					 | 
				
			||||||
It's been
 | 
					 | 
				
			||||||
too long since I've haunted here,
 | 
					 | 
				
			||||||
too long since the flood,
 | 
					 | 
				
			||||||
too long since I've buried myself,
 | 
					 | 
				
			||||||
cursing the hallowed sun.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Another day,
 | 
					 | 
				
			||||||
another pain,
 | 
					 | 
				
			||||||
another reminder why I should restrain
 | 
					 | 
				
			||||||
this desperate yearning to be at your side.
 | 
					 | 
				
			||||||
I can't control myself, you insist,
 | 
					 | 
				
			||||||
can't care for myself, can't abide
 | 
					 | 
				
			||||||
by a single plea:
 | 
					 | 
				
			||||||
*wait for me
 | 
					 | 
				
			||||||
until the war is done.*
 | 
					 | 
				
			||||||
But how can I stay inert at the sidelines?
 | 
					 | 
				
			||||||
How can I watch, patient, as you struggle for life?
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
I keep looking at your face.
 | 
					 | 
				
			||||||
I keep looking into your eyes,
 | 
					 | 
				
			||||||
into the depravity
 | 
					 | 
				
			||||||
void of grace,
 | 
					 | 
				
			||||||
the sweaty sleepless nights,
 | 
					 | 
				
			||||||
the frights
 | 
					 | 
				
			||||||
that dance between the stone space of your skull.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Little said, but oft reply
 | 
					 | 
				
			||||||
in hopes this boat crosses Imaginai,
 | 
					 | 
				
			||||||
the fierce rivers, the gaudy veil
 | 
					 | 
				
			||||||
that I would without a pause assail
 | 
					 | 
				
			||||||
if it meant bringing closer by one more day
 | 
					 | 
				
			||||||
Eris' death,
 | 
					 | 
				
			||||||
the shatter of masks,
 | 
					 | 
				
			||||||
our withdrawal for some time
 | 
					 | 
				
			||||||
into this world I've somehow made
 | 
					 | 
				
			||||||
without Seliph's curse,
 | 
					 | 
				
			||||||
without my sacrifice.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
How many times have you asked
 | 
					 | 
				
			||||||
what I would do once that day passed?
 | 
					 | 
				
			||||||
How long 'til I set down
 | 
					 | 
				
			||||||
this crown,
 | 
					 | 
				
			||||||
bade job goodbye,
 | 
					 | 
				
			||||||
convince parents and friends
 | 
					 | 
				
			||||||
that, although I disappear,
 | 
					 | 
				
			||||||
I'm off to a place where I'll be alright?
 | 
					 | 
				
			||||||
Don't come looking for me,
 | 
					 | 
				
			||||||
don't waste your "precious" fruitless time.
 | 
					 | 
				
			||||||
Your daughter was a sinner,
 | 
					 | 
				
			||||||
passionate, iniquitous,
 | 
					 | 
				
			||||||
desiring, delirious, divine.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
It's been
 | 
					 | 
				
			||||||
too long since I've haunted here,
 | 
					 | 
				
			||||||
since I've had to justify
 | 
					 | 
				
			||||||
my right
 | 
					 | 
				
			||||||
to survive.
 | 
					 | 
				
			||||||
</pre>
 | 
					 | 
				
			||||||
				</article>]]>
 | 
					 | 
				
			||||||
		</summary>
 | 
					 | 
				
			||||||
	</entry>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
</feed>
 | 
					</feed>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9,7 +9,7 @@
 | 
				
			||||||
		<meta name="abuseipdb-verification" content="vbeJNq7o" />
 | 
							<meta name="abuseipdb-verification" content="vbeJNq7o" />
 | 
				
			||||||
		<meta name="description" content="Vane Vander's personal website">
 | 
							<meta name="description" content="Vane Vander's personal website">
 | 
				
			||||||
	</head>
 | 
						</head>
 | 
				
			||||||
	<body>
 | 
						<body class="index">
 | 
				
			||||||
	<div class="box">
 | 
						<div class="box">
 | 
				
			||||||
		<h2>Welcome to MayVaneDay Studios</h2>
 | 
							<h2>Welcome to MayVaneDay Studios</h2>
 | 
				
			||||||
	</div>
 | 
						</div>
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,10 @@
 | 
				
			||||||
		</ul>
 | 
							</ul>
 | 
				
			||||||
	</div>
 | 
						</div>
 | 
				
			||||||
	<hr>
 | 
						<hr>
 | 
				
			||||||
 | 
						<div class="box">
 | 
				
			||||||
 | 
							<p><strong>Stop scraping my website.</strong> You now have <b><i>two</i></b> options for pulling a full copy of my website: ZeroNet and Git. Both of these will auto-update and give you the actual source files, unlike a recursive <code>wget</code> or whatever that will mangle everything. Save yourself and me the grief and just use these instead.</p>
 | 
				
			||||||
 | 
						</div>
 | 
				
			||||||
 | 
						<hr>
 | 
				
			||||||
	<div class="box">
 | 
						<div class="box">
 | 
				
			||||||
		<p><a href="./blog/index.html">Blog</a> <a href="./feed.xml">(RSS Feed)</a></p>
 | 
							<p><a href="./blog/index.html">Blog</a> <a href="./feed.xml">(RSS Feed)</a></p>
 | 
				
			||||||
		<p><a href="./poetry/">Poetry</a></p>
 | 
							<p><a href="./poetry/">Poetry</a></p>
 | 
				
			||||||
| 
						 | 
					@ -47,6 +51,7 @@
 | 
				
			||||||
		<a href="http://127.0.0.1:8888/USK@Up0ipQCQjyY2PaGofU-P63kJMb54E0~2xZiUnyxPypM,rGmJhPDVou6DwS6Eh23sZ93hVbDaA6v4D5l3vWsN-oY,AQACAAE/mayvaneday/-1/">[Freenet]</a>
 | 
							<a href="http://127.0.0.1:8888/USK@Up0ipQCQjyY2PaGofU-P63kJMb54E0~2xZiUnyxPypM,rGmJhPDVou6DwS6Eh23sZ93hVbDaA6v4D5l3vWsN-oY,AQACAAE/mayvaneday/-1/">[Freenet]</a>
 | 
				
			||||||
		<a href="http://meynethaffeecapsvfphrcnfrx44w2nskgls2juwitibvqctk2plvhqd.onion">[Tor]</a>
 | 
							<a href="http://meynethaffeecapsvfphrcnfrx44w2nskgls2juwitibvqctk2plvhqd.onion">[Tor]</a>
 | 
				
			||||||
		<a href="http://ikhuwze4r597pn6shynuc7dk1io1ahywxn5e1wu769apzfmcyjfo.loki">[Lokinet]</a>
 | 
							<a href="http://ikhuwze4r597pn6shynuc7dk1io1ahywxn5e1wu769apzfmcyjfo.loki">[Lokinet]</a>
 | 
				
			||||||
 | 
							<a href="https://gogs.letsdecentralize.org/letheposting/mayvaneday.org">[Git]</a>
 | 
				
			||||||
	</div>
 | 
						</div>
 | 
				
			||||||
	</body>
 | 
						</body>
 | 
				
			||||||
</html>
 | 
					</html>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -23,6 +23,10 @@ body {
 | 
				
			||||||
	margin-bottom: 10px;
 | 
						margin-bottom: 10px;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.index {
 | 
				
			||||||
 | 
						max-width: 670px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
a, a:visited {
 | 
					a, a:visited {
 | 
				
			||||||
	text-decoration: none;
 | 
						text-decoration: none;
 | 
				
			||||||
	color: inherit;
 | 
						color: inherit;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -23,6 +23,7 @@
 | 
				
			||||||
		<hr>
 | 
							<hr>
 | 
				
			||||||
		<div class="box">
 | 
							<div class="box">
 | 
				
			||||||
			<p><a href="./nook.html">Root the Nook 1st Gen on Linux</a></p>
 | 
								<p><a href="./nook.html">Root the Nook 1st Gen on Linux</a></p>
 | 
				
			||||||
 | 
								<p><a href="./oasis.html">Run Oasis, a Secure Scuttlebutt client, on a remote server</a></p>
 | 
				
			||||||
			<p><a href="./kristall-haiku.html">Install the Kristall browser in Haiku</a></p>
 | 
								<p><a href="./kristall-haiku.html">Install the Kristall browser in Haiku</a></p>
 | 
				
			||||||
			<p><a href="./lokinet-32.html">Build and install LokiNet on Linux Mint 32-bit</a></p>
 | 
								<p><a href="./lokinet-32.html">Build and install LokiNet on Linux Mint 32-bit</a></p>
 | 
				
			||||||
			<p><a href="./vlc.html">Play music in the CLI with an equalizer</a></p>
 | 
								<p><a href="./vlc.html">Play music in the CLI with an equalizer</a></p>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,80 @@
 | 
				
			||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<html lang="en">
 | 
				
			||||||
 | 
						<head>
 | 
				
			||||||
 | 
							<meta charset="UTF-8">
 | 
				
			||||||
 | 
							<title>How to run Oasis, a Secure Scuttlebutt client, on a remote server - Archive - MayVaneDay Studios</title>
 | 
				
			||||||
 | 
							<link href="../style.css" rel="stylesheet" type="text/css" media="all">
 | 
				
			||||||
 | 
							<meta name="author" content="Vane Vander">
 | 
				
			||||||
 | 
							<meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
				
			||||||
 | 
						</head>
 | 
				
			||||||
 | 
						<body class="mayvaneday">
 | 
				
			||||||
 | 
							<article>
 | 
				
			||||||
 | 
								<div class="box">
 | 
				
			||||||
 | 
									<h1>How to run Oasis, a Secure Scuttlebutt client, on a remote server</h1>
 | 
				
			||||||
 | 
									<p>published: 2021-11-13</p>
 | 
				
			||||||
 | 
								</div>
 | 
				
			||||||
 | 
								<hr>
 | 
				
			||||||
 | 
								<div class="box">
 | 
				
			||||||
 | 
									<p>This tutorial assumes you already have a functioning Node.js and Caddy installation.</p>
 | 
				
			||||||
 | 
									<ol type="1">
 | 
				
			||||||
 | 
										<li>Install Oasis.</li>
 | 
				
			||||||
 | 
									</ol>
 | 
				
			||||||
 | 
									<code>git clone https://github.com/fraction/oasis.git<br />cd oasis<br />npm install</code>
 | 
				
			||||||
 | 
									<p>Test the installation by running <code>node .</code> (yes, including the period).</p>
 | 
				
			||||||
 | 
									<ul>
 | 
				
			||||||
 | 
										<li>If the output stops after a few lines and isn't an obvious Node error, hit Control and C at the same time to exit; you're ready for the <code>systemd</code> file.</li>
 | 
				
			||||||
 | 
										<li>If you get an error about port 3000 already being in use, use the command <code>node . --port PORTNUMBER</code> instead, where <code>PORTNUMBER</code> is any open port you want.</li>
 | 
				
			||||||
 | 
									</ul>
 | 
				
			||||||
 | 
									<p>If your instance immediately throws <a href="https://github.com/fraction/oasis/issues/718#issuecomment-927379995">an error about <code>ssb.friends.get</code></a>:</p>
 | 
				
			||||||
 | 
									<code>git checkout 4e8f7426a4eb1d95f6e55cf894a3168f523f8af8<br />rm -rf node_modules<br />npm install</code>
 | 
				
			||||||
 | 
									<ol start="2" type="1">
 | 
				
			||||||
 | 
										<li>Prepare the <code>systemd</code> daemon file.</li>
 | 
				
			||||||
 | 
									</ol>
 | 
				
			||||||
 | 
									<p>Edit <code>/lib/systemd/system/oasis.service</code> as root with your favorite text editor. Paste the following:</p>
 | 
				
			||||||
 | 
									<pre>
 | 
				
			||||||
 | 
					[Unit]
 | 
				
			||||||
 | 
					Description=Oasis client for Secure Scuttlebutt
 | 
				
			||||||
 | 
					After=network.target
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Service]
 | 
				
			||||||
 | 
					User=YourUsername
 | 
				
			||||||
 | 
					Group=YourUsername
 | 
				
			||||||
 | 
					ExecStart=/path/to/your/node/binary . --port 8787
 | 
				
			||||||
 | 
					WorkingDirectory=/path/to/where/you/cloned/oasis/
 | 
				
			||||||
 | 
					TimeoutStopSec=5s
 | 
				
			||||||
 | 
					LimitNOFILE=1048576
 | 
				
			||||||
 | 
					PrivateTmp=true
 | 
				
			||||||
 | 
					ProtectSystem=full
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Install]
 | 
				
			||||||
 | 
					WantedBy=multi-user.target
 | 
				
			||||||
 | 
									</pre>
 | 
				
			||||||
 | 
									<p>Replace <code>/path/to/your/node/binary</code> with whatever comes up when you run <code>which node</code>. You may need to change this if you update Node.</p>
 | 
				
			||||||
 | 
									<ol start="3" type="1">
 | 
				
			||||||
 | 
										<li>Edit your Caddyfile. (This will probably also require root.)</li>
 | 
				
			||||||
 | 
									</ol>
 | 
				
			||||||
 | 
									<pre>
 | 
				
			||||||
 | 
					yourdomain.tld {
 | 
				
			||||||
 | 
						reverse_proxy 127.0.0.1:PORTNUMBER {
 | 
				
			||||||
 | 
							header_up Host 127.0.0.1
 | 
				
			||||||
 | 
							header_up Referer http://localhost
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						basicauth * {
 | 
				
			||||||
 | 
							AnyUsernameYouWant EXTREMELYLONGCADDYHASHHERE
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
									</pre>
 | 
				
			||||||
 | 
									<p><code>EXTREMELYLONGCADDYHASHHERE</code> is used instead of an actual password so you don't have cleartext credentials hanging around. Generate this with <code>caddy hash-password</code>. Make sure you save your actual password in a password manager, as you can't reverse a hash!</p>
 | 
				
			||||||
 | 
									<p>The <code>header_up</code> lines are there to trick Oasis into thinking it is running on a local machine, as it (very aggressively) wants to be. Normally this would be true, as Secure Scuttlebutt is peer-to-peer and intended to be run on a personal device that may see intermittent internet connectivity. However, if you're looking at this tutorial, you probably want to host a public peer as an <em>actually functioning</em> alternative to a <a href="https://github.com/ssbc/ssb-server">pub</a> or <a href="https://github.com/ssb-ngi-pointer/go-ssb-room/">room</a>.</p>
 | 
				
			||||||
 | 
									<ol start="4" type="1">
 | 
				
			||||||
 | 
										<li>Get everything running.</li>
 | 
				
			||||||
 | 
									</ol>
 | 
				
			||||||
 | 
									<code>sudo systemctl daemon-reload<br />sudo systemctl restart caddy<br />sudo systemctl start oasis && sudo systemctl enable oasis</code>
 | 
				
			||||||
 | 
								</div>
 | 
				
			||||||
 | 
								<hr>
 | 
				
			||||||
 | 
								<div class="box">
 | 
				
			||||||
 | 
									<p align=right>CC BY-NC-SA 4.0 © Vane Vander</p>
 | 
				
			||||||
 | 
								</div>
 | 
				
			||||||
 | 
							</article>
 | 
				
			||||||
 | 
						</body>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
		Loading…
	
		Reference in New Issue