<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.traxel.com/index.php?action=history&amp;feed=atom&amp;title=CypherNetFirstInstallAttempt</id>
	<title>CypherNetFirstInstallAttempt - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.traxel.com/index.php?action=history&amp;feed=atom&amp;title=CypherNetFirstInstallAttempt"/>
	<link rel="alternate" type="text/html" href="https://wiki.traxel.com/index.php?title=CypherNetFirstInstallAttempt&amp;action=history"/>
	<updated>2026-04-28T08:12:44Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.38.2</generator>
	<entry>
		<id>https://wiki.traxel.com/index.php?title=CypherNetFirstInstallAttempt&amp;diff=2962&amp;oldid=prev</id>
		<title>RobertBushman: Created page with &quot;== Nostr Relay Setup == * NostrRelay * IP: 52.11.172.130 * Deb 11, $5 instance === Server Baseline === &lt;pre&gt; ssh admin@52.11.172.130 sudo apt update &amp;&amp; sudo apt dist-upgrade -y sudo apt install -y emacs-nox &lt;/pre&gt; === Greasy Kid Stuff === &lt;pre&gt; mkdir -p /home/admin/.local/bin chmod go-rwx /home/admin/.local mkdir -p /home/admin/.local/lib &lt;/pre&gt;  === Python === &lt;pre&gt; sudo apt install -y python3 python3-pip python-is-python3 sudo pip install --upgrade pip python --ver...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.traxel.com/index.php?title=CypherNetFirstInstallAttempt&amp;diff=2962&amp;oldid=prev"/>
		<updated>2023-10-05T20:33:26Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;== Nostr Relay Setup == * &lt;a href=&quot;/index.php/NostrRelay&quot; title=&quot;NostrRelay&quot;&gt;NostrRelay&lt;/a&gt; * IP: 52.11.172.130 * Deb 11, $5 instance === Server Baseline === &amp;lt;pre&amp;gt; ssh admin@52.11.172.130 sudo apt update &amp;amp;&amp;amp; sudo apt dist-upgrade -y sudo apt install -y emacs-nox &amp;lt;/pre&amp;gt; === Greasy Kid Stuff === &amp;lt;pre&amp;gt; mkdir -p /home/admin/.local/bin chmod go-rwx /home/admin/.local mkdir -p /home/admin/.local/lib &amp;lt;/pre&amp;gt;  === Python === &amp;lt;pre&amp;gt; sudo apt install -y python3 python3-pip python-is-python3 sudo pip install --upgrade pip python --ver...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Nostr Relay Setup ==&lt;br /&gt;
* [[NostrRelay]]&lt;br /&gt;
* IP: 52.11.172.130&lt;br /&gt;
* Deb 11, $5 instance&lt;br /&gt;
=== Server Baseline ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh admin@52.11.172.130&lt;br /&gt;
sudo apt update &amp;amp;&amp;amp; sudo apt dist-upgrade -y&lt;br /&gt;
sudo apt install -y emacs-nox&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Greasy Kid Stuff ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir -p /home/admin/.local/bin&lt;br /&gt;
chmod go-rwx /home/admin/.local&lt;br /&gt;
mkdir -p /home/admin/.local/lib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt install -y python3 python3-pip python-is-python3&lt;br /&gt;
sudo pip install --upgrade pip&lt;br /&gt;
python --version&lt;br /&gt;
pip --version&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Install Uvicorn ===&lt;br /&gt;
* https://www.uvicorn.org/&lt;br /&gt;
* Trying the fancy version (uvicorn[standard]) first&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pip install 'uvicorn[standard]'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Warnings ====&lt;br /&gt;
Attempted to address the following by creating .local/bin and .local/lib during &amp;quot;Greasy Kid Stuff&amp;quot; above.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Installing collected packages: websockets, uvloop, typing-extensions, sniffio, python-dotenv, httptools, h11, exceptiongroup, click, uvicorn, anyio, watchfiles&lt;br /&gt;
  WARNING: The script dotenv is installed in '/home/admin/.local/bin' which is not on PATH.&lt;br /&gt;
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.&lt;br /&gt;
  WARNING: The script uvicorn is installed in '/home/admin/.local/bin' which is not on PATH.&lt;br /&gt;
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.&lt;br /&gt;
  WARNING: The script watchfiles is installed in '/home/admin/.local/bin' which is not on PATH.&lt;br /&gt;
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Test Uvicorn ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir -p projects/test-uvicorn&lt;br /&gt;
cd projects/test-uvicorn&lt;br /&gt;
emacs -nw main.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
async def app(scope, receive, send):&lt;br /&gt;
    assert scope['type'] == 'http'&lt;br /&gt;
&lt;br /&gt;
    await send({&lt;br /&gt;
        'type': 'http.response.start',&lt;br /&gt;
        'status': 200,&lt;br /&gt;
        'headers': [&lt;br /&gt;
            [b'content-type', b'text/plain'],&lt;br /&gt;
        ],&lt;br /&gt;
    })&lt;br /&gt;
    await send({&lt;br /&gt;
        'type': 'http.response.body',&lt;br /&gt;
        'body': b'Hello, world!',&lt;br /&gt;
    })&lt;br /&gt;
&lt;br /&gt;
    pass # end main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
uvicorn main:app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On client box&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh -i path/to/key.pem -L 8989:127.0.0.1:8000 admin@52.11.172.130 -N&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
http://localhost:8989/&lt;/div&gt;</summary>
		<author><name>RobertBushman</name></author>
	</entry>
</feed>