mirror of
https://github.com/openoms/bitcoin-tutorials.git
synced 2025-12-19 12:54:19 +01:00
80 lines
2.1 KiB
Bash
80 lines
2.1 KiB
Bash
#!/bin/bash
|
|
|
|
function help() {
|
|
echo "
|
|
Script to set up a local enviroment to run packer
|
|
Usage:
|
|
devenv.packer.sh [on|off]"
|
|
exit 1
|
|
}
|
|
|
|
USER="packer"
|
|
|
|
function setup_devenv_packer() {
|
|
# dedicated user
|
|
sudo adduser --disabled-password --gecos "" ${USER}
|
|
#sudo usermod -aG sudo packer
|
|
|
|
# tools
|
|
sudo apt update
|
|
sudo apt install -y git tmux gnupg unzip curl
|
|
|
|
# fzf
|
|
sudo -u ${USER} sh -c 'git clone --depth 1 https://github.com/junegunn/fzf.git /home/${USER}/.fzf; /home/${USER}/.fzf/install --all'
|
|
|
|
# docker
|
|
if ! docker version; then
|
|
# look for raspiblitz install script
|
|
if [ -f /home/admin/config.scripts/blitz.docker.sh ]; then
|
|
/home/admin/config.scripts/blitz.docker.sh on
|
|
else
|
|
# https://docs.docker.com/desktop/linux/install/debian/
|
|
curl -fsSL https://get.docker.com -o get-docker.sh
|
|
sh get-docker.sh
|
|
fi
|
|
fi
|
|
sudo groupadd docker
|
|
sudo usermod -aG docker packer
|
|
|
|
# Install packer
|
|
if ! packer version; then
|
|
echo -e "\nInstalling packer..."
|
|
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
|
|
sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
|
|
sudo apt-get update -y && sudo apt-get install packer -y
|
|
fi
|
|
|
|
export PATH=$PATH:/usr/local/go/bin
|
|
if ! go version; then
|
|
echo -e "Installing Go..."
|
|
wget --progress=bar:force https://go.dev/dl/go1.18.4.linux-amd64.tar.gz
|
|
sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.18.4.linux-amd64.tar.gz
|
|
sudo rm -rf go1.18.4.linux-amd64.tar.gz
|
|
fi
|
|
|
|
# Install Packer Arm Plugin
|
|
echo -e "\nInstalling Packer Arm Plugin..."
|
|
cd /home/${USER}
|
|
sudo -u ${USER} git clone https://github.com/mkaczanowski/packer-builder-arm
|
|
cd packer-builder-arm
|
|
sudo -u ${USER} /usr/local/go/bin/go mod download
|
|
sudo -u ${USER} /usr/local/go/bin/go build
|
|
|
|
echo "\
|
|
alias egrep='egrep --color=auto'
|
|
alias fgrep='fgrep --color=auto'
|
|
alias g='git'
|
|
alias grep='grep --color=auto'
|
|
alias gs='git status'
|
|
" | sudo -u ${USER} tee -a /home/${USER}/.bash_aliases
|
|
}
|
|
|
|
|
|
if [ "$1" = "on" ]; then
|
|
setup_devenv_packer
|
|
elif [ "$1" = "off" ]; then
|
|
sudo userdel -rf packer
|
|
else
|
|
help
|
|
fi
|