Siparu ← Back to the site

Setup

Four doors,
the same five minutes.

Siparu is a Signal K plugin. If your boat already runs Signal K it is one click in her AppStore and you are done. If she does not, you are putting Signal K on something first, and these are the three boxes boats end up on. Every door leads to the same five minutes at the end of this page. If you do not yet know which door is yours, or whether she needs a gateway first, start with Will it work on my boat?

Last checked 7 October 2026 against signalk-server 2.33.0

A. She already runs Signal K

Nothing to install on the machine itself. Siparu is pure JavaScript with no native modules, so it goes in from the AppStore the way any plugin does and there is nothing to compile.

  1. Open the Signal K admin on the boat, http://<boat-ip>:3000, and sign in if it asks. The address is the computer's on her network: your router's device list has it, a Pi also answers at <hostname>.local, and hostname -I prints it on the Pi itself.
  2. Apps & Plugins → Store. Search Siparu and press Install.
  3. Restart, in the top bar of the admin page. A minute or two.
  4. Webapps → Siparu. The dashboard is already reading her bridge, on the boat, over her own wifi. No account, no internet, nothing to pay.
  5. Security → Users. Signal K ships with its security switched off. Add an admin user before you pair: with security off, anyone on the boat's network can read her history, and Siparu keeps pairing and log edits locked until you close it. Two things follow. From now on every screen aboard signs in to Signal K before Siparu opens. On Signal K 2.31 and newer with Siparu 0.2.19 or later, any account you add there will do, a read-only one for the crew included; on an older server Signal K hands a plugin's pages only to admins, so a read-only user sees "Sign-in required" and no further. And under Security → Settings, Allow Readonly Access lets anyone on the network read Signal K's own live feed without signing in; on a shared marina or crew network, leave it off.
  6. To watch her from ashore, open Remote in Siparu and press Turn on. Type the code it shows into the iPhone app, or into siparu.app/app in any browser, and approve it on the boat's own screen.

Siparu runs on Signal K 2.18 and newer, on Node 20 and newer. That is the floor it supports, not what you should install today: a fresh Signal K asks for Node 22.

B. Raspberry Pi

The box most boats end up on. A Pi 3B+ or newer, 64-bit Raspberry Pi OS, and Lite is enough: Signal K has no use for a desktop. Give her a wired connection to the boat's network if you can, and a proper power supply. A Pi that browns out mid-write is the one fault that costs you a day of history.

The card first, and this is where a laptop comes in. Raspberry Pi Imager, on the laptop, writes Raspberry Pi OS Lite (64-bit) to the card, and its Customisation tab is where she gets a hostname, a user and password, the boat's wifi, and SSH switched on under Remote Access. Boot the Pi from the card, then from the laptop:

ssh <user>@<hostname>.local

The laptop is needed for this and for the commands below, once. It does not stay aboard, and when you are done Signal K's admin page is at http://<hostname>.local:3000, or at the Pi's address in your router's device list.

Node next. The version in Raspberry Pi OS is older than Signal K accepts, so take it from NodeSource:

curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
node -v

Then Signal K itself:

sudo npm install -g signalk-server
sudo signalk-server-setup

The setup tool asks for a folder, a vessel name, an MMSI, whether to use port 80 and whether to turn SSL on, and that is all it asks. Its last two questions default to no, which is the answer you want: that is what leaves her admin page on port 3000 without SSL. When it is run with sudo it also writes a systemd service, which is what makes her come back on her own after a power cut; systemctl is-enabled signalk should answer enabled. It never asks where her instruments are, and until you tell it, Signal K starts with no data source and the dashboard reads "No instruments reporting". That step is below, and it takes two minutes.

One folder is worth a copy once she is paired: ~/.signalk/plugin-config-data/siparu/. It holds her key file and her link to Siparu beside her history, and a card that dies takes it with it. Copy it to the laptop now and then; restoring it onto a fresh card brings her back as the same boat.

Then follow door A.

C. Mac mini

Plenty of boats already have one in the saloon running the AV, and it makes a good enough Signal K box. The install is the same as a Pi's, with one difference worth knowing before you start: nothing here makes her come back after a reboot on its own.

Node 22 or newer, from nodejs.org or from Homebrew:

brew install node@22
node -v

Then the server:

sudo npm install -g signalk-server
sudo signalk-server-setup

The setup tool writes her settings and then quietly skips the part that matters most on a boat. It only knows how to install a systemd service, macOS has none, and it says nothing when it steps over that step. It does not ask where her instruments are either; that step is below, the same on a Mac as on a Pi. Start her by hand to check the install:

signalk-server

To have her start on her own, write a launch daemon at /Library/LaunchDaemons/app.siparu.signalk.plist. Check where the binary actually landed first, because the answer differs between an Apple silicon Mac and an Intel one:

which signalk-server
# /opt/homebrew/bin/signalk-server  (Apple silicon)
# /usr/local/bin/signalk-server     (Intel)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
  "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>            <string>app.siparu.signalk</string>
  <key>ProgramArguments</key> <array>
    <string>/opt/homebrew/bin/signalk-server</string>
  </array>
  <key>UserName</key>         <string>YOUR-USER</string>
  <key>RunAtLoad</key>        <true/>
  <key>KeepAlive</key>        <true/>
</dict>
</plist>
sudo chown root:wheel /Library/LaunchDaemons/app.siparu.signalk.plist
sudo launchctl load -w /Library/LaunchDaemons/app.siparu.signalk.plist

Two settings left, and both are about a machine that is meant to be unattended. A Mac that goes to sleep records nothing, and a Mac that stays off after a power cut records nothing either:

sudo pmset -a sleep 0 disksleep 0
sudo pmset -a autorestart 1

Then follow door A.

D. Victron Cerbo GX

Venus OS Large carries Signal K already, so there is nothing to install on the Cerbo beyond the right image. Siparu builds nothing native, and that is what lets it install on a Cerbo at all: a plugin that needs a compiler does not go on one. The same door serves every GX that runs the Large image: Cerbo GX, Cerbo-S GX, Ekrano GX, Venus GX, Octo GX, and the MultiPlus-II GX and EasySolar-II GX. The older Color Control GX and the CanVU GX cannot run it; a boat with one of those is a Pi away, door B.

  1. Settings → General → Firmware → Online updates. Set Image type to Large, then check for updates and install.
  2. Settings → General → Access & Security → Access level. Set it to User & installer. The password is ZZZ unless your dealer changed it. Switching Signal K on needs this level.
  3. Settings → Integrations → Venus OS Large Features → Signal K. Switch it on. On older firmware the same switch sits under Settings → Venus OS Large features.
  4. Open the Signal K admin at http://<cerbo-ip>:3000. Node and Signal K came with the image, so the npm steps in doors B and C do not apply here.
  5. Then follow door A.

Two GX things worth knowing. Victron's own warning: running Signal K and Node-RED at the same time can overload a GX device and make it unstable. A Cerbo handles it better than the older Venus GX, but if you already lean on Node-RED, watch the load before you add anything else. And her raw history goes on the GX data partition, 500 MB at most by default and pruned oldest hour first; a full data partition is a fault we have seen on a GX, so if other things share it, lower History storage limit (MB) in the plugin's settings.

Tell Signal K where her instruments are

Signal K reads what it is pointed at, and a fresh install is pointed at nothing. Doors B and C need this step; a Cerbo comes with its own connections, and a boat that already runs Signal K most likely has one already. Her dashboard settles it either way: if it reads "No instruments reporting", she has not. In the admin page: Data → Connections, then Add. The form wants three things: what kind of data, how it arrives, and where.

Save, restart the server, and Data → Browser in the admin page fills with paths within a minute. If it stays empty, nothing is arriving at Signal K yet: check the port, the baud rate, that the gateway's own light says it sees the bus, and that something on the bus is switched on.

Then the same five minutes

Whichever door you came through, the rest is identical, and none of it hands anyone a password, a network, or a device.

  1. Install from the AppStore. One click in Signal K.
  2. Restart the server. A minute or two.
  3. Open the dashboard. It is already running, on the boat, over her own wifi, at http://<boat-ip>:3000/signalk-siparu/.
  4. Open a free account at siparu.app/app, or sign in to the iPhone app with one. The code is claimed into an account, so this comes first.
  5. Claim from your phone or browser. Type the code her screen is showing.
  6. Approve on board. One tap on the boat's screen, and she is live ashore. The dashboard aboard stays free; watching her from ashore is a membership, €360 a year for one boat, and the pricing is on the home page.
  7. Add a second screen while you are at it. A phone or a tablet: sign in on it, and it appears under Screens on her page ashore. A browser needs one press more, Authorise on her Remote page, before it joins the list. Either way, approve it from the screen you already hold, and she starts sealing to it within five minutes. Do this now rather than later: a new screen is approved by one you already have, and if the only one you have is lost, the way back is to pair again at the boat.

When it does not go

Still stuck: write to us. A person answers, and an install that will not go is exactly the kind of thing worth writing about.