jortage.com Open in urlscan Pro
192.99.194.128  Public Scan

Submitted URL: http://blob.jortage.com/
Effective URL: https://jortage.com/
Submission: On March 24 via api from US — Scanned from DE

Form analysis 0 forms found in the DOM

Text Content

JORTAGE COMMUNAL CLOUD

Jortage is a communal project providing object storage and hosting. Our model is
to pool together hosting expenses of our members to allow pay-what-you-can usage
and to reduce everyone's costs overall.

Our first project, the Jortage Storage Pool, designed for fediverse instances,
has been fairly successful and has saved 20+ instance admins huge amounts off
their storage fees, and often allowed them to move off slow and frequently-down
cheap providers onto our system powered by Fastly's global CDN, graciously
provided to us for free via their Fast Forward program.

We are currently receiving ~US$152.37 per month through The Donatatron and our
(deprecated) OpenCollective. The various bolded metrics on this page are updated
every day at midnight Pacific time.

The below Magic Tabs™ work without JavaScript.

--------------------------------------------------------------------------------


STORAGE POOL


HOSTING

The Jortage Storage Pool is an S3-compatible frontend to Backblaze + Fastly that
performs file-level deduplication, designed for fediverse instances. File-level
deduplication is invaluable in the fediverse, as media posted by any user gets
eagerly copied to any Mastodon instance that receives it, and has saved our 84
members 52.68% on storage.

More details

When media is uploaded to Jortage, it is received by our "ingest server",
running the open-source Jortage Storage Pool Manager, or poolmgr for short.
Poolmgr hashes media being uploaded to it on-the-fly with SHA-512, while
simultaneously streaming it to a temporary file. Once the entire file has been
uploaded, poolmgr checks if this SHA-512 hash has been uploaded before. If so,
the data is discarded. If not, it is uploaded to our backing store (Backblaze,
currently). In both cases, the hash is then associated with the requested path
in the database in the "name map".

Ultimately, this means if the same file is uploaded 100 times, the total extra
used space is on the order of handfuls of bytes rather than 100 copies of the
actual file. This is invaluable for use with Mastodon, as it creates local
cached copies of all media it receives. As well, local storage will run out and
not be cost-effective to expand if your instance is sufficiently large, even
without remote media to bloat it.

Let's talk about a simplified real-world example. Someone with 1,000 followers,
across 100 instances, makes a post with 4 media attachments, 2MB each. Those 100
instances are pushed the status by the original instance, and they all
immediately download it from the original instance. This causes a surge of
traffic, totalling 800MB. All these instances then upload this media to their
storage provider, and if multiple of those instances are using Backblaze, then
Backblaze themselves performs deduplication, but doesn't share the benefit. The
fediverse has just grown by 804MB, and any Wasabi-using instances have to pay
for that for at least 90 days, even if they delete it.

Let's say 10 of those instances use the Jortage Storage Pool, and so does the
originating instance. The standard case has the same surge in traffic, but
instead of 80MB being stored for those 10 instances, 0MB is stored, because
Jortage already has the files. Additionally, the traffic surge is absorbed by
our CDN, being designed for precisely this kind of issue. If the original
instance doesn't use Jortage, then only 8MB is stored. The traffic surge is
difficult to prevent due to how Mastodon's media upload system works, and the
facts of how S3 works. However, if we're willing to modify how Mastodon's media
upload process works...

The better case is if instances use the Jortage Rivet API; in this case,
instances simply send the URL of the original file to our ingest server, which
then either downloads the file on their behalf and stores it in the pool, or
recognizes the file has been downloaded recently and skips the download
entirely, bringing the cost of any-to-Jortage federation from N to 1. Rivet also
supports a cheaper upload API, where the instance calculates the SHA-512 before
making the request, and never uploads the file if it's already in the pool.

Note: Rivet is currently experimental and a Mastodon "plugin" to make use of it
is in the works.

The Storage Pool project is currently storing 27.40TiB across 91.20 million
objects for all our members. Without deduplication, it would be storing 57.90TiB
across 206.28 million objects.

Our storage cost from Backblaze totals US$180.77 per month. Without
deduplication, we'd be paying US$382.04.


STORAGE POOL


HOSTING

Hosting is pretty basic; LXC containers or KVM virtual machines on a cheap box,
with more being added in the future as needed.

The server costs us US$100 per month (due to OVH price increases in late 2022)
and is hosted in eastern Canada.

--------------------------------------------------------------------------------

To join a Jortage project, send an email to hello@jortage.com.

We reserve the right to reject anyone for any reason, even if they are donating.
If joining the Storage Pool project, you must include a link to the fediverse
instance you're asking to have storage for, with an up-to-date and acceptable
rules page. Additionally, please send emails from the contact admin email listed
on your instance — it makes it a lot easier to verify you. If joining the
Hosting project, you must describe what you want to use the service for. If
accepted, we'll send you back setup instructions.

--------------------------------------------------------------------------------


As of February 2023, Jortage is accelerated by Fastly, provided for free via
their Fast Forward program.


SOME NOTES ON PERMISSIBLE USAGE, AVAILABILITY, AND PRIVACY

This entire section is subject to change without notice. Note that Jortage
services are run by volunteers on a best-effort basis. There are no guarantees
or warranties of any sort. Jortage may go offline or revoke a specific person's
access without notice at any time and there are no guarantees on when it may or
if it will return. Using the services is entirely at your own risk. Data is
stored on Backblaze B2, and their terms of service and privacy policy also apply
here. Content is served by our CDN, Fastly. Their data processing terms and
acceptable use policies also apply. We will comply with legal data removal
requests submitted to our email, hello@jortage.com, to the best of our
abilities. IPs and request paths are retained in logs for at most 3 days. User
agent information (what browser/app and OS is used) may be retained indefinitely
to provide useful analytics to the wider fediverse. Users of the service affirm
they will not submit illegal or objectionable content via our APIs, and are
solely responsible for ensuring their use of the API is in compliance with any
and all applicable local, state, federal, or international laws, rules, and
regulations. By using the service, you agree with these terms and any future
version.


ASSETS


BANNER (290X130, SVG)

Created by Una

<a href="https://jortage.com"> <img style="width: 290px; height: 130px"
src="https://blob.jortage.com/jortage-banner.svg" alt="This instance's media is
powered by Jortage Storage Pool — lightning-fast pay-what-you-can media storage
for Fediverse instances"/> </a>


BADGE (141X188, SVG)

Created by Una based on a design by Ava

<a href="https://jortage.com"> <img style="width: 141px; height: 188px"
src="https://blob.jortage.com/jortage-badge-tall.svg" alt="Powered By Denim"/>
</a>
nazi punks fuck off

Copyright © 2020 – 2022 unascribed