Raspberry Pi setup
This project uses the declarative Linux operating system (OS), NixOS. This allows us to bring the system into the required state from configuration files maintained in this repository without the hassle of manual installations.
Note
NixOS will not be running on an encrypted drive. This is to allow the possibility of remote bring up if the server reboots. However, all secrets and assets will be stored on the encrypted external drive.
- Download the latest image from the releases page.
- You may choose to build the RPi image locally or
- Start from the latest vanilla NixOS image.
- Flash the RPi image on to an SD card using your favourite flashing tool;
rpi-imager,balena-etcherordd:sudo dd if=<path to image>.img of=<path to drive> bs=16M status=progress - Plug-in an Ethernet cable.
- Place the SD card in your RPi and power it.
- Login to the RPi from your machine with
ssh admin@immich.localand passwordtesting.- If you have issues using
immich.local, identify and use the RPi IP withsudo arp-scan -l. - The first time you login you will be prompted to configure zsh. You can use option
0.
Note
Alternatively, you can connect a screen, keyboard and mouse and login to the RPi that way with the user
adminand passwordtesting. - If you have issues using
- Once logged in the RPi
- Change the default password:
sudo passwd adminCaution
This password is necessary to manage the RPi. If this is breached, attackers can access all of the raw media assets. Set a secure password and for better security, setup SSH keys and disable password authentication.
- Clone this repository:
git clone https://github.com/hicklin/immich-rpi-nix.git - Create a symbolic link (shortcut), for NixOS configuration:
sudo ln -s ~/immich-rpi-nix/configuration.nix /etc/nixos/configuration.nix - Update channels:
sudo nix-channel --update - Update the OS:
sudo nixos-rebuild switch
- Change the default password: