feat: add install.sh scripts and fix docker-compose.yml for SeaweedFS, Ceph, RustFS

This commit is contained in:
aa_humaaan
2026-03-03 20:42:42 +05:30
parent 540f07b143
commit 038c8fa09d
6 changed files with 245 additions and 24 deletions

View File

@@ -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

69
deployments/ceph/install.sh Executable file
View File

@@ -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"

View File

@@ -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

64
deployments/rustfs/install.sh Executable file
View File

@@ -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"

View File

@@ -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

View File

@@ -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"