mirror of
https://github.com/altstackHQ/altstack-data.git
synced 2026-04-17 21:53:12 +02:00
feat: add install.sh scripts and fix docker-compose.yml for SeaweedFS, Ceph, RustFS
This commit is contained in:
@@ -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
69
deployments/ceph/install.sh
Executable 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"
|
||||
@@ -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
64
deployments/rustfs/install.sh
Executable 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"
|
||||
@@ -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
|
||||
|
||||
88
deployments/seaweedfs/install.sh
Executable file
88
deployments/seaweedfs/install.sh
Executable 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"
|
||||
Reference in New Issue
Block a user