Stacks included:
- Infrastructure: traefik, authentik, gitea, registry, watchtower, dockge
- Monitoring: smokeping, changedetection
- Apps: ghost, gollum, wallabag, radicale, invidious, xbackbone, filebrowser, syncthing, zerotier
- Custom: obsidian-tools, memento, perilous, ramz, bookclub, brain
🤖 Generated with Claude Code
49 lines
1.0 KiB
Bash
Executable File
49 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
# Manual deploy script for docker-stacks
|
|
# Usage: ./deploy.sh [stack-name|all]
|
|
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
REPO_ROOT="$(dirname "$SCRIPT_DIR")"
|
|
STACKS_DIR="/var/core"
|
|
|
|
deploy_stack() {
|
|
local stack=$1
|
|
echo "🚀 Deploying $stack..."
|
|
|
|
local src="$REPO_ROOT/stacks/$stack"
|
|
local dest="$STACKS_DIR/$stack"
|
|
|
|
if [ ! -d "$src" ]; then
|
|
echo "❌ Stack $stack not found in $src"
|
|
return 1
|
|
fi
|
|
|
|
# Create destination directory
|
|
mkdir -p "$dest"
|
|
|
|
# Copy files
|
|
cp -r "$src"/* "$dest/"
|
|
|
|
# Deploy
|
|
cd "$dest"
|
|
docker compose pull --ignore-pull-failures 2>/dev/null || true
|
|
docker compose up -d --remove-orphans
|
|
|
|
echo "✅ Deployed $stack"
|
|
}
|
|
|
|
if [ -z "$1" ] || [ "$1" = "all" ]; then
|
|
echo "Deploying all stacks..."
|
|
for stack_dir in "$REPO_ROOT/stacks"/*/; do
|
|
stack=$(basename "$stack_dir")
|
|
deploy_stack "$stack"
|
|
done
|
|
else
|
|
deploy_stack "$1"
|
|
fi
|
|
|
|
echo ""
|
|
echo "🎉 Deployment complete!"
|