Now that I had a bonafide ‘ship’ to launch, I had to decide where to initially host it. I decided to put it on the same server as my current WordPress site, to save hosting fees.

The droplet I have is a little small, so there were some minor config changes required, mainly to set swap space and deal with the ports.

First I transferred the keyfile to the server using scp. Then I followed the instructions here (https://urbit.org/using/install). The key instructions are copied here for reference:

curl -O https://bootstrap.urbit.org/urbit-v0.10.4-linux64.tgz
tar xzf urbit-v0.10.4-linux64.tgz
cd urbit-v0.10.4-linux64

The urbit.org site recommends configuring swap space for a small droplet like the server I have. I followed the instructions here for my DigitalOcean site: https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-18-04.

There’s a consolidated post on how to do this which I found later: https://medium.com/@urbitlive/hello-world-urbit-edition-install-boot-and-run-your-urbit-planet-on-a-10-cloud-server-b9579745b9a8

I had already got setup with SSH so this was simple to do in the console.

Finally I was able to start up the ship. Initial setup took some 5-10 minutes after running the following command:

./urbit -w sampel-palnet -k path/to/my-planet.key
Note - replaced 'sampel-palnet' with my Urbit ID, and after the -k put the keyfile I had scp'd earlier to the user home directory.

After that I continued with the instructions and mounted the ship:

|mount %
>=

Then I could safely delete the keyfile:

shred -vzn 3 <keyfile>
rm <keyfile>

Scanning through the logs, I realized that I was on port 8080 since port 80 was already being used to direct traffic to my main WordPress site. I needed to configure the site to redirect the traffic.

First, I edited the /etc/nginx/nginx.conf file (using ‘sudo nano nginx.conf’) as follows within the http block, adding a server block:

http {
...
server {
        listen 80;
        server_name urbit.wyethjones.com;
        location / {
        proxy_pass http://localhost:8080;
       }
}

Following this I reloaded the server using ‘service nginx reload’.

Finally I logged into DigitalOcean and modified the DNS by adding an ‘A’ record for urbit.wyethjones.com.

After all of this I was able to navigate to http://urbit.wyethjones.com/ and log into Urbit. To get access to the ship, I needed to do the following:

“Type +code into your ship’s Dojo. Copy-paste the returned code into the field asking for it in the browser page.” – from https://urbit.org/using/install/

The main page was some sort of group management feature. I changed the URL to append ~chat on the end, which put me in the chat app.

I closed my ship at the console with ctrl-d. When I did this while logged in using my mobile Brave browser, it suddenly showed me a bunch of tiles I hadn’t seen before. This must mean that the page is not completely rendering over several minutes. I’ll be investigating this next.

It seems the access is controlled by requiring the code from the Dojo on each new browser login (it uses an auth cookie that expires in a week), but no sense in having this running all the time. When it is not running, accessing the site returns ‘502 – Bad Gateway’.

Last modified: May 24, 2020

Author

Comments

Write a Reply or Comment

Your email address will not be published.