diff --git a/server/.env b/server/.env index fb7739f5..5f0cb4b3 100644 --- a/server/.env +++ b/server/.env @@ -17,6 +17,7 @@ OWW_CUSTOM_MODEL_DIR=/mnt/md0/ha/openwakeword-model OWW_DATA=/mnt/md0/ha/openwakeword-data PIPER_DATA=/mnt/md0/ha/piper-data WHISPER_DATA=/mnt/md0/ha/whisper-data +ESPHOME_CONFIG=/mnt/md0/esphome/config # Pi-hole PIHOLE=/mnt/md0/pihole diff --git a/server/install-docker.sh b/server/install-docker.sh new file mode 100644 index 00000000..5c218f03 --- /dev/null +++ b/server/install-docker.sh @@ -0,0 +1,39 @@ +#!/bin/sh +set -e + +if ! command -v curl >/dev/null 2>&1; then + echo "curl is required. Installing curl..." + sudo apt update + sudo apt install -y curl +fi + +echo "Updating package index..." +sudo apt update + +echo "Installing required packages..." +sudo apt install -y ca-certificates curl gnupg lsb-release + +echo "Adding Docker's official GPG key..." +sudo mkdir -p /etc/apt/keyrings +curl -fsSL "https://download.docker.com/linux/$( + . /etc/os-release + echo "$ID" +)/gpg" | sudo gpg --dearmor >/tmp/docker.gpg +sudo mv /tmp/docker.gpg /etc/apt/keyrings/docker.gpg +sudo chmod 644 /etc/apt/keyrings/docker.gpg + +echo "Setting up the Docker repository..." +ARCH=$(dpkg --print-architecture) +OS_ID=$(awk -F= '/^ID=/{gsub(/\"/, "", $2); print $2}' /etc/os-release) +RELEASE=$(lsb_release -cs) +echo "deb [arch=$ARCH signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/$OS_ID $RELEASE stable" | + sudo tee /etc/apt/sources.list.d/docker.list >/dev/null + +echo "Updating package index (with Docker repo)..." +sudo apt update + +echo "Installing Docker Engine..." +sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin + +echo "Docker installation complete!" +docker --version