Skip to content

Software Installation

Joel Goudswaard edited this page Aug 13, 2026 · 1 revision

1. Flash the SD card

  1. Flash Debian Trixie 64-bit Lite with Raspberry Pi Imager.
  2. Add customization options - enable SSH, set username and password and configure Wi-Fi during setup.
  3. Boot the Raspberry Pi and SSH in.

2. Run the installer

On the Raspberry Pi (as your normal user, from any directory):

curl -fsSL https://raw.githubusercontent.com/muntedpissmole/sccs/main/install.sh -o /tmp/sccs-install.sh && sudo bash /tmp/sccs-install.sh

The installer main menu will appear. Choose 1 — Install SCCS and follow the prompts.

If the SCCS Core isn't connected yet — e.g. the Raspberry Pi is still on the test bench — skip the hardware-related setup questions. You can finish them later from the menu.

Alongside the app, a full install sets up an nginx reverse proxy (port 80 → the app on 5000), a sccs systemd service, and a Samba share so you can configure the project from another computer — see Samba share below. You'll be asked to set a Samba password for your account during this step.

3. Updating

On the Raspberry Pi:

sudo "$HOME/sccs/install.sh"

Choose 2 — Update from repository. This pulls the latest code, updates dependencies, updates the Pi-hole application and blocklists and restarts the app.

If a release adds new config options, merge them by hand:

diff -u "$HOME/sccs/config/sccs.conf" "$HOME/sccs/config/sccs.conf.dist"

Or use Notepad++'s ComparePlus plugin.

Whilst you're updating, update the Raspberry Pi as well: sudo apt update && sudo apt upgrade -y (reboot if prompted).

4. Finish hardware configuration later

Re-open the installer any time:

sudo "$HOME/sccs/install.sh"

ESP32 flash (menu 4)

On the SCCS Core PCB: hold BOOT, press RESET, release BOOT, for each ESP32, then continue. This puts them into download mode so the firmware can be sent. Type s to skip a module, or a to stop flashing.

Victron (menu 5)

  1. In the VictronConnect app: add the shunt and MPPT, turn on Instant Readout via Bluetooth, and copy each device's MAC and 32-character key (gear → Product info → Instant readout → Show).
  2. On the Raspberry Pi, choose menu 5 and paste those values when prompted.
  3. Type s and Enter to skip a device if you don't have the details yet.

Full setup: Victron Setup.

LAN/Wi-Fi/Pi-hole/NAT Setup (menu 6)

Sets eth0 to 10.10.10.1, sets the Raspberry Pi up as a router and installs Pi-hole for DNS, DHCP and ad-filtering.

Pi-hole admin UI: http://10.10.10.1:8080/admin

The installer creates a random web password (readable only as root). Show it, paste it when the admin page asks you to log in, and keep a copy in your password manager:

sudo cat /root/.sccs-pihole-web-password

See network setup to change the admin password: Networking.

Phone USB internet (menu 7)

Plug in a phone with hotspot enabled, then choose menu 7. The installer scans for the new USB network device and updates NAT so the LAN/Wi-Fi can use the phone's data. You can set the preferred internet connection type of USB or Wi-Fi on the settings tab of the UI. Obviously this step doesn't apply if using Starlink but you should connect the Raspberry Pi to the Starlink either by Wi-Fi or a USB ethernet adapter and put the Starlink in bridge mode. This way you can still use Pi-hole's ad-filtering and access the SCCS from your devices.

Touchscreens (menu 8)

  1. Connect your touchscreens to the LAN/Wi-Fi, then use the guided menu to scan for devices and add them to the config file for you.

HomeKit / Google Home (menu 10)

Optional phone and voice control. One wizard for both.

  1. Choose menu 10 (or sudo ./install.sh --voice).
  2. Enable HomeKit and/or Google Home. Confirm the LAN/Wi-Fi address (usually 10.10.10.1).
  3. Open Settings → HomeKit / Google Home and pair with the QR code. The tiles stay hidden until the bridges are enabled.

Full pairing steps: HomeKit, Google Home.

5. Using the system

Item Details
SCCS UI http://10.10.10.1/
Pi-hole admin http://10.10.10.1:8080/admin
Config $HOME/sccs/config/sccs.conf (Don't forget to restart SCCS after editing)
Status systemctl status sccs
Logs journalctl -u sccs.service -f
Samba share \\10.10.10.1\sccs (or smb://10.10.10.1/sccs)

Samba share

The installer writes a [sccs] Samba share pointing at the project directory so you can edit config/sccs.conf, themes, or code from another computer.

If you ever need to set or change the Samba password by hand:

sudo smbpasswd -a "$USER"

← Previous: Wiring and Hardware    |    Next: Software Configuration →