Start over with new install

I’m planning to do a reinstall of my signalk server this winter. Main reason is to get up to date with nodejs to avoid any issues during the summer. Any recommendations on how to do a fresh install when I have a pi5 with a pecan-m hat?
14 Replies
Teppo Kurki
Teppo Kurki6d ago
I would switch to running sk in docker. All updates, including node version bumps, and rollbacks going forward are easier with that
håvard
håvardOP6d ago
Is there any installation guide for a docker install?
Teppo Kurki
Teppo Kurki6d ago
very little, but this would be a great time to improve it https://demo.signalk.org/documentation/Installation/Docker.html pinging @Karl-Erik Gustafsson as an avid docker user....
Docker | Signal K
Documentation for Signal K
PaddyB
PaddyB6d ago
Just had a M2 hat & 500Gb turn up so will during the set up try and take some notes for a change 😁
Karl-Erik Gustafsson
There are some plans to do guide/blog post about SK and docker, but heavy load on work has postponed this activity. Very shortly. Install Docker Engine to your computer/embedded platform. Install also docker-compose. Docker-compose is what you want you use at the end. https://docs.docker.com/engine/install/ubuntu/#installation-methods Follow the post-install steps to add rights to non-root user too https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user https://docs.docker.com/compose/install/linux/#install-using-the-repository Reboot. Use SK docker-compose.yml for baseline. Copy yml file to your computer, to some suitable folder. https://github.com/SignalK/signalk-server/blob/master/docker/docker-compose.yml To keep setting stored, you might want to map .signalk folder from container to host. This will keep important files and settings stored in host. You need to add this mapping to docker-compose.yml manually
volumes:
- $PWD/signalk_conf:/home/node/.signalk
volumes:
- $PWD/signalk_conf:/home/node/.signalk
Make signalk_conf folder to same folder where you have the yml-file. Now you are ready to pull image and start SK container first time. docker-compose up -d starts it in detach mode, running in background. More info about cli commands. https://docs.docker.com/compose/intro/compose-application-model/#cli up, down, pull, etc... If you have not familiarized with docker or docker-compose yet, learning curve might be steep. Pull image, listes in yml file docker-compose pull Up and detached docker-compose up -d Take down and stop docker-compose down Next steps, check cli command. Couple of steps after that, check e.g. Portainer CE to manage dockers, images, stacks, remote machines via GUI. Help is available.
PaddyB
PaddyB5d ago
Simple so far here, followed Pimoroni/ perplexity instructions, copied working sd card to M.2 & set to boot from there. Booted straight away, system identical to before. Making another partition on the m.2 for data now to keep the system separate so it can be backed up to an SD card.
håvard
håvardOP5d ago
I sort of have it up and running on a test pi using some help from chat gpt. Got in to some permission issues, but was able to get it to run, but not sure if the method should be recommended, because I don’t know the details of what I am doing… Ok, so done some adjustmens with GPT again. How does this guide look? Compact guide: Signal K via Docker on Raspberry Pi (without PiCAN-M) Flash SD card with Raspberry Pi OS Lite (64-bit) using Raspberry Pi Imager. Enable SSH, set hostname, timezone, Wi-Fi if needed. Boot Pi and log in via SSH: ssh pi@raspberrypi.local sudo apt update && sudo apt full-upgrade -y sudo reboot Install Docker & Compose: curl -fsSL https://get.docker.com | sh sudo usermod -aG docker $USER sudo reboot sudo apt install -y docker-compose-plugin docker compose version Prepare folders for persistent configuration: mkdir -p ~/signalk/signalk_conf cd ~/signalk Create docker-compose.yml (no PiCAN-M yet, no privileged): version: "3.8" services: signalk: image: signalk/signalk-server container_name: signalk network_mode: host restart: unless-stopped volumes: - ./signalk_conf:/home/node/.signalk environment: - TZ=Europe/Oslo Start Signal K: docker compose pull docker compose up -d docker logs -f signalk Access GUI: http://raspberrypi.local:3000 (or use the Pi’s IP if .local doesn’t work). First launch prompts for admin account creation—no default login. Stop container if needed: docker compose down Notes: All settings persist in signalk_conf. When PiCAN-M is installed later, add privileged: true and configure can0. Optional: use Portainer CE to manage containers via GUI.
Teppo Kurki
Teppo Kurki5d ago
Docker compose is part of docker nowadays, i don’t think the plugin is needed
håvard
håvardOP5d ago
Correct!
Teppo Kurki
Teppo Kurki5d ago
The older docker-compose is now available as docker compose
Teppo Kurki
Teppo Kurki5d ago
GitHub
signalk-server/docs/installation/docker.md at master · SignalK/sig...
An implementation of a Signal K central server for boats. - SignalK/signalk-server
håvard
håvardOP5d ago
Sorry, I don’t know the difference between with - and without-
Teppo Kurki
Teppo Kurki5d ago
those are two different commands Serial device and gpio access are missing from above
Karl-Erik Gustafsson
docker-compose "old & original" Python script based, docker compose "new v2" Go implementation.

Did you find this page helpful?