Jafner.net/homelab/stacks
2024-10-26 00:34:58 -07:00
..
ai Init AI Stack 2024-10-08 11:55:32 -07:00
autopirate Migrate autopirate to Stacks 2024-10-08 11:49:44 -07:00
books Trivial naming change to trigger workflow 2024-09-06 14:26:08 -07:00
gitea-runner Trivial naming change to trigger workflow 2024-09-06 14:26:08 -07:00
home-assistant Migrate home-assistant to Stacks 2024-10-08 11:51:27 -07:00
homepage
keycloak Migrate Keycloak to Stacks 2024-10-08 11:52:30 -07:00
manyfold Migrate Manyfold (formerly Vandam) to Stacks 2024-10-08 11:54:54 -07:00
minecraft #14 Migrate Minecraft 2024-10-24 11:58:53 -07:00
monitoring #14 Migrate Monitoring 2024-10-24 11:59:27 -07:00
n8n Init n8n 2024-10-26 00:34:58 -07:00
navidrome #14 Migrate Navidrome 2024-10-24 11:59:49 -07:00
nextcloud Migrate Nextcloud to Stacks 2024-10-08 11:52:56 -07:00
plex #14 Migrate Plex 2024-10-24 12:00:18 -07:00
qbittorrent Migrate Qbittorrent to Stacks 2024-10-08 11:53:18 -07:00
send
stash Migrate Stash to Stacks 2024-10-08 11:53:39 -07:00
traefik Fix improper escaping special characters (`) 2024-10-24 12:40:39 -07:00
unifi Migrate Unifi to Stacks 2024-10-08 11:54:29 -07:00
warpgate Integrate Warpgate behind Traefik 2024-10-08 11:56:47 -07:00
wireguard #14 Migrate Wireguard 2024-10-24 12:01:00 -07:00
zipline Migrate Zipline to Stacks 2024-10-08 11:55:15 -07:00
deploy.sh
README.md

Stacks: Atomic Services using Docker Compose

Build a Stack (from source with Git)

STACK=gitea-runner
mkdir -p $HOME/stacks/$STACK
git clone -n --depth=1 --filter=tree:0 https://gitea.jafner.tools/Jafner/Jafner.net.git /tmp/repo
cd /tmp/repo
git sparse-checkout set --no-cone homelab/stacks/$STACK
git checkout
zip -r $STACK.zip homelab/stacks/$STACK
rm -rf /tmp/repo

This will clone the stack from the repo into a tmp directory, extract the stack to ~/stacks/$STACK, and then delete the temp clone.

  • This does not decrypt secrets.
  • This does not bring up the stack.
  • This does require Git.

Pull a Stack (from source with Git)

STACK=books
mkdir -p /tmp/stack/$STACK
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 homelab/stacks/$STACK $HOME/stacks/ 
cd $HOME/stacks/$STACK && rm -rf /tmp/stack/$STACK

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