mirror of
https://github.com/altstackHQ/altstack-data.git
synced 2026-04-18 00:53:14 +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.
|
# 💡 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
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.
|
# 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
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.
|
# 💡 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
|
||||||
|
|||||||
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