UPDATE: Can follow this instead of etcher: https://ubuntu.com/tutorials/how-to-install-ubuntu-on-your-raspberry-pi#2-prepare-the-sd-card
- Etcher.io: burn image [approx 2m 30s]
- Save Empty ssh file on /boot
- Login:
ssh pi@raspberrypi
, passwordraspberry
- Run Setup script:
bash -c "$(wget -O - https://raw.githubusercontent.com/piarmy/piarmy-scripts/master/setup/deviceSetup.sh)"
[approx 6m] - Update password
- Name host:
piarmy0[n]
- Copy ssh key to Github when prompted
- After script completes, run
sudo smbpasswd -a pi
, entering same password as above when prompted - Reboot:
sudo reboot
- Check:
docker info
cd /home/pi/projects && git clone git@github.com:piarmy/piarmy-scripts.git && cd piarmy-scripts
Run this from piarmy01 (or whatever the manager node will be)
cd /home/pi/projects/piarmy-scripts/setup
- Edit copy keys script:
nano piarmyCopyKeys.sh
(change password variable) - Run copy keys script:
. piarmyCopyKeys.sh
- Run script on remote nodes:
ssh pi@piarmy02 'bash -s' < piarmyCopyKeys.sh && \
ssh pi@piarmy03 'bash -s' < piarmyCopyKeys.sh && \
ssh pi@piarmy04 'bash -s' < piarmyCopyKeys.sh
Follow these steps if you have USB drives in your Pis.
ssh into each pi and format drive to EXT4: sudo mkfs.ext4 /dev/sda1 -L minio
From manager node, run:
cd /home/pi/projects/piarmy-scripts/setup && \
. automount_usb.sh && \
ssh pi@piarmy04 'bash -s' < automount_usb.sh && \
ssh pi@piarmy04 'bash -s' < automount_usb.sh && \
ssh pi@piarmy04 'bash -s' < automount_usb.sh
Replace: YOUR_EMAIL and YOUR_NAME with the proper values below and run command:
git config --global user.email "YOUR_EMAIL" && git config --global user.name "YOUR_NAME" && git config -l && \
ssh pi@piarmy02 "git config --global user.email 'YOUR_EMAIL' && git config --global user.name 'YOUR_NAME' && git config -l" && \
ssh pi@piarmy03 "git config --global user.email 'YOUR_EMAIL' && git config --global user.name 'YOUR_NAME' && git config -l" && \
ssh pi@piarmy04 "git config --global user.email 'YOUR_EMAIL' && git config --global user.name 'YOUR_NAME' && git config -l"
cd /home/pi/images && \
git clone git@github.com:piarmy/piarmy-collector.git && \
git clone git@github.com:piarmy/piarmy-webserver.git && \
git clone git@github.com:piarmy/piarmy-lambda.git
cd /home/pi/projects/piarmy-scripts/swarm
- Run Swarm init script:
. piarmy-swarm-init.sh
- Check:
docker node ls
Should produce something similar:
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
jxv6a41hph8bililk5egd7zg1 piarmy02 Ready Active
o20038vfj6a5bxn0b5qihu8o8 piarmy04 Ready Active
ony0b9ai9zh08be877hltiw1u piarmy03 Ready Active
s3nojsclw58dq6hhlfxlaukjt * piarmy01 Ready Active Leader