Jafner.net/homelab/stacks/deploy.sh

23 lines
1015 B
Bash
Raw Normal View History

2024-09-02 13:21:23 -07:00
#!/bin/bash
# run me with
2024-09-02 13:25:52 -07:00
# curl https://gitea.jafner.tools/Jafner/Jafner.net/raw/branch/main/homelab/stacks/deploy.sh | bash -s <stack to pass>
2024-09-02 13:21:23 -07:00
STACK=$1
2024-09-02 13:30:25 -07:00
mkdir -p /tmp/stack/$STACK $HOME/stacks/$STACK
2024-09-02 13:21:23 -07:00
git clone -n --depth=1 --filter=tree:0 https://gitea.jafner.tools/Jafner/Jafner.net.git /tmp/stack/$STACK && cd /tmp/stack/$STACK
git sparse-checkout set --no-cone homelab/stacks/$STACK && git checkout
mv -f homelab/stacks/$STACK/* $HOME/stacks/$STACK/
mv -f homelab/stacks/$STACK/.* $HOME/stacks/$STACK/
2024-09-02 13:21:23 -07:00
cd $HOME/stacks/$STACK && rm -rf /tmp/stack/$STACK
if [[ -z $AGE_DEPLOY_KEY ]]; then
echo "Error: AGE_DEPLOY_KEY not set. Cannot decrypt secrets."
else
echo -e "$(cat $HOME/.age/$HOSTNAME.host.key)\n$AGE_DEPLOY_KEY" > $HOME/.age/combined.key
export SOPS_AGE_KEY_FILE="$HOME/.age/combined.key"
for file in $(find . -type f); do
sops decrypt -i --input-type json "$file" 2>/dev/null && echo "Decrypted $file"
done
fi
docker compose -f $HOME/stacks/$STACK/docker-compose.yml pull