Initial commit: 23 docker stacks for GitOps deployment
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
This commit is contained in:
48
scripts/deploy.sh
Executable file
48
scripts/deploy.sh
Executable file
@@ -0,0 +1,48 @@
|
||||
#!/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!"
|
||||
Reference in New Issue
Block a user