mirror of https://github.com/lukechilds/umbrel.git
Luke Childs
4 years ago
4 changed files with 113 additions and 0 deletions
@ -0,0 +1,6 @@ |
|||
docker run \ |
|||
--rm \ |
|||
--privileged \ |
|||
-v /dev:/dev \ |
|||
-v ${PWD}:/build \ |
|||
mkaczanowski/packer-builder-arm build raspberrypi.json |
@ -0,0 +1,64 @@ |
|||
#!/usr/bin/env bash |
|||
set -euox pipefail |
|||
|
|||
UMBREL_VERSION="v0.3.13" |
|||
UMBREL_ROOT="/home/umbrel/umbrel" |
|||
|
|||
export DEBIAN_FRONTEND=noninteractive |
|||
|
|||
# Setup Umbrel OS |
|||
# ----------------------- |
|||
|
|||
# Update package lists |
|||
apt-get update |
|||
|
|||
# Set UMBREL_OS environment variable |
|||
# TODO: Find the correct place to set this |
|||
echo "UMBREL_OS=${UMBREL_VERSION}" >> /etc/environment |
|||
echo "export UMBREL_OS=${UMBREL_VERSION}" >> /etc/default/umbrel |
|||
|
|||
# Change hostname to Umbrel |
|||
echo umbrel > /etc/hostname |
|||
|
|||
# Install Avahi |
|||
apt-get install -y avahi-daemon avahi-discover libnss-mdns |
|||
|
|||
# Create umbrel user |
|||
password_hash=$(perl -e 'print crypt("moneyprintergobrrr", "salt")') |
|||
useradd --create-home --groups sudo --password $password_hash umbrel |
|||
|
|||
# Pi OS specific tweaks |
|||
# ----------------------- |
|||
|
|||
# Enable SSH |
|||
touch /boot/ssh |
|||
|
|||
# Delete Pi user |
|||
pkill --euid pi || true |
|||
deluser --remove-home pi |
|||
|
|||
# Umbrel installation |
|||
# ------------------- |
|||
|
|||
# Install Docker |
|||
apt-get install -y curl |
|||
curl -fsSL https://get.docker.com | sh |
|||
usermod --append --groups docker umbrel |
|||
|
|||
# Install docker-compose |
|||
apt-get install -y python3-pip libffi-dev |
|||
pip3 install docker-compose |
|||
|
|||
# Install Umbrel |
|||
apt-get install -y python3-qrcode fswatch rsync jq |
|||
mkdir "${UMBREL_ROOT}" |
|||
( |
|||
cd "${UMBREL_ROOT}" && |
|||
curl -L "https://github.com/getumbrel/umbrel/archive/${UMBREL_VERSION}.tar.gz" | tar -xz --strip-components=1 && |
|||
UMBREL_SYSTEMD_SERVICES="${UMBREL_ROOT}/scripts/umbrel-os/services/*.service" |
|||
for service_path in $UMBREL_SYSTEMD_SERVICES; do |
|||
service_name=$(basename "${service_path}") |
|||
install -m 644 "${service_path}" "/etc/systemd/system/${service_name}" |
|||
systemctl enable "${service_name}" |
|||
done |
|||
) |
@ -0,0 +1,41 @@ |
|||
{ |
|||
"variables": {}, |
|||
"builders": [{ |
|||
"type": "arm", |
|||
"file_urls" : ["https://downloads.raspberrypi.org/raspios_lite_arm64/images/raspios_lite_arm64-2021-05-28/2021-05-07-raspios-buster-arm64-lite.zip"], |
|||
"file_checksum": "868cca691a75e4280c878eb6944d95e9789fa5f4bbce2c84060d4c39d057a042", |
|||
"file_checksum_type": "sha256", |
|||
"file_target_extension": "zip", |
|||
"image_build_method": "resize", |
|||
"image_path": "umbrel-os.img", |
|||
"image_size": "4G", |
|||
"image_type": "dos", |
|||
"image_partitions": [ |
|||
{ |
|||
"name": "boot", |
|||
"type": "c", |
|||
"start_sector": "8192", |
|||
"filesystem": "vfat", |
|||
"size": "256M", |
|||
"mountpoint": "/boot" |
|||
}, |
|||
{ |
|||
"name": "root", |
|||
"type": "83", |
|||
"start_sector": "532480", |
|||
"filesystem": "ext4", |
|||
"size": "0", |
|||
"mountpoint": "/" |
|||
} |
|||
], |
|||
"image_chroot_env": ["PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin"], |
|||
"qemu_binary_source_path": "/usr/bin/qemu-aarch64-static", |
|||
"qemu_binary_destination_path": "/usr/bin/qemu-aarch64-static" |
|||
}], |
|||
"provisioners": [ |
|||
{ |
|||
"type": "shell", |
|||
"script": "provision.sh" |
|||
} |
|||
] |
|||
} |
Loading…
Reference in new issue