mirror of
https://github.com/altstackHQ/altstack-data.git
synced 2026-04-17 21:53:12 +02:00
feat: replace MinIO with Garage for truly open-source S3 storage
This commit is contained in:
@@ -138,7 +138,7 @@ services:
|
|||||||
|
|
||||||
### <20> Storage & Infrastructure
|
### <20> Storage & Infrastructure
|
||||||
*Alternatives to **AWS S3**, **Dropbox**, and **Salesforce***
|
*Alternatives to **AWS S3**, **Dropbox**, and **Salesforce***
|
||||||
- **[MinIO](https://github.com/minio/minio)** - High-performance, S3-compatible object storage.
|
- **[Garage](https://github.com/deuxfleurs/garage)** - An open-source distributed object storage service tailored for self-hosting.
|
||||||
- **[Odoo](https://github.com/odoo/odoo)** - All-in-one ERP suite (Salesforce alternative).
|
- **[Odoo](https://github.com/odoo/odoo)** - All-in-one ERP suite (Salesforce alternative).
|
||||||
- **[Nextcloud](https://github.com/nextcloud/server)** - Content collaboration platform (Dropbox/Google Drive alternative).
|
- **[Nextcloud](https://github.com/nextcloud/server)** - Content collaboration platform (Dropbox/Google Drive alternative).
|
||||||
- [🔗 **Infrastructure Stacks on AltStack**](https://thealtstack.com/category/infrastructure)
|
- [🔗 **Infrastructure Stacks on AltStack**](https://thealtstack.com/category/infrastructure)
|
||||||
|
|||||||
1
assets/logos/garage.svg
Normal file
1
assets/logos/garage.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" id="Calque_1" x="0" y="0" version="1.1" viewBox="-0.25 81.12 512.53 392.3"><style>.st0{fill:#ffd952}.st2{fill:#45c8ff}.st3{fill:#ff9329}.st4{fill:#4e4e4e}</style><g id="g1663" transform="translate(-88.608 -87.995)scale(1.70995)"><path id="path6" d="M242 189.5c-2.8.2-5.7-.1-8.4-.9l-104.9-28.3c-2.8-.8-5.5-2-7.9-3.7z"/><path id="path24-3-6" d="M201.2 98.9c-4.5 0-8.9 1-13.1 2.8l-133.3 59c-2.5 1-3.6 3.9-2.6 6.3 0 0 0 .1.1.1 0 .2.1.4.2.5L73.8 210h18.6l-2.6-14.7c-.2-1.2-2.1-9.6-4-15.7l62.4 19.5c.8 3.9 1.9 7.5 3.2 10.9h101.2c1.1-3.4 2-7 2.6-10.9l62.3-19.4c-1.8 6.1-3.7 14.4-3.9 15.6L311 210h18.6l21.2-41.9.2-.4.2-.5v-.1c.2-.5.2-1 .2-1.6.1-2.1-1.1-4-3-4.8l-133.3-59c-4.5-1.9-9.2-2.8-13.9-2.8" class="st0"/><path id="path24-3" d="M201.2 126.8c-4.5 0-8.9 1-13.1 2.8l-133.3 59c-2.5 1-3.6 3.9-2.6 6.3 0 0 0 .1.1.1 0 .2.1.4.2.5l11.6 22.9h24.7c-.8-3.3-1.8-7.3-2.9-11.1l35.4 11.1h161l35.3-11c-1.1 3.7-2.1 7.7-2.9 11h24.7l11.4-22.5.2-.4.2-.5v-.1c.2-.5.2-1 .2-1.6.1-2.1-1.1-4-3-4.8l-133.3-59c-4.5-1.8-9.2-2.7-13.9-2.7" style="fill:#49c8fa"/><path id="path24" d="M351.2 221.8c0 .5 0 1.1-.2 1.6v.1l-.2.5-.2.4-32.3 63.8c-4.5 8.9-12.7 8.6-11.4-.4l6.5-36.3c.2-1.2 2.1-9.6 4-15.6l-62.3 19.4c-9.8 63.5-93.3 64.6-107 0l-62.4-19.5c1.8 6.1 3.8 14.5 4 15.7l6.5 36.3c1.4 9-6.9 9.2-11.4.4L52.3 224c-.1-.2-.2-.3-.2-.5-1.1-2.4 0-5.3 2.4-6.4 0 0 .1 0 .1-.1l133.3-59c8.5-3.8 18.3-3.8 26.8 0L348 217c2.2.8 3.4 2.8 3.2 4.8" class="st0"/><path id="path26" d="m244.1 233 57.6-23.2c1.3-.5 1.9-1.9 1.4-3.2-.2-.6-.7-1.1-1.4-1.4-6.7-2.8-15-6-23.1-9.4-1.5-.6-15.6 9.5-16.9 10.5l-24.7 20c-6.1 5-.9 9.9 7.1 6.7" class="st2"/><circle id="circle28" cx="202.3" cy="255.6" r="51.4" class="st2" transform="rotate(-45.001 202.325 255.64)"/><path id="path6-0" d="M242 189.5c-2.8.2-5.7-.1-8.4-.9l-104.9-28.3c-2.8-.8-5.5-2-7.9-3.7z"/><path id="path24-3-6-9" d="M201.2 98.9c-4.5 0-8.9 1-13.1 2.8l-133.3 59c-2.5 1-3.6 3.9-2.6 6.3 0 0 0 .1.1.1 0 .2.1.4.2.5L73.8 210h18.6l-2.6-14.7c-.2-1.2-2.1-9.6-4-15.7l62.4 19.5c.8 3.9 1.9 7.5 3.2 10.9h101.2c1.1-3.4 2-7 2.6-10.9l62.3-19.4c-1.8 6.1-3.7 14.4-3.9 15.6L311 210h18.6l21.2-41.9.2-.4.2-.5v-.1c.2-.5.2-1 .2-1.6.1-2.1-1.1-4-3-4.8l-133.3-59c-4.5-1.9-9.2-2.8-13.9-2.8" class="st3"/><path id="path24-3-2" d="M201.2 126.8c-4.5 0-8.9 1-13.1 2.8l-133.3 59c-2.5 1-3.6 3.9-2.6 6.3 0 0 0 .1.1.1 0 .2.1.4.2.5l11.6 22.9h24.7c-.8-3.3-1.8-7.3-2.9-11.1l35.4 11.1h161l35.3-11c-1.1 3.7-2.1 7.7-2.9 11h24.7l11.4-22.5.2-.4.2-.5v-.1c.2-.5.2-1 .2-1.6.1-2.1-1.1-4-3-4.8l-133.3-59c-4.5-1.8-9.2-2.7-13.9-2.7" class="st4"/><path id="path24-0" d="M351.2 221.8c0 .5 0 1.1-.2 1.6v.1l-.2.5-.2.4-32.3 63.8c-4.5 8.9-12.7 8.6-11.4-.4l6.5-36.3c.2-1.2 2.1-9.6 4-15.6l-62.3 19.4c-9.8 63.5-93.3 64.6-107 0l-62.4-19.5c1.8 6.1 3.8 14.5 4 15.7l6.5 36.3c1.4 9-6.9 9.2-11.4.4L52.3 224c-.1-.2-.2-.3-.2-.5-1.1-2.4 0-5.3 2.4-6.4 0 0 .1 0 .1-.1l133.3-59c8.5-3.8 18.3-3.8 26.8 0L348 217c2.2.8 3.4 2.8 3.2 4.8" class="st3"/><path id="path26-2" d="m244.1 233 57.6-23.2c1.3-.5 1.9-1.9 1.4-3.2-.2-.6-.7-1.1-1.4-1.4-6.7-2.8-15-6-23.1-9.4-1.5-.6-15.6 9.5-16.9 10.5l-24.7 20c-6.1 5-.9 9.9 7.1 6.7" class="st4"/><circle id="circle28-3" cx="202.3" cy="255.6" r="51.4" class="st4" transform="rotate(-45.001 202.325 255.64)"/></g></svg>
|
||||||
|
After Width: | Height: | Size: 3.2 KiB |
@@ -1 +0,0 @@
|
|||||||
<svg fill="#ffffff" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>MinIO</title><path d="M13.2072.006c-.6216-.0478-1.2.1943-1.6211.582a2.15 2.15 0 0 0-.0938 3.0352l3.4082 3.5507a3.042 3.042 0 0 1-.664 4.6875l-.463.2383V7.2853a15.4198 15.4198 0 0 0-8.0174 10.4862v.0176l6.5487-3.3281v7.621L13.7794 24V13.6817l.8965-.4629a4.4432 4.4432 0 0 0 1.2207-7.0292l-3.371-3.5254a.7489.7489 0 0 1 .037-1.0547.7522.7522 0 0 1 1.0567.0371l.4668.4863-.006.0059 4.0704 4.2441a.0566.0566 0 0 0 .082 0 .06.06 0 0 0 0-.0703l-3.1406-5.1425-.1484.1425.1484-.1445C14.4945.3926 13.8287.0538 13.2072.006Zm-.9024 9.8652v2.9941l-4.1523 2.1484a13.9787 13.9787 0 0 1 2.7676-3.9277 14.1784 14.1784 0 0 1 1.3847-1.2148z"/></svg>
|
|
||||||
|
Before Width: | Height: | Size: 724 B |
@@ -655,16 +655,30 @@
|
|||||||
"website": "https://aws.amazon.com/s3"
|
"website": "https://aws.amazon.com/s3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"slug": "minio",
|
"slug": "garage",
|
||||||
"name": "MinIO (Community Fork)",
|
"name": "Garage",
|
||||||
"category": "Cloud Infrastructure",
|
"category": "Cloud Infrastructure",
|
||||||
"is_open_source": true,
|
"is_open_source": true,
|
||||||
"description": "High-performance, S3-compatible object storage for AI and enterprise data.",
|
"github_repo": "deuxfleurs/garage",
|
||||||
"logo_url": "/logos/minio.svg",
|
"stars": 3500,
|
||||||
"alternatives": [],
|
"website": "https://garagehq.deuxfleurs.fr/",
|
||||||
"tags": [],
|
"description": "An open-source distributed object storage service tailored for self-hosting.",
|
||||||
|
"pros": [
|
||||||
|
"True open-source (AGPLv3)",
|
||||||
|
"Lightweight and runs anywhere",
|
||||||
|
"Built-in replication and cluster management"
|
||||||
|
],
|
||||||
|
"cons": [
|
||||||
|
"Lacks some enterprise features of MinIO"
|
||||||
|
],
|
||||||
|
"last_commit": "2024-03-01T00:00:00Z",
|
||||||
|
"language": "Rust",
|
||||||
"license": "AGPLv3",
|
"license": "AGPLv3",
|
||||||
"website": "https://min.io"
|
"logo_url": "/logos/garage.svg",
|
||||||
|
"deployment": {
|
||||||
|
"type": "docker-compose",
|
||||||
|
"local_path": "./.docker-deploy/garage"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"slug": "zendesk",
|
"slug": "zendesk",
|
||||||
@@ -1650,4 +1664,4 @@
|
|||||||
"license": "Apache License 2.0",
|
"license": "Apache License 2.0",
|
||||||
"website": "https://flowiseai.com"
|
"website": "https://flowiseai.com"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1303,31 +1303,30 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"slug": "minio",
|
"slug": "garage",
|
||||||
"name": "MinIO (Community Fork)",
|
"name": "Garage",
|
||||||
"category": "Cloud Infrastructure",
|
"category": "Cloud Infrastructure",
|
||||||
"is_open_source": true,
|
"is_open_source": true,
|
||||||
"github_repo": "pgsty/minio",
|
"github_repo": "deuxfleurs/garage",
|
||||||
"stars": 45000,
|
"stars": 3500,
|
||||||
"website": "https://min.io",
|
"website": "https://garagehq.deuxfleurs.fr/",
|
||||||
"description": "High-performance, S3-compatible object storage for AI and enterprise data.",
|
"description": "An open-source distributed object storage service tailored for self-hosting.",
|
||||||
"pros": [
|
"pros": [
|
||||||
"S3-compatible API — drop-in replacement for AWS S3",
|
"True open-source (AGPLv3)",
|
||||||
"Extremely fast object storage optimized for AI/ML workloads",
|
"Lightweight and runs anywhere",
|
||||||
"Kubernetes-native with operator support"
|
"Built-in replication and cluster management"
|
||||||
],
|
],
|
||||||
"cons": [
|
"cons": [
|
||||||
"AGPL license can be strict"
|
"Lacks some enterprise features of MinIO"
|
||||||
],
|
],
|
||||||
"last_commit": "2026-02-09T14:00:00Z",
|
"last_commit": "2024-03-01T00:00:00Z",
|
||||||
"language": "Go",
|
"language": "Rust",
|
||||||
"license": "AGPLv3",
|
"license": "AGPLv3",
|
||||||
"logo_url": "/logos/minio.svg",
|
"logo_url": "/logos/garage.svg",
|
||||||
"deployment": {
|
"deployment": {
|
||||||
"type": "docker-compose",
|
"type": "docker-compose",
|
||||||
"local_path": "./.docker-deploy/minio"
|
"local_path": "./.docker-deploy/garage"
|
||||||
},
|
}
|
||||||
"referral_url": "https://m.do.co/c/2ed27757a361"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"slug": "zendesk",
|
"slug": "zendesk",
|
||||||
@@ -18136,4 +18135,4 @@
|
|||||||
"Fewer enterprise integrations compared to commercial alternatives"
|
"Fewer enterprise integrations compared to commercial alternatives"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
37
deployments/garage/docker-compose.yml
Normal file
37
deployments/garage/docker-compose.yml
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
# 🚀 BUILT & MAINTAINED BY THE ALTSTACK
|
||||||
|
# 🌍 https://thealtstack.com
|
||||||
|
# 💡 Open-source deployment templates for modern self-hosting.
|
||||||
|
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
# Garage: Open-source distributed object storage (S3-compatible)
|
||||||
|
# Perfect replacement for MinIO with true AGPL open-source licensing.
|
||||||
|
|
||||||
|
version: '3.8'
|
||||||
|
|
||||||
|
services:
|
||||||
|
garage:
|
||||||
|
image: dxflrs/garage:v1.0.1
|
||||||
|
container_name: garage
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- "3900:3900" # S3 API
|
||||||
|
- "3901:3901" # Web API
|
||||||
|
- "3902:3902" # Admin API
|
||||||
|
- "3903:3903" # Cluster peering (rpc)
|
||||||
|
environment:
|
||||||
|
- GARAGE_RPC_BIND_ADDR=[::]:3903
|
||||||
|
- GARAGE_RPC_PUBLIC_ADDR=127.0.0.1:3903
|
||||||
|
- GARAGE_RPC_SECRET=YOUR_SECURE_RPC_SECRET_HERE
|
||||||
|
- GARAGE_S3_API_BIND_ADDR=[::]:3900
|
||||||
|
- GARAGE_S3_WEB_BIND_ADDR=[::]:3901
|
||||||
|
- GARAGE_ADMIN_API_BIND_ADDR=[::]:3902
|
||||||
|
- GARAGE_DATA_DIR=/var/lib/garage/data
|
||||||
|
- GARAGE_META_DIR=/var/lib/garage/meta
|
||||||
|
volumes:
|
||||||
|
- garage_data:/var/lib/garage/data
|
||||||
|
- garage_meta:/var/lib/garage/meta
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
garage_data:
|
||||||
|
garage_meta:
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
||||||
# 🚀 BUILT & MAINTAINED BY THE ALTSTACK
|
|
||||||
# 🌍 https://thealtstack.com
|
|
||||||
# 💡 Open-source deployment templates for modern self-hosting.
|
|
||||||
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
services:
|
|
||||||
minio:
|
|
||||||
image: pgsty/minio:latest
|
|
||||||
container_name: minio
|
|
||||||
restart: unless-stopped
|
|
||||||
ports:
|
|
||||||
- "9000:9000"
|
|
||||||
- "9090:9090"
|
|
||||||
command: server /data --console-address ":9090"
|
|
||||||
environment:
|
|
||||||
- MINIO_ROOT_USER=minioadmin
|
|
||||||
- MINIO_ROOT_PASSWORD=minioadmin
|
|
||||||
volumes:
|
|
||||||
- minio_data:/data
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
minio_data:
|
|
||||||
@@ -1,60 +0,0 @@
|
|||||||
#!/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="minio-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
|
|
||||||
# -------------------------------------------------------------------------
|
|
||||||
|
|
||||||
version: '3.8'
|
|
||||||
|
|
||||||
services:
|
|
||||||
minio:
|
|
||||||
image: minio/minio:latest
|
|
||||||
container_name: minio
|
|
||||||
restart: unless-stopped
|
|
||||||
ports:
|
|
||||||
- "9000:9000"
|
|
||||||
- "9090:9090"
|
|
||||||
command: server /data --console-address ":9090"
|
|
||||||
environment:
|
|
||||||
- MINIO_ROOT_USER=minioadmin
|
|
||||||
- MINIO_ROOT_PASSWORD=minioadmin
|
|
||||||
volumes:
|
|
||||||
- minio_data:/data
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
minio_data:
|
|
||||||
|
|
||||||
INNER_EOF
|
|
||||||
|
|
||||||
# 4. Start Services
|
|
||||||
echo "🚀 Starting services..."
|
|
||||||
docker compose up -d
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "✅ Deployment Complete!"
|
|
||||||
echo "👉 Your minio stack is running."
|
|
||||||
Reference in New Issue
Block a user