2022-01-24 17:36:50 +00:00
|
|
|
|
{% extends "base.html" %}
|
|
|
|
|
|
|
|
|
|
{% block content %}
|
|
|
|
|
<section class="section" id="home-section">
|
|
|
|
|
<div>
|
|
|
|
|
|
2022-01-26 13:44:47 +00:00
|
|
|
|
<div class="flex flex-col items-center justify-center py-12 px-12 xl:px-0">
|
2022-01-28 12:14:24 +00:00
|
|
|
|
<h1 class="hidden">{{config.extra.organization.name}}</h1>
|
|
|
|
|
<img src="{{ config.extra.organization.logo }}" width="220px" alt="{{config.extra.organization.name}}"/>
|
2022-01-26 13:44:47 +00:00
|
|
|
|
<p class="text-gray-500 leading-10 pt-4 text-xl text-center">{{ config.extra.organization.description }}</p>
|
2022-01-27 17:10:37 +00:00
|
|
|
|
<div class="max-w-7xl mx-auto grid grid-cols-1 md:grid-cols-3 gap-x-32 py-12">
|
2022-01-28 00:02:02 +00:00
|
|
|
|
<div class="group flex flex-col items-center justify-center p-2">
|
|
|
|
|
<img src="{{ get_url(path='images/host.png') }}" class="transform group-hover:translate-y-2 transition duration-500">
|
2022-01-29 13:42:09 +00:00
|
|
|
|
<span class="text-xl text-gray-700 font-semibold mt-4 transform group-hover:-translate-y-1 transition duration-500 whitespace-nowrap">Host a Website</span>
|
2022-01-24 17:36:50 +00:00
|
|
|
|
</div>
|
2022-01-26 13:44:47 +00:00
|
|
|
|
<div class="group flex flex-col items-center justify-center p-2">
|
2022-01-27 17:10:37 +00:00
|
|
|
|
<img src="{{ get_url(path='images/store.png') }}" class="transform group-hover:translate-y-2 transition duration-500">
|
2022-01-29 13:42:09 +00:00
|
|
|
|
<span class="text-xl text-gray-700 font-semibold mt-4 transform group-hover:-translate-y-1 transition duration-500 whitespace-nowrap">Store Media</span>
|
2022-01-24 17:36:50 +00:00
|
|
|
|
</div>
|
2022-01-28 00:02:02 +00:00
|
|
|
|
<div class="group flex flex-col items-center justify-center p-2">
|
2022-01-27 17:10:37 +00:00
|
|
|
|
<img src="{{ get_url(path='images/backup.png') }}" class="transform group-hover:translate-y-2 transition duration-500">
|
2022-01-29 13:42:09 +00:00
|
|
|
|
<span class="text-xl text-gray-700 font-semibold mt-4 transform group-hover:-translate-y-1 transition duration-500 whitespace-nowrap">Backup Target</span>
|
2022-01-24 17:36:50 +00:00
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
2022-01-28 15:05:30 +00:00
|
|
|
|
<div class="w-full flex flex-col items-center justify-center border-b">
|
2022-01-31 18:13:50 +00:00
|
|
|
|
<div id="map-about" class="w-full shadow-lg mx-auto flex flex-col lg:flex-row items-center justify-around lg:space-x-12 py-4 text-sm text-gray-700 border-t">
|
|
|
|
|
<p class="text-garage-orange text-2xl tracking-wide">Made for redundancy</p>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="map-container" class="relative w-full shadow-inner border-b">
|
|
|
|
|
<div class="absolute top-0 left-1/2 transform -translate-x-1/2 w-16 overflow-hidden inline-block">
|
|
|
|
|
<div class="h-8 w-8 bg-white -rotate-45 transform origin-top-left shadow-md"></div>
|
|
|
|
|
</div>
|
2022-01-28 15:05:30 +00:00
|
|
|
|
</div>
|
2022-01-29 13:42:09 +00:00
|
|
|
|
<div id="map-legend-container" class="max-w-7xl mx-auto flex flex-col lg:flex-row items-center justify-around lg:space-x-12 py-2 text-sm text-gray-700">
|
2022-01-28 15:05:30 +00:00
|
|
|
|
<div>
|
|
|
|
|
<p class="text-base text-gray-600">Each chunk of data is replicated in 3 zones</p>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="flex items-center space-x-2">
|
|
|
|
|
<img class="select-none" src="{{ get_url(path='icons/servers.svg') }}" width="48px">
|
|
|
|
|
<span>Zone (multiple servers)</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="flex items-center space-x-2">
|
|
|
|
|
<img class="select-none" src="{{ get_url(path='icons/datachunks.svg') }}" width="48px">
|
|
|
|
|
<span>Chunks of data</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2022-01-24 17:36:50 +00:00
|
|
|
|
|
2022-01-29 13:42:09 +00:00
|
|
|
|
<div class="grid grid-cols-1 xl:grid-cols-2 gap-x-0 xl:gap-x-12 gap-y-24 text-garage-gray font-light bg-gray-100 py-12 px-4 md:px-0 w-full shadow-inner">
|
2022-01-27 17:10:37 +00:00
|
|
|
|
<div class="flex flex-col items-center justify-start space-y-2">
|
2022-01-29 13:42:09 +00:00
|
|
|
|
<h2 class="mb-2 text-xl text-center md:text-2xl font-bold text-garage-orange leading-5">Our Goals</h2>
|
2022-01-24 17:36:50 +00:00
|
|
|
|
<div class="w-8 h-1 bg-garage-orange"></div>
|
2022-01-31 11:03:25 +00:00
|
|
|
|
<p class="text-center leading-5 italic">We made it lightweight and kept the efficiency in mind:</p>
|
2022-01-24 17:36:50 +00:00
|
|
|
|
<ul class="list-style-none font-semibold flex flex-col items-center justify-center py-4">
|
|
|
|
|
<li class="py-1.5">
|
|
|
|
|
As self-contained as possible
|
|
|
|
|
</li>
|
|
|
|
|
<div class="w-2 h-2 rounded-full bg-garage-orange"></div>
|
|
|
|
|
<li class="py-1.5">
|
|
|
|
|
Easy to set up
|
|
|
|
|
</li>
|
|
|
|
|
<div class="w-2 h-2 rounded-full bg-garage-orange"></div>
|
2022-01-31 11:03:25 +00:00
|
|
|
|
<li class="py-1.5">
|
|
|
|
|
Made for multi-datacenter deployments
|
|
|
|
|
</li>
|
|
|
|
|
<div class="w-2 h-2 rounded-full bg-garage-orange"></div>
|
2022-01-24 17:36:50 +00:00
|
|
|
|
<li class="py-1.5 text-center">
|
|
|
|
|
Highly resilient to<br>
|
|
|
|
|
<div class="font-normal">
|
|
|
|
|
<span>network failures</span>,
|
|
|
|
|
<span>network latency</span><br>
|
|
|
|
|
<span>disk failures</span>,
|
|
|
|
|
<span>sysadmin failures</span>
|
|
|
|
|
</div>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
|
2022-01-27 17:10:37 +00:00
|
|
|
|
<div class="flex flex-col items-center justify-start space-y-2">
|
2022-01-29 13:42:09 +00:00
|
|
|
|
<h2 class="mb-2 text-xl text-center md:text-2xl font-bold text-garage-orange leading-5">Keeping requirements low</h2>
|
2022-01-24 17:36:50 +00:00
|
|
|
|
<div class="w-8 h-1 bg-garage-orange"></div>
|
|
|
|
|
<p class="text-center leading-5 italic">
|
2022-02-01 09:56:02 +00:00
|
|
|
|
We worked hard to keep requirements as low as possible:
|
2022-01-24 17:36:50 +00:00
|
|
|
|
</p>
|
2022-01-26 13:44:47 +00:00
|
|
|
|
<ul class="text-center list-style-none flex flex-col space-y-2 justify-start py-4">
|
|
|
|
|
<li class="flex flex-col md:flex-row items-center justify-start">
|
2022-01-24 17:36:50 +00:00
|
|
|
|
<div class="flex items-center space-x-2 w-max whitespace-nowrap bg-gray-200 shadow-inner py-0.5 px-1.5 rounded-md">
|
|
|
|
|
<img src="{{ get_url(path='icons/cpu.svg') }}" width="24px">
|
2022-01-30 10:25:02 +00:00
|
|
|
|
<span class="font-normal">CPU</span>
|
2022-01-24 17:36:50 +00:00
|
|
|
|
</div>
|
|
|
|
|
<span class="px-2">Any x86_64 CPU from the last 10 years, ARMv7 or ARMv8</span>
|
|
|
|
|
</li>
|
2022-01-26 13:44:47 +00:00
|
|
|
|
<li class="flex flex-col md:flex-row items-center justify-start">
|
2022-01-24 17:36:50 +00:00
|
|
|
|
<div class="flex items-center space-x-2 w-max whitespace-nowrap bg-gray-200 shadow-inner py-0.5 px-1.5 rounded-md">
|
|
|
|
|
<img src="{{ get_url(path='icons/ram.svg') }}" width="24px">
|
2022-01-30 10:25:02 +00:00
|
|
|
|
<span class="font-normal">RAM</span>
|
2022-01-24 17:36:50 +00:00
|
|
|
|
</div>
|
|
|
|
|
<span class="px-2">1 GB</span>
|
|
|
|
|
</li>
|
2022-01-26 13:44:47 +00:00
|
|
|
|
<li class="flex flex-col md:flex-row items-center justify-start">
|
2022-01-24 17:36:50 +00:00
|
|
|
|
<div class="flex items-center space-x-2 w-max whitespace-nowrap bg-gray-200 shadow-inner py-0.5 px-1.5 rounded-md">
|
|
|
|
|
<img src="{{ get_url(path='icons/disk.svg') }}" width="24px">
|
2022-01-30 10:25:02 +00:00
|
|
|
|
<span class="font-normal">Disk space</span>
|
2022-01-24 17:36:50 +00:00
|
|
|
|
</div>
|
|
|
|
|
<span class="px-2">At least 16 GB</span>
|
|
|
|
|
</li>
|
2022-01-26 13:44:47 +00:00
|
|
|
|
<li class="flex flex-col md:flex-row items-center justify-start">
|
2022-01-24 17:36:50 +00:00
|
|
|
|
<div class="flex items-center space-x-2 w-max whitespace-nowrap bg-gray-200 shadow-inner py-0.5 px-1.5 rounded-md">
|
|
|
|
|
<img src="{{ get_url(path='icons/network.svg') }}" width="24px">
|
2022-01-30 10:25:02 +00:00
|
|
|
|
<span class="font-normal">Network</span>
|
2022-01-24 17:36:50 +00:00
|
|
|
|
</div>
|
|
|
|
|
<span class="px-2">200 ms or less, 50 Mbps or more</span>
|
|
|
|
|
</li>
|
2022-01-26 13:44:47 +00:00
|
|
|
|
<li class="flex flex-col items-center md:items-start justify-center">
|
2022-01-24 17:36:50 +00:00
|
|
|
|
<div class="flex items-center space-x-2 w-max whitespace-nowrap bg-gray-200 shadow-inner py-0.5 px-1.5 rounded-md">
|
|
|
|
|
<img src="{{ get_url(path='icons/hardware.svg') }}" width="24px">
|
2022-01-30 10:25:02 +00:00
|
|
|
|
<span class="font-normal">Heterogeneous hardware</span>
|
2022-01-24 17:36:50 +00:00
|
|
|
|
</div>
|
|
|
|
|
<span class="px-2">Build a cluster with whatever second-hand machines are available</span>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
|
2022-01-27 17:10:37 +00:00
|
|
|
|
<div class="flex flex-col items-center justify-start space-y-2 px-6 xl:px-0">
|
2022-01-29 13:42:09 +00:00
|
|
|
|
<h2 class="mb-2 text-xl text-center md:text-2xl font-bold text-garage-orange leading-5">Data resiliency for everyone</h2>
|
2022-01-24 17:36:50 +00:00
|
|
|
|
<div class="w-8 h-1 bg-garage-orange"></div>
|
|
|
|
|
<p class="text-center leading-5 italic pb-4">
|
2022-01-31 11:03:25 +00:00
|
|
|
|
We built Garage to suit your existing infrastructure:
|
2022-01-24 17:36:50 +00:00
|
|
|
|
</p>
|
|
|
|
|
<p class="font-normal">
|
|
|
|
|
Garage implements the Amazon S3 API<br>and thus is already compatible with many applications.
|
|
|
|
|
</p>
|
|
|
|
|
<ul class="grid grid-cols-3 gap-6 py-4 px-8">
|
|
|
|
|
<li class="flex items-center justify-start">
|
|
|
|
|
<a href="https://nextcloud.com/" target="_blank" title="Nextcloud">
|
|
|
|
|
<img class="h-20 w-20" src="{{ get_url(path='images/nextcloud-logo.svg') }}" alt="Nextcloud">
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="flex items-center justify-start">
|
|
|
|
|
<a href="https://element.io/" target="_blank" title="Matrix">
|
|
|
|
|
<img class="h-20 w-20" src="{{ get_url(path='images/matrix-logo.svg') }}" alt="Matrix">
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="flex items-center justify-start">
|
|
|
|
|
<a href="https://cyberduck.io/" target="_blank" title="Cyberduck">
|
2022-01-30 10:25:02 +00:00
|
|
|
|
<img class="w-20" src="{{ get_url(path='images/cyberduck-logo.png') }}" alt="Cyberduck">
|
2022-01-24 17:36:50 +00:00
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="flex items-center justify-start">
|
|
|
|
|
<a href="https://mastodon.social/" target="_blank" title="Mastodon">
|
|
|
|
|
<img class="h-20 w-20" src="{{ get_url(path='images/mastodon-logo.svg') }}" alt="Mastodon">
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="flex items-center justify-start">
|
|
|
|
|
<a href="https://rclone.org/" target="_blank" title="Rclone">
|
|
|
|
|
<img class="h-20 w-20" src="{{ get_url(path='images/rclone-logo.svg') }}" alt="Rclone">
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="flex items-center justify-start">
|
|
|
|
|
<a href="https://joinpeertube.org/" target="_blank" title="PeerTube">
|
|
|
|
|
<img class="h-20 w-20" src="{{ get_url(path='images/peertube-logo.svg') }}" alt="PeerTube">
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
|
2022-01-27 17:10:37 +00:00
|
|
|
|
<div class="flex flex-col items-center justify-start space-y-2 px-6 xl:px-0">
|
2022-01-29 13:42:09 +00:00
|
|
|
|
<h2 class="mb-2 text-xl text-center md:text-2xl font-bold text-garage-orange leading-5">Standing on the shoulders of giants</h2>
|
2022-01-24 17:36:50 +00:00
|
|
|
|
<div class="w-8 h-1 bg-garage-orange"></div>
|
2022-01-26 13:44:47 +00:00
|
|
|
|
<p class="text-center leading-5 italic">
|
2022-02-01 09:56:02 +00:00
|
|
|
|
Garage leverages insights from recent research in distributed systems:
|
2022-01-26 13:44:47 +00:00
|
|
|
|
</p>
|
2022-01-24 17:36:50 +00:00
|
|
|
|
<ul class="text-center list-style-none flex flex-col items-center py-4">
|
|
|
|
|
<li>
|
|
|
|
|
<a href="#" class="font-semibold hover:text-garage-orange">Dynamo: Amazon’s Highly Available Key-value Store</a>
|
|
|
|
|
by DeCandia et al.
|
|
|
|
|
</li>
|
|
|
|
|
<li>
|
|
|
|
|
<a href="#" class="font-semibold hover:text-garage-orange">Conflict-Free Replicated Data Types</a>
|
|
|
|
|
by Shapiro et al.
|
|
|
|
|
</li>
|
|
|
|
|
<li>
|
|
|
|
|
<a href="#" class="font-semibold hover:text-garage-orange">Maglev: A Fast and Reliable Software Network Load Balancer</a>
|
|
|
|
|
by Eisenbud et al.
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
2022-01-28 12:14:24 +00:00
|
|
|
|
</div>
|
2022-01-24 17:36:50 +00:00
|
|
|
|
|
2022-01-28 12:14:24 +00:00
|
|
|
|
<div class="w-full flex flex-col items-center justify-center shadow-inner"></div>
|
2022-01-29 13:42:09 +00:00
|
|
|
|
<div class="px-8 py-24 space-y-8 text-garage-gray max-w-4xl mx-auto">
|
2022-01-28 12:14:24 +00:00
|
|
|
|
<h2 class="text-2xl text-garage-orange font-semibold">Sponsors and funding</h2>
|
|
|
|
|
<p>
|
2022-02-01 09:56:02 +00:00
|
|
|
|
The <a class="text-garage-orange underline" href="https://deuxfleurs.fr/" target="_blank">Deuxfleurs association</a>
|
|
|
|
|
has received a grant from <a class="text-garage-orange underline" href="https://pointer.ngi.eu/" target="_blank">NGI POINTER</a>,
|
2022-01-28 12:14:24 +00:00
|
|
|
|
to fund 3 people working on Garage full-time for a year : from October 2021 to September 2022.
|
|
|
|
|
</p>
|
2022-01-31 15:56:57 +00:00
|
|
|
|
<img src="{{ get_url(path='images/ngi-pointer-eu.png') }}" class="w-2/3 mx-auto" alt="NGI Pointers">
|
2022-01-28 12:14:24 +00:00
|
|
|
|
<p class="italic">
|
|
|
|
|
This project has received funding from the European Union's Horizon 2021 research and innovation programme
|
|
|
|
|
within the framework of the NGI-POINTER Project funded under grant agreement N° 871528.
|
|
|
|
|
</p>
|
2022-01-24 17:36:50 +00:00
|
|
|
|
</div>
|
2022-01-28 12:14:24 +00:00
|
|
|
|
</div>
|
|
|
|
|
|
2022-01-24 17:36:50 +00:00
|
|
|
|
</div>
|
|
|
|
|
</section>
|
|
|
|
|
{% endblock %}
|