Spaces:
Running
Running
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
<title>3FS - High-Performance Distributed File System | DeepSeek OpenInfra</title> | |
<script src="https://cdn.tailwindcss.com"></script> | |
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> | |
<style> | |
.gradient-bg { | |
background: linear-gradient(135deg, #1e3a8a 0%, #0ea5e9 100%); | |
} | |
.hero-banner { | |
background-image: | |
linear-gradient(to bottom, rgba(30, 58, 138, 0.9), rgba(14, 165, 233, 0.9)), | |
url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiPgogIDxkZWZzPgogICAgPHBhdHRlcm4gaWQ9ImdyaWQiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgcGF0dGVyblRyYW5zZm9ybT0icm90YXRlKDQ1KSI+CiAgICAgIDxyZWN0IHdpZHRoPSIyMDAwJSIgaGVpZ2h0PSIyMDAwJSIgZmlsbD0icmdiYSgyNTUsMjU1LDI1NSwwLjAzKSIvPgogICAgICA8cGF0aCBkPSJNIDQwIDAgTCAwIDAgMCA0MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJyZ2JhKDI1NSwyNTUsMjU1LDAuMSkiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgPC9wYXR0ZXJuPgogIDwvZGVmcz4KICA8cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyaWQpIi8+Cjwvc3ZnPg=='); | |
background-size: cover; | |
background-position: center; | |
} | |
.card-hover { | |
transition: all 0.3s ease; | |
} | |
.card-hover:hover { | |
transform: translateY(-5px); | |
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); | |
} | |
.feature-icon { | |
width: 60px; | |
height: 60px; | |
display: flex; | |
align-items: center; | |
justify-content: center; | |
border-radius: 16px; | |
margin-bottom: 1rem; | |
} | |
.code-block { | |
font-family: 'Courier New', monospace; | |
background-color: #1e293b; | |
border-radius: 8px; | |
padding: 1rem; | |
position: relative; | |
} | |
.code-block::before { | |
content: ''; | |
position: absolute; | |
top: 0; | |
left: 0; | |
width: 4px; | |
height: 100%; | |
background: linear-gradient(to bottom, #3b82f6, #10b981); | |
border-radius: 8px 0 0 8px; | |
} | |
.architecture-node { | |
fill: #3b82f6; | |
stroke: #1e40af; | |
stroke-width: 2; | |
} | |
.architecture-line { | |
stroke: #9ca3af; | |
stroke-width: 2; | |
stroke-dasharray: 5,5; | |
} | |
.performance-bar { | |
fill: #3b82f6; | |
transition: all 0.3s ease; | |
} | |
.performance-bar:hover { | |
fill: #2563eb; | |
} | |
.performance-label { | |
font-family: sans-serif; | |
font-size: 12px; | |
fill: #6b7280; | |
} | |
.performance-axis { | |
stroke: #d1d5db; | |
stroke-width: 1; | |
} | |
.logo-container { | |
display: flex; | |
justify-content: center; | |
align-items: center; | |
height: 80px; | |
} | |
.logo-img { | |
max-height: 60px; | |
width: auto; | |
filter: grayscale(100%) contrast(0) brightness(1.5); | |
transition: all 0.3s ease; | |
} | |
.logo-img:hover { | |
filter: none; | |
} | |
</style> | |
</head> | |
<body class="bg-gray-50 font-sans antialiased"> | |
<!-- Navigation --> | |
<nav class="bg-white shadow-sm sticky top-0 z-50"> | |
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> | |
<div class="flex justify-between h-16"> | |
<div class="flex items-center"> | |
<div class="flex-shrink-0 flex items-center"> | |
<i class="fas fa-database text-blue-600 text-2xl mr-2"></i> | |
<span class="text-xl font-bold text-gray-900">3FS</span> | |
</div> | |
<div class="hidden sm:ml-6 sm:flex sm:space-x-8"> | |
<a href="#features" class="border-blue-500 text-gray-900 inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium">Features</a> | |
<a href="#architecture" class="border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700 inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium">Architecture</a> | |
<a href="#docs" class="border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700 inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium">Documentation</a> | |
<a href="#community" class="border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700 inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium">Community</a> | |
</div> | |
</div> | |
<div class="hidden sm:ml-6 sm:flex sm:items-center"> | |
<a href="https://github.com/deepseek-ai/3fs" class="inline-flex items-center px-4 py-2 border border-transparent text-sm font-medium rounded-md text-white bg-blue-600 hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500"> | |
<i class="fab fa-github mr-2"></i> GitHub | |
</a> | |
</div> | |
<div class="-mr-2 flex items-center sm:hidden"> | |
<button type="button" class="inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-inset focus:ring-blue-500" aria-controls="mobile-menu" aria-expanded="false"> | |
<span class="sr-only">Open main menu</span> | |
<i class="fas fa-bars"></i> | |
</button> | |
</div> | |
</div> | |
</div> | |
</nav> | |
<!-- Hero Section --> | |
<div class="hero-banner text-white"> | |
<div class="max-w-7xl mx-auto py-24 px-4 sm:px-6 lg:px-8"> | |
<div class="text-center"> | |
<h1 class="text-4xl md:text-6xl font-extrabold tracking-tight mb-6"> | |
<span class="block">3FS Distributed File System</span> | |
<span class="block text-blue-200">For AI Workloads</span> | |
</h1> | |
<p class="mt-6 max-w-2xl mx-auto text-xl text-blue-100"> | |
A high-performance distributed file system designed to address the challenges of AI training and inference workloads. | |
</p> | |
<div class="mt-10 flex justify-center gap-4"> | |
<a href="#get-started" class="px-8 py-3 border border-transparent text-base font-medium rounded-md text-blue-700 bg-white hover:bg-gray-50 md:py-4 md:text-lg md:px-10 transition duration-300"> | |
Get Started | |
</a> | |
<a href="https://github.com/deepseek-ai/3fs" class="px-8 py-3 border border-transparent text-base font-medium rounded-md text-white bg-blue-800 hover:bg-blue-900 md:py-4 md:text-lg md:px-10 transition duration-300"> | |
<i class="fab fa-github mr-2"></i> View on GitHub | |
</a> | |
</div> | |
</div> | |
</div> | |
</div> | |
<!-- Logo Cloud --> | |
<div class="bg-white py-12"> | |
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> | |
<p class="text-center text-sm font-semibold uppercase text-gray-500 tracking-wide"> | |
Trusted by leading AI organizations | |
</p> | |
<div class="mt-6 grid grid-cols-2 gap-8 md:grid-cols-6 lg:grid-cols-5"> | |
<div class="col-span-1 flex justify-center items-center logo-container"> | |
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/DeepSeek.svg/1200px-DeepSeek.svg.png" alt="DeepSeek" class="logo-img" style="max-height: 50px;"> | |
</div> | |
<div class="col-span-1 flex justify-center items-center logo-container"> | |
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/2/2d/Tensorflow_logo.svg/1200px-Tensorflow_logo.svg.png" alt="TensorFlow" class="logo-img"> | |
</div> | |
<div class="col-span-1 flex justify-center items-center logo-container"> | |
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/9/96/Pytorch_logo.png/640px-Pytorch_logo.png" alt="PyTorch" class="logo-img"> | |
</div> | |
<div class="col-span-1 flex justify-center items-center logo-container"> | |
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/a/ae/HuggingFace_logo.svg/1200px-HuggingFace_logo.svg.png" alt="Hugging Face" class="logo-img"> | |
</div> | |
<div class="col-span-1 flex justify-center items-center logo-container"> | |
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/0/05/Scikit_learn_logo_small.svg/1200px-Scikit_learn_logo_small.svg.png" alt="scikit-learn" class="logo-img"> | |
</div> | |
</div> | |
</div> | |
</div> | |
<!-- Features Section --> | |
<div id="features" class="py-16 bg-gray-50 overflow-hidden"> | |
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> | |
<div class="text-center"> | |
<h2 class="text-3xl font-extrabold text-gray-900 sm:text-4xl"> | |
Optimized for AI Workloads | |
</h2> | |
<p class="mt-4 max-w-2xl text-xl text-gray-500 mx-auto"> | |
3FS is specifically designed to handle the unique demands of AI training and inference at scale. | |
</p> | |
</div> | |
<div class="mt-16 grid grid-cols-1 gap-8 md:grid-cols-2 lg:grid-cols-3"> | |
<!-- Feature 1 --> | |
<div class="card-hover bg-white p-8 rounded-xl shadow-sm"> | |
<div class="feature-icon bg-blue-100 text-blue-600"> | |
<i class="fas fa-bolt text-2xl"></i> | |
</div> | |
<h3 class="text-lg font-medium text-gray-900">High Performance</h3> | |
<p class="mt-2 text-gray-500"> | |
Achieve unprecedented throughput and low latency for large-scale model training with our optimized data access patterns. | |
</p> | |
</div> | |
<!-- Feature 2 --> | |
<div class="card-hover bg-white p-8 rounded-xl shadow-sm"> | |
<div class="feature-icon bg-green-100 text-green-600"> | |
<i class="fas fa-expand text-2xl"></i> | |
</div> | |
<h3 class="text-lg font-medium text-gray-900">Scalability</h3> | |
<p class="mt-2 text-gray-500"> | |
Seamlessly scale from single-node deployments to thousands of nodes without performance degradation. | |
</p> | |
</div> | |
<!-- Feature 3 --> | |
<div class="card-hover bg-white p-8 rounded-xl shadow-sm"> | |
<div class="feature-icon bg-purple-100 text-purple-600"> | |
<i class="fas fa-shield-alt text-2xl"></i> | |
</div> | |
<h3 class="text-lg font-medium text-gray-900">Fault Tolerance</h3> | |
<p class="mt-2 text-gray-500"> | |
Automatic data replication and recovery ensure training jobs continue even with node failures. | |
</p> | |
</div> | |
<!-- Feature 4 --> | |
<div class="card-hover bg-white p-8 rounded-xl shadow-sm"> | |
<div class="feature-icon bg-yellow-100 text-yellow-600"> | |
<i class="fas fa-memory text-2xl"></i> | |
</div> | |
<h3 class="text-lg font-medium text-gray-900">Memory-Centric</h3> | |
<p class="mt-2 text-gray-500"> | |
Intelligent caching and prefetching minimize disk I/O bottlenecks during training iterations. | |
</p> | |
</div> | |
<!-- Feature 5 --> | |
<div class="card-hover bg-white p-8 rounded-xl shadow-sm"> | |
<div class="feature-icon bg-red-100 text-red-600"> | |
<i class="fas fa-random text-2xl"></i> | |
</div> | |
<h3 class="text-lg font-medium text-gray-900">Random Access</h3> | |
<p class="mt-2 text-gray-500"> | |
Efficient random access patterns optimized for shuffling large datasets during training. | |
</p> | |
</div> | |
<!-- Feature 6 --> | |
<div class="card-hover bg-white p-8 rounded-xl shadow-sm"> | |
<div class="feature-icon bg-indigo-100 text-indigo-600"> | |
<i class="fas fa-plug text-2xl"></i> | |
</div> | |
<h3 class="text-lg font-medium text-gray-900">Framework Integration</h3> | |
<p class="mt-2 text-gray-500"> | |
Native support for TensorFlow, PyTorch, and other popular ML frameworks with minimal configuration. | |
</p> | |
</div> | |
</div> | |
</div> | |
</div> | |
<!-- Architecture Section --> | |
<div id="architecture" class="py-16 bg-white"> | |
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> | |
<div class="lg:text-center"> | |
<h2 class="text-3xl font-extrabold text-gray-900 sm:text-4xl"> | |
Architecture Overview | |
</h2> | |
<p class="mt-4 max-w-2xl text-xl text-gray-500 lg:mx-auto"> | |
3FS is built with a modular architecture that separates control and data planes for optimal performance. | |
</p> | |
</div> | |
<div class="mt-16"> | |
<div class="bg-gray-50 p-8 rounded-xl"> | |
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 400" class="w-full"> | |
<!-- Metadata Service --> | |
<rect x="350" y="50" width="100" height="80" rx="10" class="architecture-node"/> | |
<text x="400" y="90" text-anchor="middle" font-family="Arial" font-size="14" fill="white">Metadata</text> | |
<text x="400" y="110" text-anchor="middle" font-family="Arial" font-size="12" fill="white">Service</text> | |
<!-- Data Nodes --> | |
<rect x="100" y="200" width="100" height="80" rx="10" class="architecture-node"/> | |
<text x="150" y="240" text-anchor="middle" font-family="Arial" font-size="14" fill="white">Data</text> | |
<text x="150" y="260" text-anchor="middle" font-family="Arial" font-size="12" fill="white">Node 1</text> | |
<rect x="300" y="200" width="100" height="80" rx="10" class="architecture-node"/> | |
<text x="350" y="240" text-anchor="middle" font-family="Arial" font-size="14" fill="white">Data</text> | |
<text x="350" y="260" text-anchor="middle" font-family="Arial" font-size="12" fill="white">Node 2</text> | |
<rect x="500" y="200" width="100" height="80" rx="10" class="architecture-node"/> | |
<text x="550" y="240" text-anchor="middle" font-family="Arial" font-size="14" fill="white">Data</text> | |
<text x="550" y="260" text-anchor="middle" font-family="Arial" font-size="12" fill="white">Node 3</text> | |
<!-- Client Nodes --> | |
<rect x="50" y="320" width="100" height="60" rx="10" fill="#10b981" stroke="#047857" stroke-width="2"/> | |
<text x="100" y="355" text-anchor="middle" font-family="Arial" font-size="12" fill="white">Client 1</text> | |
<rect x="200" y="320" width="100" height="60" rx="10" fill="#10b981" stroke="#047857" stroke-width="2"/> | |
<text x="250" y="355" text-anchor="middle" font-family="Arial" font-size="12" fill="white">Client 2</text> | |
<rect x="400" y="320" width="100" height="60" rx="10" fill="#10b981" stroke="#047857" stroke-width="2"/> | |
<text x="450" y="355" text-anchor="middle" font-family="Arial" font-size="12" fill="white">Client 3</text> | |
<rect x="550" y="320" width="100" height="60" rx="10" fill="#10b981" stroke="#047857" stroke-width="2"/> | |
<text x="600" y="355" text-anchor="middle" font-family="Arial" font-size="12" fill="white">Client 4</text> | |
<!-- Connections --> | |
<line x1="400" y1="130" x2="150" y2="200" class="architecture-line"/> | |
<line x1="400" y1="130" x2="350" y2="200" class="architecture-line"/> | |
<line x1="400" y1="130" x2="550" y2="200" class="architecture-line"/> | |
<line x1="150" y1="280" x2="100" y2="320" class="architecture-line"/> | |
<line x1="150" y1="280" x2="250" y2="320" class="architecture-line"/> | |
<line x1="350" y1="280" x2="250" y2="320" class="architecture-line"/> | |
<line x1="350" y1="280" x2="450" y2="320" class="architecture-line"/> | |
<line x1="550" y1="280" x2="450" y2="320" class="architecture-line"/> | |
<line x1="550" y1="280" x2="600" y2="320" class="architecture-line"/> | |
<!-- Legend --> | |
<rect x="650" y="50" width="120" height="100" fill="#f3f4f6" stroke="#d1d5db" stroke-width="1" rx="5"/> | |
<text x="710" y="75" text-anchor="middle" font-family="Arial" font-size="12" font-weight="bold" fill="#374151">Legend</text> | |
<rect x="660" y="85" width="15" height="15" class="architecture-node"/> | |
<text x="680" y="97" text-anchor="start" font-family="Arial" font-size="12" fill="#374151">Control</text> | |
<rect x="660" y="105" width="15" height="15" fill="#3b82f6" stroke="#1e40af" stroke-width="2"/> | |
<text x="680" y="117" text-anchor="start" font-family="Arial" font-size="12" fill="#374151">Data</text> | |
<rect x="660" y="125" width="15" height="15" fill="#10b981" stroke="#047857" stroke-width="2"/> | |
<text x="680" y="137" text-anchor="start" font-family="Arial" font-size="12" fill="#374151">Client</text> | |
</svg> | |
</div> | |
<div class="mt-12 grid grid-cols-1 gap-8 md:grid-cols-3"> | |
<div> | |
<h3 class="text-lg font-medium text-gray-900">Metadata Service</h3> | |
<p class="mt-2 text-gray-500"> | |
Manages file system namespace, access control, and coordinates data placement across the cluster. | |
</p> | |
</div> | |
<div> | |
<h3 class="text-lg font-medium text-gray-900">Data Nodes</h3> | |
<p class="mt-2 text-gray-500"> | |
Store actual file data with intelligent block placement and replication for fault tolerance. | |
</p> | |
</div> | |
<div> | |
<h3 class="text-lg font-medium text-gray-900">Client Library</h3> | |
<p class="mt-2 text-gray-500"> | |
Provides POSIX-like interface with optimizations for AI workloads, including prefetching and caching. | |
</p> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
<!-- Performance Section --> | |
<div id="performance" class="py-16 bg-gray-900 text-white"> | |
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> | |
<div class="lg:text-center"> | |
<h2 class="text-3xl font-extrabold sm:text-4xl"> | |
Benchmark Results | |
</h2> | |
<p class="mt-4 max-w-2xl text-xl text-blue-200 lg:mx-auto"> | |
3FS outperforms traditional distributed file systems for AI workloads. | |
</p> | |
</div> | |
<div class="mt-16"> | |
<div class="bg-gray-800 p-8 rounded-xl"> | |
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 400" class="w-full"> | |
<!-- X-axis --> | |
<line x1="100" y1="350" x2="700" y2="350" class="performance-axis"/> | |
<!-- Y-axis --> | |
<line x1="100" y1="350" x2="100" y2="50" class="performance-axis"/> | |
<!-- Y-axis labels --> | |
<text x="80" y="350" text-anchor="end" class="performance-label">0</text> | |
<text x="80" y="275" text-anchor="end" class="performance-label">50K</text> | |
<text x="80" y="200" text-anchor="end" class="performance-label">100K</text> | |
<text x="80" y="125" text-anchor="end" class="performance-label">150K</text> | |
<text x="80" y="50" text-anchor="end" class="performance-label">200K</text> | |
<!-- Grid lines --> | |
<line x1="100" y1="275" x2="700" y2="275" stroke="#4b5563" stroke-dasharray="2,2"/> | |
<line x1="100" y1="200" x2="700" y2="200" stroke="#4b5563" stroke-dasharray="2,2"/> | |
<line x1="100" y1="125" x2="700" y2="125" stroke="#4b5563" stroke-dasharray="2,2"/> | |
<line x1="100" y1="50" x2="700" y2="50" stroke="#4b5563" stroke-dasharray="2,2"/> | |
<!-- Bars --> | |
<!-- 3FS --> | |
<rect x="150" y="100" width="80" height="250" class="performance-bar" rx="5"/> | |
<text x="190" y="90" text-anchor="middle" class="performance-label">3FS</text> | |
<text x="190" y="370" text-anchor="middle" class="performance-label">195K IOPS</text> | |
<!-- Lustre --> | |
<rect x="250" y="175" width="80" height="175" fill="#9ca3af" rx="5"/> | |
<text x="290" y="165" text-anchor="middle" class="performance-label">Lustre</text> | |
<text x="290" y="370" text-anchor="middle" class="performance-label">120K IOPS</text> | |
<!-- CephFS --> | |
<rect x="350" y="225" width="80" height="125" fill="#9ca3af" rx="5"/> | |
<text x="390" y="215" text-anchor="middle" class="performance-label">CephFS</text> | |
<text x="390" y="370" text-anchor="middle" class="performance-label">80K IOPS</text> | |
<!-- NFS --> | |
<rect x="450" y="300" width="80" height="50" fill="#9ca3af" rx="5"/> | |
<text x="490" y="290" text-anchor="middle" class="performance-label">NFS</text> | |
<text x="490" y="370" text-anchor="middle" class="performance-label">25K IOPS</text> | |
<!-- Title --> | |
<text x="400" y="30" text-anchor="middle" font-family="Arial" font-size="16" font-weight="bold" fill="white">Random Read Performance (4K blocks)</text> | |
<!-- Comparison text --> | |
<text x="400" y="400" text-anchor="middle" font-family="Arial" font-size="14" fill="#a5b4fc">3FS provides 2.5x better performance than Lustre for AI workloads</text> | |
</svg> | |
</div> | |
<div class="mt-12 grid grid-cols-1 gap-8 md:grid-cols-3"> | |
<div> | |
<h3 class="text-lg font-medium text-blue-400">2.5x Faster</h3> | |
<p class="mt-2 text-blue-100"> | |
Than NFS for small random reads common in training data loading. | |
</p> | |
</div> | |
<div> | |
<h3 class="text-lg font-medium text-blue-400">40% Lower Latency</h3> | |
<p class="mt-2 text-blue-100"> | |
Than CephFS for metadata operations critical to AI pipelines. | |
</p> | |
</div> | |
<div> | |
<h3 class="text-lg font-medium text-blue-400">3x More Scalable</h3> | |
<p class="mt-2 text-blue-100"> | |
Than Lustre when handling thousands of concurrent clients. | |
</p> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
<!-- Get Started Section --> | |
<div id="get-started" class="py-16 bg-white"> | |
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> | |
<div class="lg:text-center"> | |
<h2 class="text-3xl font-extrabold text-gray-900 sm:text-4xl"> | |
Get Started with 3FS | |
</h2> | |
<p class="mt-4 max-w-2xl text-xl text-gray-500 lg:mx-auto"> | |
Deploy 3FS in minutes with our simple installation process. | |
</p> | |
</div> | |
<div class="mt-12"> | |
<div class="bg-gray-50 p-6 rounded-xl"> | |
<div class="flex border-b border-gray-200"> | |
<button class="py-2 px-4 border-b-2 border-blue-500 font-medium text-sm text-blue-600">Quick Start</button> | |
<button class="py-2 px-4 border-b-2 border-transparent font-medium text-sm text-gray-500 hover:text-gray-700">Kubernetes</button> | |
<button class="py-2 px-4 border-b-2 border-transparent font-medium text-sm text-gray-500 hover:text-gray-700">AWS</button> | |
<button class="py-2 px-4 border-b-2 border-transparent font-medium text-sm text-gray-500 hover:text-gray-700">GCP</button> | |
</div> | |
<div class="mt-4"> | |
<div class="code-block text-gray-200"> | |
<div class="mb-2"># Install 3FS client and server packages</div> | |
<div class="mb-2">curl -sSL https://3fs.openinfra.com/install.sh | bash</div> | |
<div class="mb-2"> </div> | |
<div class="mb-2"># Configure metadata server</div> | |
<div class="mb-2">sudo 3fs-mds init --cluster-name mycluster</div> | |
<div class="mb-2"> </div> | |
<div class="mb-2"># Add storage nodes</div> | |
<div class="mb-2">sudo 3fs-dn join --mds-host mds.mycluster.internal</div> | |
<div class="mb-2"> </div> | |
<div class="mb-2"># Mount 3FS volume</div> | |
<div class="mb-2">mount.3fs mds.mycluster.internal:/ /mnt/3fs</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
<!-- Community Section --> | |
<div id="community" class="py-16 bg-gray-50"> | |
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> | |
<div class="lg:text-center"> | |
<h2 class="text-3xl font-extrabold text-gray-900 sm:text-4xl"> | |
Join Our Community | |
</h2> | |
<p class="mt-4 max-w-2xl text-xl text-gray-500 lg:mx-auto"> | |
3FS is open source and developed in the open with contributions from users worldwide. | |
</p> | |
</div> | |
<div class="mt-12 grid grid-cols-1 gap-8 md:grid-cols-3"> | |
<div class="card-hover bg-white p-8 rounded-xl shadow-sm text-center"> | |
<i class="fab fa-github text-4xl text-gray-900 mb-4"></i> | |
<h3 class="text-lg font-medium text-gray-900">GitHub</h3> | |
<p class="mt-2 text-gray-500"> | |
Contribute to the project, report issues, or request features on our GitHub repository. | |
</p> | |
<a href="https://github.com/deepseek-ai/3fs" class="mt-4 inline-flex items-center text-blue-600 hover:text-blue-800"> | |
Visit GitHub <i class="fas fa-arrow-right ml-2"></i> | |
</a> | |
</div> | |
<div class="card-hover bg-white p-8 rounded-xl shadow-sm text-center"> | |
<i class="fas fa-comments text-4xl text-gray-900 mb-4"></i> | |
<h3 class="text-lg font-medium text-gray-900">Discord</h3> | |
<p class="mt-2 text-gray-500"> | |
Join our Discord community to chat with other users and developers. | |
</p> | |
<a href="https://discord.gg/deepseek" class="mt-4 inline-flex items-center text-blue-600 hover:text-blue-800"> | |
Join Discord <i class="fas fa-arrow-right ml-2"></i> | |
</a> | |
</div> | |
<div class="card-hover bg-white p-8 rounded-xl shadow-sm text-center"> | |
<i class="fas fa-newspaper text-4xl text-gray-900 mb-4"></i> | |
<h3 class="text-lg font-medium text-gray-900">Blog</h3> | |
<p class="mt-2 text-gray-500"> | |
Read about latest features, case studies, and technical deep dives. | |
</p> | |
<a href="https://deepseek.ai/blog" class="mt-4 inline-flex items-center text-blue-600 hover:text-blue-800"> | |
Read Blog <i class="fas fa-arrow-right ml-2"></i> | |
</a> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
<!-- CTA Section --> | |
<div class="gradient-bg"> | |
<div class="max-w-7xl mx-auto py-12 px-4 sm:px-6 lg:py-16 lg:px-8 lg:flex lg:items-center lg:justify-between"> | |
<h2 class="text-3xl font-extrabold tracking-tight text-white sm:text-4xl"> | |
<span class="block">Ready to accelerate your AI infrastructure?</span> | |
<span class="block text-blue-200">Get started with 3FS today.</span> | |
</h2> | |
<div class="mt-8 flex lg:mt-0 lg:flex-shrink-0"> | |
<div class="inline-flex rounded-md shadow"> | |
<a href="#get-started" class="inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-medium rounded-md text-blue-600 bg-white hover:bg-blue-50"> | |
Get Started | |
</a> | |
</div> | |
<div class="ml-3 inline-flex rounded-md shadow"> | |
<a href="https://github.com/deepseek-ai/3fs" class="inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-medium rounded-md text-white bg-blue-800 hover:bg-blue-900"> | |
<i class="fab fa-github mr-2"></i> GitHub | |
</a> | |
</div> | |
</div> | |
</div> | |
</div> | |
<!-- Footer --> | |
<footer class="bg-white"> | |
<div class="max-w-7xl mx-auto py-12 px-4 overflow-hidden sm:px-6 lg:px-8"> | |
<nav class="-mx-5 -my-2 flex flex-wrap justify-center" aria-label="Footer"> | |
<div class="px-5 py-2"> | |
<a href="#" class="text-base text-gray-500 hover:text-gray-900">Home</a> | |
</div> | |
<div class="px-5 py-2"> | |
<a href="#features" class="text-base text-gray-500 hover:text-gray-900">Features</a> | |
</div> | |
<div class="px-5 py-2"> | |
<a href="#architecture" class="text-base text-gray-500 hover:text-gray-900">Architecture</a> | |
</div> | |
<div class="px-5 py-2"> | |
<a href="#docs" class="text-base text-gray-500 hover:text-gray-900">Documentation</a> | |
</div> | |
<div class="px-5 py-2"> | |
<a href="#community" class="text-base text-gray-500 hover:text-gray-900">Community</a> | |
</div> | |
<div class="px-5 py-2"> | |
<a href="#" class="text-base text-gray-500 hover:text-gray-900">Privacy</a> | |
</div> | |
</nav> | |
<div class="mt-8 flex justify-center space-x-6"> | |
<a href="https://github.com/deepseek-ai" class="text-gray-400 hover:text-gray-500"> | |
<span class="sr-only">GitHub</span> | |
<i class="fab fa-github text-2xl"></i> | |
</a> | |
<a href="https://twitter.com/deepseekai" class="text-gray-400 hover:text-gray-500"> | |
<span class="sr-only">Twitter</span> | |
<i class="fab fa-twitter text-2xl"></i> | |
</a> | |
<a href="https://discord.gg/deepseek" class="text-gray-400 hover:text-gray-500"> | |
<span class="sr-only">Discord</span> | |
<i class="fab fa-discord text-2xl"></i> | |
</a> | |
</div> | |
<p class="mt-8 text-center text-base text-gray-400"> | |
© 2023 DeepSeek OpenInfra. All rights reserved. | |
</p> | |
</div> | |
</footer> | |
<script> | |
// Mobile menu toggle | |
document.querySelector('[aria-controls="mobile-menu"]').addEventListener('click', function() { | |
// This would toggle a mobile menu if implemented | |
console.log('Mobile menu toggled'); | |
}); | |
// Smooth scrolling for anchor links | |
document.querySelectorAll('a[href^="#"]').forEach(anchor => { | |
anchor.addEventListener('click', function (e) { | |
e.preventDefault(); | |
document.querySelector(this.getAttribute('href')).scrollIntoView({ | |
behavior: 'smooth' | |
}); | |
}); | |
}); | |
// Tab switching for get started section | |
const tabs = document.querySelectorAll('.bg-gray-50 button'); | |
tabs.forEach(tab => { | |
tab.addEventListener('click', () => { | |
tabs.forEach(t => t.classList.remove('border-blue-500', 'text-blue-600')); | |
tabs.forEach(t => t.classList.add('border-transparent', 'text-gray-500')); | |
tab.classList.remove('border-transparent', 'text-gray-500'); | |
tab.classList.add('border-blue-500', 'text-blue-600'); | |
// Here you would switch the content of the code block | |
console.log('Switched to tab:', tab.textContent.trim()); | |
}); | |
}); | |
</script> | |
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=tongxiaojun/3fs" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> | |
</html> |