Alarik is a free, open source storage solutions project written in Swift and released under Apache-2.0. It has 538 GitHub stars, 6 forks and 4 open issues, and was last pushed 15 days ago. On this registry it ranks #7 of 8 tracked projects in Storage Solutions, with 5 head-to-head comparisons available. It gained 5 stars over the last 6 tracked days.

What is Alarik?

Alarik is a high-performance, self-hosted S3-compatible object storage system written in Swift and licensed under Apache 2.0, built for developers and platform teams that want an open alternative to MinIO and RustFS.

What it is

Alarik is a distributed, S3-compatible object storage system implemented in Swift and released under the Apache 2.0 license. It combines an S3-compatible API with a web console, local and OIDC-based authentication, per-user S3 access keys, bucket policies, event webhooks, and cross-target bucket replication. The project homepage is https://alarik.io and the documentation lives at https://alarik.io/docs. The README describes the goals as speed, developer-friendly ergonomics, and a modern cloud-native core.

The concrete problem it addresses is dependency on a single reference implementation for S3-compatible storage. According to the README, recent shifts in the ecosystem, especially surrounding MinIO, exposed structural, licensing, and philosophical fragility that many teams had overlooked. Alarik exists to provide a modern, transparent, community-driven alternative: a self-hosted, high-speed S3 system with no licensing traps, no moving goalposts, and no enterprise upsell. In day-to-day terms, it replaces MinIO or RustFS as the S3 endpoint an organization runs itself. The topics list confirms the framing, naming minio and rustfs directly alongside amazon-s3, s3-bucket, s3-cluster, s3-storage, ai-storage, bigdata, filesystem, and object-storage.

Key capabilities

  • S3-compatible object operations covering Put, Get, Head, Delete, Copy, and multi-object delete, plus multipart uploads with create, upload part, complete, abort, and list parts/uploads.
  • Bucket versioning with enabled and suspended states, version listing, and delete markers, alongside lifecycle rules for expiration, noncurrent version expiration, and incomplete multipart cleanup.
  • SigV4 authentication for header and query auth, including chunked (streaming) payloads, presigned URLs with up to 7-day expiry, conditional requests on If-Match, If-None-Match, If-Modified-Since, and If-Unmodified-Since, and range reads with suffix ranges and correct 416 semantics.
  • Bucket policies expressed as S3-compatible JSON documents with a bucket-level public access block, plus bucket- and object-level tag-sets.
  • Bucket webhooks posting AWS-event-shaped (v2.4) notifications over HTTP, HMAC-signed with a per-rule shared secret, backed by a persistent outbox with exponential backoff retries and on-demand retry from the console or API.
  • Bucket replication over the real S3 protocol, using SigV4-signed PutObject, multipart, and DeleteObject requests to any S3-compatible target, driven by reusable remote targets and prefix-filtered rules, async by default with per-rule synchronous opt-in.
  • Web console with an object browser, drag-and-drop upload of files and whole folders, recursive search, bucket and folder size and object-count stats, in-place metadata editing, a versioning UI, time-limited shared links, and an admin dashboard with live CPU, RAM, and traffic charts.

Who uses it and how

  • Teams and organizations replacing MinIO or RustFS as their reference S3 store, and that want a self-hosted endpoint without an enterprise upsell attached.
  • AI and big data workloads, indicated by the ai-storage and bigdata topics, that need S3 semantics such as multipart uploads, versioning, and lifecycle rules on their own hardware.
  • Operators who prefer a console-driven deployment, using the admin dashboard for live CPU, RAM, and traffic charts, storage statistics, and user and bucket management.
  • Organizations with existing identity infrastructure, using admin-managed OIDC SSO with multiple simultaneous identity providers, optional auto-provisioning, and per-user S3 access keys with optional expiration.
  • Event-driven and multi-site setups, consuming bucket notifications as AWS-shaped v2.4 payloads over HTTP, or replicating buckets continuously to any S3-compatible remote target, either asynchronously or synchronously per rule.

Getting started

The README excerpt does not carry an install command, Docker image, or compose file; it directs readers to the documentation at https://alarik.io/docs and the homepage at https://alarik.io for setup instructions.

How it compares

Among the similar tools named in the facts, Alarik positions itself against MinIO and RustFS as an openly licensed, community-driven alternative to a single reference implementation. The README argues that reliance on one S3-compatible store proved fragile on licensing and philosophy, and offers its own Apache 2.0 self-hosted system as the replacement. No pricing, hosting, or feature comparison against those projects is given beyond those statements.

When to use it — and when not to

This is self-hosted software, so an adopter operates the server and its storage itself, and the provided README excerpt does not document operational prerequisites such as a database, external storage backend, or SMTP configuration, which must be checked in the documentation before committing. Teams that want a fully managed service, a vendor support contract, or an out-of-the-box hosted endpoint should not choose it, since the project explicitly targets self-hosting without enterprise upsell. The repository is also young and small, at 538 stars, 6 forks, and 4 open issues, so production adoption warrants a pilot deployment first.

project readme (upstream, from github) — read inline

Alarik - a High-Performance S3-Compatible Object Storage

Alarik is a high-performance, S3-compatible object storage system written in Swift, licensed under the Apache 2.0 license. It aims to deliver exceptional speed, developer-friendly ergonomics, and a modern cloud-native core. See Documentation

Why Alarik?

Recent shifts in the ecosystem-especially surrounding MinIO-have revealed how fragile it is to depend on a single “reference” implementation for S3-compatible storage. These changes highlighted structural, licensing, and philosophical issues that many teams had long overlooked.

Alarik exists to provide a modern, transparent, community-driven alternative. Developers and organizations need an S3-compatible store that is fast, simple to operate, easy to extend, and genuinely open-source. No licensing traps, no moving goalposts.

The goal: a self-hosted, high-speed S3 system built for today’s workloads, without the enterprise upsell.

Features

S3-Compatible API

Feature Notes
Core object operations Put, Get, Head, Delete, Copy, multi-object delete
Multipart uploads Create, upload part, complete, abort, list parts/uploads
Bucket versioning Enabled/suspended, version listing, delete markers
Conditional requests If-Match, If-None-Match, If-Modified-Since, If-Unmodified-Since
Range reads Including suffix ranges, correct 416 semantics
Presigned URLs Query-string (SigV4) auth, up to 7-day expiry
Object tagging Bucket and object-level tag-sets
Bucket policies JSON policy documents, public access block
Lifecycle rules Expiration, noncurrent version expiration, incomplete multipart cleanup
Bucket webhooks AWS-event-shaped notifications over HTTP (see below)
Bucket replication Continuous, SigV4-signed replication to remote S3-compatible targets (see below)
SigV4 authentication Header and query auth, chunked (streaming) payloads

Web Console

Feature Notes
Object browser Upload, download, delete, folder navigation
Drag-and-drop upload Files and whole folders, with progress tracking
Recursive search Find objects by name across nested folders
Bucket & folder stats On-demand size and object count
Metadata editing Content-Type and custom metadata, in place, without re-uploading
Object versioning UI Browse, preview, download, and delete individual versions
Shared links Time-limited, unauthenticated public links to an object
Admin dashboard Live CPU/RAM/traffic charts, storage stats, user & bucket management

Authentication & Access Control

Feature Notes
Local accounts Username/password, optional open self-registration
OIDC SSO Admin-managed, multiple simultaneous identity providers, optional auto-provisioning
S3 access keys Per-user, with optional expiration
Bucket policies Fine-grained, S3-compatible JSON policies
Public access block Bucket-level override to block public access regardless of policy

Webhooks (Event Notifications)

Feature Notes
AWS-compatible payloads Same event structure (v2.4) as S3 Event Notifications
HMAC-signed deliveries Verify authenticity with a per-rule shared secret
Reliable delivery Persistent outbox, survives restarts, exponential backoff retries
Delivery health Inspect pending/failed deliveries and retry on demand, from the console or API
Event & key filtering Subscribe by event type, key prefix, and/or suffix

Bucket Replication

Feature Notes
Real S3 protocol SigV4-signed PutObject/multipart/DeleteObject requests, works against any S3-compatible target
Target + rule model Reusable remote targets (endpoint, credentials), referenced by prefix-filtered rules
Reliable delivery Persistent outbox, survives restarts, exponential backoff retries
Sync or async per rule Async by default; a rule can opt into holding the client's write until delivery completes
Opt-in delete & existing-object replication Deletes and pre-existing objects are never replicated unless a rule opts in
Resync On-demand replication of a bucket's existing objects for a rule
Task health Inspect pending/failed replication tasks and retry on demand, from the console or API

Horizontal Scaling

Feature Notes
No external database Buckets, users, access keys, policies, and cluster membership itself all live in Alarik's own storage - replicated whole to several nodes so any one of them can serve them alone - and Storage/ is the only thing to back up
Erasure-coded object data Reed-Solomon k data + m parity shards across nodes, rebuildable from any k - the durability of replication at ~1.3-1.5x overhead
Coordination-free placement Rendezvous (HRW) hashing places each object's shards deterministically, no range-sharding hotspots or coordinator
Any node serves any request An entry node forwards to a responsible node transparently - no client-visible routing logic
Quorum writes A write acks once a quorum of shards land durably, with async catch-up for stragglers
Read-repair & bit-rot scrubbing Missing or silently-corrupted shards are rebuilt from survivors automatically - on read, and on a periodic background scrub
Stable ownership & automatic rebalancing A key's nodes are fixed by hashing, so a node going down never reshuffles data - it keeps its keys, and queued writes replay when it returns. Joining or draining a node redistributes shards and reconstructs any that were lost, including historical versions and delete markers
Ranged reads Range requests on erasure-coded objects reconstruct only the stripes they cover (206 Partial Content)
Cluster-aware listing ListObjects, ListObjectVersions, ListMultipartUploads, and DeleteBucket safety checks work correctly across every node
Admin console Live node health, k/m and shard-repair status, storage distribution, and an object placement browser under Admin → Cluster

See the documentation for the full API reference.

Installation

Please see Documentation

Future of Alarik

We are the ones behind the German Accounting-Software belegFuchs, and although we currently run MinIO in production, we are planning to migrate to Alarik in the future. This isn’t a marketing slogan - it’s a commitment that directly shapes our roadmap.

Because we rely on S3-compatible storage every day, we are fully invested in ensuring that Alarik continues to evolve: solid performance, long-term stability, and an open development model without licensing uncertainty. Our own planned adoption is a practical reason why we are committed to keeping Alarik actively maintained and moving forward.

TL;DR: Alarik is here to stay - it’s not going anywhere.

Performance

Alarik is built with a strong focus on low-latency I/O and highly parallel request handling. New benchmarks on a dedicated Linux machine show that Alarik delivers competitive and in many cases superior throughput compared to MinIO or RustFS, even in early beta stages.

Benchmark Alarik vs MinIO

We use MinIO’s own benchmarking tool, warp, to measure performance. Both the object store and the benchmark client run on the same Linux host, ensuring results reflect raw engine performance rather than network conditions.

These benchmarks represent the current state of the project. As Alarik’s storage engine and I/O pipeline continue to evolve, we expect performance to improve further.

Alarik
MinIO

Contributing

We welcome contributions of any size. Please:

  • Fork Alarik and create a new branch e.g. feature/my-new-feature
  • Use clear, descriptive commit messages
  • Open an issue before starting larger work
  • Follow Swift best practices
  • Add tests for new functionality where appropriate
  • Keep pull requests focused and incremental

⭐️ Stay Updated

More documentation, benchmarks, SDKs, and deployment guides are

readme truncated — read the full docs on github

Frequently asked questions

Is Alarik free to use?

Alarik is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Alarik do?

S3-compatible object storage built with Swift

What is Alarik written in?

Alarik is primarily written in Swift. Its source is publicly available at https://github.com/achtungsoftware/alarik, and it has 538 GitHub stars.