diff --git a/deployments/ceph/docker-compose.yml b/deployments/ceph/docker-compose.yml index 0219686..9e08174 100644 --- a/deployments/ceph/docker-compose.yml +++ b/deployments/ceph/docker-compose.yml @@ -4,25 +4,27 @@ # 💡 Open-source deployment templates for modern self-hosting. # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ -# Ceph (Demo): Enterprise-grade unified storage for block, object, and file. -# Running in demo mode for quick-start evaluation. - -version: '3.8' +# Ceph (Demo Mode): Enterprise-grade unified storage for block, object, and file. +# Single-container demo with dashboard and S3-compatible object gateway. services: ceph: - image: quay.io/ceph/ceph:v18 - container_name: ceph_demo + image: quay.io/ceph/demo:latest + container_name: ceph-demo privileged: true restart: unless-stopped ports: - "5000:5000" # Dashboard - - "8000:8000" # RGW (Object Storage) + - "8080:8080" # RGW (S3-compatible) + - "6789:6789" # Monitor environment: - MON_IP=127.0.0.1 - CEPH_PUBLIC_NETWORK=0.0.0.0/0 + - CEPH_DEMO_UID=demo + - CEPH_DEMO_ACCESS_KEY=demo + - CEPH_DEMO_SECRET_KEY=demo + - CEPH_DEMO_BUCKET=demobucket - DEMO_DAEMONS=all - - CEPH_DAEMON=demo volumes: - ceph_data:/var/lib/ceph - ceph_config:/etc/ceph diff --git a/deployments/ceph/install.sh b/deployments/ceph/install.sh new file mode 100755 index 0000000..c77de4d --- /dev/null +++ b/deployments/ceph/install.sh @@ -0,0 +1,69 @@ +#!/bin/bash +# 🚀 Auto-generated by The AltStack +# https://thealtstack.com + +echo "🔵 Starting AltStack Deployment..." + +# 1. Check/Install Docker +if ! command -v docker &> /dev/null; then + echo "📦 Docker not found. Installing..." + curl -fsSL https://get.docker.com -o get-docker.sh + sh get-docker.sh + rm get-docker.sh + echo "✅ Docker installed." +else + echo "✅ Docker is already installed." +fi + +# 2. Setup Directory +APP_DIR="ceph-deploy" +mkdir -p $APP_DIR +cd $APP_DIR +echo "📂 Created directory: $APP_DIR" + +# 3. Create docker-compose.yml +echo "📄 Writing configuration..." +cat << 'INNER_EOF' > docker-compose.yml + +# ------------------------------------------------------------------------- +# 🚀 Created and distributed by The AltStack +# 🌍 https://thealtstack.com +# ------------------------------------------------------------------------- + +services: + ceph: + image: quay.io/ceph/demo:latest + container_name: ceph-demo + privileged: true + restart: unless-stopped + ports: + - "5000:5000" + - "8080:8080" + - "6789:6789" + environment: + - MON_IP=127.0.0.1 + - CEPH_PUBLIC_NETWORK=0.0.0.0/0 + - CEPH_DEMO_UID=demo + - CEPH_DEMO_ACCESS_KEY=demo + - CEPH_DEMO_SECRET_KEY=demo + - CEPH_DEMO_BUCKET=demobucket + - DEMO_DAEMONS=all + volumes: + - ceph_data:/var/lib/ceph + - ceph_config:/etc/ceph + +volumes: + ceph_data: + ceph_config: + +INNER_EOF + +# 4. Start Services +echo "🚀 Starting services..." +docker compose up -d + +echo "" +echo "✅ Deployment Complete!" +echo "👉 Your Ceph demo stack is running." +echo " Dashboard: http://localhost:5000" +echo " S3 Gateway: http://localhost:8080" diff --git a/deployments/rustfs/docker-compose.yml b/deployments/rustfs/docker-compose.yml index fc90ef6..261e8ab 100644 --- a/deployments/rustfs/docker-compose.yml +++ b/deployments/rustfs/docker-compose.yml @@ -5,9 +5,7 @@ # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ # RustFS: High-performance S3-compatible object storage written in Rust. -# Modern, safe, and extremely fast alternative to MinIO. - -version: '3.8' +# Drop-in MinIO replacement with better performance and permissive licensing. services: rustfs: @@ -19,8 +17,10 @@ services: - "9001:9001" # Web Console environment: - RUSTFS_ACCESS_KEY=admin - - RUSTFS_SECRET_KEY=password123 + - RUSTFS_SECRET_KEY=changeme123 - RUSTFS_VOLUMES=/data + - RUSTFS_ADDRESS=:9000 + - RUSTFS_CONSOLE_ADDRESS=:9001 volumes: - rustfs_data:/data diff --git a/deployments/rustfs/install.sh b/deployments/rustfs/install.sh new file mode 100755 index 0000000..51278fb --- /dev/null +++ b/deployments/rustfs/install.sh @@ -0,0 +1,64 @@ +#!/bin/bash +# 🚀 Auto-generated by The AltStack +# https://thealtstack.com + +echo "🔵 Starting AltStack Deployment..." + +# 1. Check/Install Docker +if ! command -v docker &> /dev/null; then + echo "📦 Docker not found. Installing..." + curl -fsSL https://get.docker.com -o get-docker.sh + sh get-docker.sh + rm get-docker.sh + echo "✅ Docker installed." +else + echo "✅ Docker is already installed." +fi + +# 2. Setup Directory +APP_DIR="rustfs-deploy" +mkdir -p $APP_DIR +cd $APP_DIR +echo "📂 Created directory: $APP_DIR" + +# 3. Create docker-compose.yml +echo "📄 Writing configuration..." +cat << 'INNER_EOF' > docker-compose.yml + +# ------------------------------------------------------------------------- +# 🚀 Created and distributed by The AltStack +# 🌍 https://thealtstack.com +# ------------------------------------------------------------------------- + +services: + rustfs: + image: rustfs/rustfs:latest + container_name: rustfs + restart: unless-stopped + ports: + - "9000:9000" + - "9001:9001" + environment: + - RUSTFS_ACCESS_KEY=admin + - RUSTFS_SECRET_KEY=changeme123 + - RUSTFS_VOLUMES=/data + - RUSTFS_ADDRESS=:9000 + - RUSTFS_CONSOLE_ADDRESS=:9001 + volumes: + - rustfs_data:/data + +volumes: + rustfs_data: + +INNER_EOF + +# 4. Start Services +echo "🚀 Starting services..." +docker compose up -d + +echo "" +echo "✅ Deployment Complete!" +echo "👉 Your RustFS stack is running." +echo " S3 API: http://localhost:9000" +echo " Web Console: http://localhost:9001" +echo " Credentials: admin / changeme123" diff --git a/deployments/seaweedfs/docker-compose.yml b/deployments/seaweedfs/docker-compose.yml index 07b5464..852da07 100644 --- a/deployments/seaweedfs/docker-compose.yml +++ b/deployments/seaweedfs/docker-compose.yml @@ -4,26 +4,24 @@ # 💡 Open-source deployment templates for modern self-hosting. # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ -# SeaweedFS: Distributed Object Storage / Filer / S3 API -# Highly scalable and fast storage for millions of small files. - -version: '3.8' +# SeaweedFS: Fast distributed storage for blobs, objects, files, and data lake. +# S3-compatible API with master/volume/filer architecture. services: master: image: chrislusf/seaweedfs - container_name: seaweedfs_master + container_name: seaweedfs-master restart: unless-stopped ports: - - 9333:9333 + - "9333:9333" command: "master -ip=master" volume: image: chrislusf/seaweedfs - container_name: seaweedfs_volume + container_name: seaweedfs-volume restart: unless-stopped ports: - - 8080:8080 + - "8080:8080" command: "volume -mserver=master:9333 -port=8080" depends_on: - master @@ -32,20 +30,20 @@ services: filer: image: chrislusf/seaweedfs - container_name: seaweedfs_filer + container_name: seaweedfs-filer restart: unless-stopped ports: - - 8888:8888 + - "8888:8888" command: "filer -master=master:9333" depends_on: - master s3: image: chrislusf/seaweedfs - container_name: seaweedfs_s3 + container_name: seaweedfs-s3 restart: unless-stopped ports: - - 8333:8333 + - "8333:8333" command: "s3 -filer=filer:8888" depends_on: - filer diff --git a/deployments/seaweedfs/install.sh b/deployments/seaweedfs/install.sh new file mode 100755 index 0000000..fe6e587 --- /dev/null +++ b/deployments/seaweedfs/install.sh @@ -0,0 +1,88 @@ +#!/bin/bash +# 🚀 Auto-generated by The AltStack +# https://thealtstack.com + +echo "🔵 Starting AltStack Deployment..." + +# 1. Check/Install Docker +if ! command -v docker &> /dev/null; then + echo "📦 Docker not found. Installing..." + curl -fsSL https://get.docker.com -o get-docker.sh + sh get-docker.sh + rm get-docker.sh + echo "✅ Docker installed." +else + echo "✅ Docker is already installed." +fi + +# 2. Setup Directory +APP_DIR="seaweedfs-deploy" +mkdir -p $APP_DIR +cd $APP_DIR +echo "📂 Created directory: $APP_DIR" + +# 3. Create docker-compose.yml +echo "📄 Writing configuration..." +cat << 'INNER_EOF' > docker-compose.yml + +# ------------------------------------------------------------------------- +# 🚀 Created and distributed by The AltStack +# 🌍 https://thealtstack.com +# ------------------------------------------------------------------------- + +services: + master: + image: chrislusf/seaweedfs + container_name: seaweedfs-master + restart: unless-stopped + ports: + - "9333:9333" + command: "master -ip=master" + + volume: + image: chrislusf/seaweedfs + container_name: seaweedfs-volume + restart: unless-stopped + ports: + - "8080:8080" + command: "volume -mserver=master:9333 -port=8080" + depends_on: + - master + volumes: + - seaweedfs_data:/data + + filer: + image: chrislusf/seaweedfs + container_name: seaweedfs-filer + restart: unless-stopped + ports: + - "8888:8888" + command: "filer -master=master:9333" + depends_on: + - master + + s3: + image: chrislusf/seaweedfs + container_name: seaweedfs-s3 + restart: unless-stopped + ports: + - "8333:8333" + command: "s3 -filer=filer:8888" + depends_on: + - filer + +volumes: + seaweedfs_data: + +INNER_EOF + +# 4. Start Services +echo "🚀 Starting services..." +docker compose up -d + +echo "" +echo "✅ Deployment Complete!" +echo "👉 Your SeaweedFS stack is running." +echo " Master UI: http://localhost:9333" +echo " S3 API: http://localhost:8333" +echo " Filer: http://localhost:8888"