From 540f07b143ebc10f3165bcea81a8799fba6f8951 Mon Sep 17 00:00:00 2001 From: aa_humaaan Date: Tue, 3 Mar 2026 20:35:02 +0530 Subject: [PATCH] feat: add Docker Compose deployments for SeaweedFS, Ceph, and RustFS --- data/tools.json | 6 +-- deployments/ceph/docker-compose.yml | 32 ++++++++++++++ deployments/rustfs/docker-compose.yml | 28 ++++++++++++ deployments/seaweedfs/docker-compose.yml | 54 ++++++++++++++++++++++++ 4 files changed, 117 insertions(+), 3 deletions(-) create mode 100644 deployments/ceph/docker-compose.yml create mode 100644 deployments/rustfs/docker-compose.yml create mode 100644 deployments/seaweedfs/docker-compose.yml diff --git a/data/tools.json b/data/tools.json index e56949f..93ca753 100644 --- a/data/tools.json +++ b/data/tools.json @@ -18162,7 +18162,7 @@ "hosting_type": "self-hosted", "deployment": { "type": "docker-compose", - "local_path": "./.docker-deploy/seaweedfs" + "local_path": "./deployments/seaweedfs" } }, { @@ -18190,7 +18190,7 @@ "hosting_type": "self-hosted", "deployment": { "type": "docker-compose", - "local_path": "./.docker-deploy/ceph" + "local_path": "./deployments/ceph" } }, { @@ -18218,7 +18218,7 @@ "hosting_type": "self-hosted", "deployment": { "type": "docker-compose", - "local_path": "./.docker-deploy/rustfs" + "local_path": "./deployments/rustfs" } } ] \ No newline at end of file diff --git a/deployments/ceph/docker-compose.yml b/deployments/ceph/docker-compose.yml new file mode 100644 index 0000000..0219686 --- /dev/null +++ b/deployments/ceph/docker-compose.yml @@ -0,0 +1,32 @@ +# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +# 🚀 BUILT & MAINTAINED BY THE ALTSTACK +# 🌍 https://thealtstack.com +# 💡 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' + +services: + ceph: + image: quay.io/ceph/ceph:v18 + container_name: ceph_demo + privileged: true + restart: unless-stopped + ports: + - "5000:5000" # Dashboard + - "8000:8000" # RGW (Object Storage) + environment: + - MON_IP=127.0.0.1 + - CEPH_PUBLIC_NETWORK=0.0.0.0/0 + - DEMO_DAEMONS=all + - CEPH_DAEMON=demo + volumes: + - ceph_data:/var/lib/ceph + - ceph_config:/etc/ceph + +volumes: + ceph_data: + ceph_config: diff --git a/deployments/rustfs/docker-compose.yml b/deployments/rustfs/docker-compose.yml new file mode 100644 index 0000000..fc90ef6 --- /dev/null +++ b/deployments/rustfs/docker-compose.yml @@ -0,0 +1,28 @@ +# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +# 🚀 BUILT & MAINTAINED BY THE ALTSTACK +# 🌍 https://thealtstack.com +# 💡 Open-source deployment templates for modern self-hosting. +# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + +# RustFS: High-performance S3-compatible object storage written in Rust. +# Modern, safe, and extremely fast alternative to MinIO. + +version: '3.8' + +services: + rustfs: + image: rustfs/rustfs:latest + container_name: rustfs + restart: unless-stopped + ports: + - "9000:9000" # S3 API + - "9001:9001" # Web Console + environment: + - RUSTFS_ACCESS_KEY=admin + - RUSTFS_SECRET_KEY=password123 + - RUSTFS_VOLUMES=/data + volumes: + - rustfs_data:/data + +volumes: + rustfs_data: diff --git a/deployments/seaweedfs/docker-compose.yml b/deployments/seaweedfs/docker-compose.yml new file mode 100644 index 0000000..07b5464 --- /dev/null +++ b/deployments/seaweedfs/docker-compose.yml @@ -0,0 +1,54 @@ +# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +# 🚀 BUILT & MAINTAINED BY THE ALTSTACK +# 🌍 https://thealtstack.com +# 💡 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' + +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: