Installation script to setup MajorDoMo home automation platform on Raspberry Pi OS [also tested with servers running Ubuntu 20/22/24].
Supported/tested targets: Raspberry Pi OS Bookworm (12) and Trixie (13), 64-bit. Raspberry Pi 5 requires the 64-bit (arm64) image - the armhf image will not boot.
Prerequisites
- Raspbian (or Ubuntu) OS image should be installed
- SSH enabled (in case of headless setup see instructions below)
- It is recommended to do an update before running installation (sudo apt update && sudo apt full-upgrade -y && sudo reboot)
Usage:
curl -s https://raw.githubusercontent.com/sergejey/majordomo-rpi-install/main/install.sh | bash && bash ~/majordomo-rpi-install/install.sh
Sample run:
Features:
- Basic preparations (distr update)
- Static IP address set (optional)
- Special block for ab-log's RPi4-RTC-PoE mini-server setup (optional)
- Install Apache web server
- Install MariaDB (password config)
- Install phpMyAdmin
- Install MajorDomo (master or alpha branch)
- Restore database from CONNECT (cloud) backup (optional)
- In-memory database option to reduce writing to SD-card
- Install Mosquitto MQTT broker
- Install HomeBridge service (optional)
- Install RHVoice TTS engine (optional)
- Install Zigbee2MQTT service (optional)
- Install Redis for caching (optional)
Post-installation:
- Reboot the system (recommended)
- MajorDoMo is available by the url
http://IP_address/(open it to finish setup) - Zigbee2MQTT front-end is available by the url
http://IP_address:8080/(if installed)
To-Do:
- Option to use nginx instead of apache
- ZWave2MQTT
- KNX2MQTT
- any other ideas? :)
Big thanks to prmres for original idea!
- Download latest Raspberry Pi OS Lite (arm64) image
- Burn image to SSD card (or eMMC disk) with Balena Etcher or Win32DiskImager
- Create empty file called ssh in the root of boot disk
- Create userconf.txt file in the same folder with
username:encrypted-password(there is no default pi / raspberry account any more; the easiest way is to set the user name and password in Raspberry Pi Imager). Sample line:
pi:$6$ghKLjE2C3qTJZtde$AjJ9HXBpawoN/iqCTU8KBtaOngUx5GLY0qkEJP0F7VKTLL5fkX7q9K4oSiZYVFJBc09NocagToQzbnNz/eph71
- Reboot Raspberry Pi and connect to it using SSH protocol and following username/password:
pi / raspberry
