Support both docker-compose and docker compose commands

- Auto-detect standalone docker-compose vs docker compose plugin
- Works on ZimaOS which uses docker compose (v2)
- Works on older systems with docker-compose (v1)
- Updated all script commands to use detected version
- Better error messages showing which version is being used
This commit is contained in:
nmemmert committed 2026-01-13 16:05:03 -05:00
1 parent 2e06475aab
commit 2c333d14eb
2 files changed
+36 -17

No files matched your search

+21 -7
View File
@@ -7,6 +7,20 @@ set -e
echo "🚀 Deploying Capsule to ZimaOS..." echo "🚀 Deploying Capsule to ZimaOS..."
echo "" echo ""
# Detect docker compose command
if command -v docker-compose &> /dev/null; then
DOCKER_COMPOSE="docker-compose"
elif docker compose version &> /dev/null 2>&1; then
DOCKER_COMPOSE="docker compose"
else
echo "❌ Docker Compose not found"
echo "Please install Docker Compose: https://docs.docker.com/compose/install/"
exit 1
fi
echo "✅ Using: $DOCKER_COMPOSE"
echo ""
# Check if .env file exists # Check if .env file exists
if [ ! -f .env ]; then if [ ! -f .env ]; then
echo "⚠️ .env file not found!" echo "⚠️ .env file not found!"
@@ -50,11 +64,11 @@ echo ""
# Build and start containers # Build and start containers
echo "🔨 Building Docker image..." echo "🔨 Building Docker image..."
docker-compose build $DOCKER_COMPOSE build
echo "" echo ""
echo "🚀 Starting Capsule..." echo "🚀 Starting Capsule..."
docker-compose up -d $DOCKER_COMPOSE up -d
echo "" echo ""
echo "⏳ Waiting for container to start..." echo "⏳ Waiting for container to start..."
@@ -63,7 +77,7 @@ sleep 5
# Verify data directory is mounted # Verify data directory is mounted
echo "" echo ""
echo "🔍 Verifying data persistence..." echo "🔍 Verifying data persistence..."
if docker-compose exec capsule ls -la /app/data >/dev/null 2>&1; then if $DOCKER_COMPOSE exec capsule ls -la /app/data >/dev/null 2>&1; then
echo "✅ Data directory is correctly mounted in container" echo "✅ Data directory is correctly mounted in container"
else else
echo "⚠️ Warning: Could not verify data directory mount" echo "⚠️ Warning: Could not verify data directory mount"
@@ -77,10 +91,10 @@ echo " http://localhost:7654"
echo " http://$(hostname -I | awk '{print $1}'):7654" echo " http://$(hostname -I | awk '{print $1}'):7654"
echo "" echo ""
echo "🔧 Useful commands:" echo "🔧 Useful commands:"
echo " docker-compose logs -f # View logs" echo " $DOCKER_COMPOSE logs -f # View logs"
echo " docker-compose stop # Stop container" echo " $DOCKER_COMPOSE stop # Stop container"
echo " docker-compose restart # Restart container" echo " $DOCKER_COMPOSE restart # Restart container"
echo " docker-compose down # Stop and remove container" echo " $DOCKER_COMPOSE down # Stop and remove container"
echo "" echo ""
echo "💾 Your data is stored in: ./data/" echo "💾 Your data is stored in: ./data/"
echo " - This directory persists across container restarts" echo " - This directory persists across container restarts"
+15 -10
View File
@@ -26,12 +26,17 @@ fi
echo "✅ Docker found" echo "✅ Docker found"
# Check for Docker Compose # Check for Docker Compose
if ! command -v docker-compose &> /dev/null && ! docker compose version &> /dev/null; then if command -v docker-compose &> /dev/null; then
DOCKER_COMPOSE="docker-compose"
echo "✅ Docker Compose found (standalone)"
elif docker compose version &> /dev/null 2>&1; then
DOCKER_COMPOSE="docker compose"
echo "✅ Docker Compose found (plugin)"
else
echo "❌ Docker Compose is not installed" echo "❌ Docker Compose is not installed"
echo "Please install Docker Compose: https://docs.docker.com/compose/install/" echo "Please install Docker Compose: https://docs.docker.com/compose/install/"
exit 1 exit 1
fi fi
echo "✅ Docker Compose found"
# Check if git is available # Check if git is available
if command -v git &> /dev/null; then if command -v git &> /dev/null; then
@@ -126,18 +131,18 @@ echo "✅ Data directory created"
# Build and start # Build and start
echo "" echo ""
echo "🔨 Building Docker image..." echo "🔨 Building Docker image..."
docker-compose build $DOCKER_COMPOSE build
echo "" echo ""
echo "🚀 Starting Capsule Budget..." echo "🚀 Starting Capsule Budget..."
docker-compose up -d $DOCKER_COMPOSE up -d
# Wait for container # Wait for container
echo "⏳ Waiting for container to start..." echo "⏳ Waiting for container to start..."
sleep 5 sleep 5
# Verify container is running # Verify container is running
if docker-compose ps | grep -q "Up"; then if $DOCKER_COMPOSE ps | grep -q "Up"; then
echo "" echo ""
echo "╔════════════════════════════════════════════════════════════╗" echo "╔════════════════════════════════════════════════════════════╗"
echo "║ ║" echo "║ ║"
@@ -158,10 +163,10 @@ if docker-compose ps | grep -q "Up"; then
echo "💾 Data storage: $(pwd)/data" echo "💾 Data storage: $(pwd)/data"
echo "" echo ""
echo "🔧 Useful commands (run from $(pwd)):" echo "🔧 Useful commands (run from $(pwd)):"
echo " docker-compose logs -f # View logs" echo " $DOCKER_COMPOSE logs -f # View logs"
echo " docker-compose stop # Stop Capsule" echo " $DOCKER_COMPOSE stop # Stop Capsule"
echo " docker-compose restart # Restart Capsule" echo " $DOCKER_COMPOSE restart # Restart Capsule"
echo " docker-compose down # Stop and remove" echo " $DOCKER_COMPOSE down # Stop and remove"
echo "" echo ""
echo "📚 Documentation:" echo "📚 Documentation:"
echo " • README.md - Getting started guide" echo " • README.md - Getting started guide"
@@ -174,7 +179,7 @@ else
echo "❌ Container failed to start" echo "❌ Container failed to start"
echo "" echo ""
echo "Troubleshooting:" echo "Troubleshooting:"
echo "1. Check logs: docker-compose logs" echo "1. Check logs: $DOCKER_COMPOSE logs"
echo "2. Verify .env file has ENCRYPTION_KEY set" echo "2. Verify .env file has ENCRYPTION_KEY set"
echo "3. Check if port 7654 is available" echo "3. Check if port 7654 is available"
echo "" echo ""