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. # 💡 Open-source deployment templates for modern self-hosting.
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# Ceph (Demo): Enterprise-grade unified storage for block, object, and file. # Ceph (Demo Mode): Enterprise-grade unified storage for block, object, and file.
# Running in demo mode for quick-start evaluation. # Single-container demo with dashboard and S3-compatible object gateway.
version: '3.8'
services: services:
ceph: ceph:
image: quay.io/ceph/ceph:v18 image: quay.io/ceph/demo:latest
container_name: ceph_demo container_name: ceph-demo
privileged: true privileged: true
restart: unless-stopped restart: unless-stopped
ports: ports:
- "5000:5000" # Dashboard - "5000:5000" # Dashboard
- "8000:8000" # RGW (Object Storage) - "8080:8080" # RGW (S3-compatible)
- "6789:6789" # Monitor
environment: environment:
- MON_IP=127.0.0.1 - MON_IP=127.0.0.1
- CEPH_PUBLIC_NETWORK=0.0.0.0/0 - 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 - DEMO_DAEMONS=all
- CEPH_DAEMON=demo
volumes: volumes:
- ceph_data:/var/lib/ceph - ceph_data:/var/lib/ceph
- ceph_config:/etc/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. # RustFS: High-performance S3-compatible object storage written in Rust.
# Modern, safe, and extremely fast alternative to MinIO. # Drop-in MinIO replacement with better performance and permissive licensing.
version: '3.8'
services: services:
rustfs: rustfs:
@@ -19,8 +17,10 @@ services:
- "9001:9001" # Web Console - "9001:9001" # Web Console
environment: environment:
- RUSTFS_ACCESS_KEY=admin - RUSTFS_ACCESS_KEY=admin
- RUSTFS_SECRET_KEY=password123 - RUSTFS_SECRET_KEY=changeme123
- RUSTFS_VOLUMES=/data - RUSTFS_VOLUMES=/data
- RUSTFS_ADDRESS=:9000
- RUSTFS_CONSOLE_ADDRESS=:9001
volumes: volumes:
- rustfs_data:/data - 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. # 💡 Open-source deployment templates for modern self-hosting.
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# SeaweedFS: Distributed Object Storage / Filer / S3 API # SeaweedFS: Fast distributed storage for blobs, objects, files, and data lake.
# Highly scalable and fast storage for millions of small files. # S3-compatible API with master/volume/filer architecture.
version: '3.8'
services: services:
master: master:
image: chrislusf/seaweedfs image: chrislusf/seaweedfs
container_name: seaweedfs_master container_name: seaweedfs-master
restart: unless-stopped restart: unless-stopped
ports: ports:
- 9333:9333 - "9333:9333"
command: "master -ip=master" command: "master -ip=master"
volume: volume:
image: chrislusf/seaweedfs image: chrislusf/seaweedfs
container_name: seaweedfs_volume container_name: seaweedfs-volume
restart: unless-stopped restart: unless-stopped
ports: ports:
- 8080:8080 - "8080:8080"
command: "volume -mserver=master:9333 -port=8080" command: "volume -mserver=master:9333 -port=8080"
depends_on: depends_on:
- master - master
@@ -32,20 +30,20 @@ services:
filer: filer:
image: chrislusf/seaweedfs image: chrislusf/seaweedfs
container_name: seaweedfs_filer container_name: seaweedfs-filer
restart: unless-stopped restart: unless-stopped
ports: ports:
- 8888:8888 - "8888:8888"
command: "filer -master=master:9333" command: "filer -master=master:9333"
depends_on: depends_on:
- master - master
s3: s3:
image: chrislusf/seaweedfs image: chrislusf/seaweedfs
container_name: seaweedfs_s3 container_name: seaweedfs-s3
restart: unless-stopped restart: unless-stopped
ports: ports:
- 8333:8333 - "8333:8333"
command: "s3 -filer=filer:8888" command: "s3 -filer=filer:8888"
depends_on: depends_on:
- filer - 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"