What is this all about?
I discovered Reticulum and wanted to simply quickly test it with two laptops (to start) to get a quick feel. I decided I would also use the Sideband app as the GUI interface for it because it works on Android and I assumed that would be my second test.
I based this tutorial on the Getting Started Fast with Reticulum page and a few things I’ve learned on my own.
So that’s what this all about if you want to join me.
1. Setting up RNS so that Reticulum can do something on your ubuntu machine
- Set up a Project Directory
I did this in my Home directory. Do it where you want. Do it by creating a folder in your favourite way. I called it ‘Reticulum’ because mama said I’m creative.
- Set up Python PIP
PIP is a python packaging manager. You will need it to install the Open Webui stuff (the front-facing software to interact with the AI)
Run this command in your terminal if it’s not installed:
sudo apt install python3-pip
- Install Python Virtual Environment tool
Run this command so that your computer has capability to create a virtual environment:
sudo apt install python3.12-venv
(you may need to adjust that number / command as this blog ages over time, keep in mind)
- Create your Virtual Environment in your Project Directory
Navigate to your project directory that you created in Step 1 above using the terminal’s cd
command
Run this command to create the virtual environment, once you’ve navigated inside it:
python3 -m venv .venv
You should now have the hidden .venv directory inside your directory. You can check by running this command while inside: ls -al
- Activate the virtual environment adjusting the following code to match whatever you set up:
source Reticulum/.venv/bin/activate
You should now see your terminal switch things up and show (.venv) before your username showing the virtual environment is working.
Pro Tip! If you want to get out of this activated virtual environment mode, just run deactivate
in your terminal and it gets you back to normal-land.
- Download and Install Open WebUi in the virtual Environment
Instead of the command listed in the blog navigate into your project directory and run:
.venv/bin/pip install rns
You should start to see progress in your terminal.
- Test if it’s working by firing up the rnsd command (starts up Reticulum engine):
rnsd
It should search for, fail to find, and then create your config file, and, if all is working, you should see ‘Started rnsd version 1.0.0`’ on the screen
That concludes the section of setting up RNS so that Reticulum ‘can work on your machine’ (in theory)
Getting Sideband Reticulum App going on Ubuntu
- Go here and choose Linux
- Read all the instructions including:
a) installing dependencies
b) installing the app and
c) the ‘ensurepath’ command (yes, this seems mandatory, see below for more…)
c) some useful points
It’s pretty self explanatory and well done.
- Do some pipx command to ensure some path with this command:
pipx ensurepath
- Exit your terminal and re-open it.
- Start the app as per the instructions, in the terminal, with this command:
sideband
It should open. If not, meh. No idea. Re-read above? 🙂
Repeat the same rodeo on your second ubuntu machine…
Now that you have your first ubuntu machine going, all you have to do is repeat this whole thing one more time on another ubuntu machine and then try a connection (see next section)! Have fun – and don’t shoot the mailman… ain’t my fault…
Get it on an android device
I just went to the same Sideband install page. I downloaded the .apk file from the Github page and gave my browser the right to install this unauthorized app from source. Once I gave the permission, the app installed without issue and I was able to open it.
Making your first reticulum connections
Now you have ubuntu machine 1 and 2 both with Reticulum installed and both with Sideband app installed. Now it’s time to see if this whole thing was worth it!
See my notes below about trying to add an address that you have already communicated with and a few other learning notes below, but otherwise here’s what you do:
- Have access to a wifi router. Doesn’t matter if it has internet connected or not – just need all your devices to connect to it so they are on the same network. Maybe for your test bed you can disable the password entirely and set up a household Reticulum network? 🙂
- Connect to the wifi network on all the devices with Reticulum / Sideband
- Each device ‘should’ auto broadcast the device to the network, but if not, you can push ‘broadcast’ button which will do the same thing manually
- Go into ‘announce stream’ where you should see your devices
- Once you see the device, select ‘converse’
- Chat away
That’s it. You’re a hero and don’t let anyone tell you otherwise.
Some random learning I made to save you some time
In no particular order, some bullet point learning to save you some wasted time:
- If you have connected with a device by means of automatically connecting (normal way) and then you try to add them by means of ‘add a contact’ it won’t work until you delete the contact in your conversation screen and then manually add them again. I guess it won’t allow a duplicate address to be added.. software bug I will eventually report to devs
- To connect to someone, go into ‘preferences’ in the Sideband app. In there you will find your long LXMF address with numbers and letters. That’s what you share with others so they can add you…
- If you make changes in the app, it’s smart to shut the app completely and re-open.
- For some reason, my work wifi network would NOT allow these connections. As soon as I disconnected from this network, reconnected to my personal wifi router with zero internet – it worked awesome. ha. Love it…
Conclusions
Super impressive. Although the Sideband app is not super dialed in in terms of being intuitive – it’s also very nice. I wish I could write code as I would put this on Ubuntu Touch right away!
Further, from my understanding, you can connect to LoRa devices (like Meshtastic) so this is truly outstanding. I will be focusing on this project now that I’ve seen it in action.
Excellent work devs!!