StorageEU · Germany

EU S3-Compatible Object Storage, Zero Egress Fees

Store files, images, and backups. S3-compatible — use the tools you already know.

Storage
Unlimited
Object Size
Up to 5 TB
API
S3-compatible
aws-cli — runsite
s3 api
aws s3 cp ./media s3://assets \
--endpoint-url https://s3.runsite.app
1,284 objects · 4.2 GB uploaded
runsite storage bill --month
storage 4.2 GB × €0.025 €0.11
egress 812 GB €0.00

AES-256 at rest · no replication outside the EU

Overview

Runsite Object Storage is S3-compatible storage for files, images, videos, and backups. It works with the AWS SDK, boto3, and any S3 client: point the endpoint at Runsite, use your access keys, and your existing code runs unchanged.

Egress is free. There are no charges for downloads, uploads, or data transfer of any kind, so you pay only for the gigabytes you store, billed at €0.025 per GB each month after a 5 GB free tier. That removes the bandwidth bill that makes serving images and media expensive on metered object storage.

All objects sit inside the European Union, encrypted at rest with AES-256, with a signed GDPR Data Processing Agreement included. Public buckets are served through a global CDN, while private files use time-limited presigned URLs so you can share access without handing out credentials. It is a natural home for PostgreSQL backups, user uploads from your web services, and build assets from your static sites.

Last reviewed: June 2026
Features

Everything You Need from Object Storage

Built-in tools and capabilities to deploy and manage with confidence.

Bucket Management

Create and manage storage buckets with public or private access. Organize files with folder-like prefixes and metadata tags.

Access Keys & Permissions

Generate access keys with granular permissions: read, write, delete, or full admin. Rotate keys without downtime.

Presigned URLs

Generate time-limited presigned URLs for secure file sharing and direct client-side uploads without exposing credentials.

Usage Monitoring

Track storage usage, bandwidth consumption, and request counts in real time. Set alerts for usage thresholds.

CDN Integration

Serve public bucket files through Runsite's global CDN for fast asset delivery. Automatic cache headers for static content.

Encryption at Rest

All objects encrypted at rest using AES-256. TLS encryption for all data in transit. CORS configuration support.

Integration Guide

Connect with any S3 SDK

Runsite's S3-compatible API works with existing AWS SDKs and tools — no code changes needed.

1

Create a Bucket & Access Key

Create a storage bucket from the dashboard with public or private access. Generate an access key pair with read, write, or admin permissions.

2

Point Your SDK to Runsite

Use the AWS SDK, boto3, or any S3-compatible client. Set the endpoint URL to your Runsite storage endpoint and use your Runsite access keys — no other configuration needed.

3

Upload & Organize Files

Upload files using standard S3 PutObject calls. Organize with folder-like prefixes (e.g. uploads/2026/photo.jpg). Use multipart upload for files over 100 MB.

4

Serve via CDN or Presigned URLs

Public buckets are served through Runsite's global CDN automatically. For private files, generate time-limited presigned URLs for secure sharing without exposing credentials.

Code

Get Started in Minutes

Simple integration with your existing tools and workflows.

import { S3Client, PutObjectCommand } from '@aws-sdk/client-s3';

const s3 = new S3Client({
  endpoint: process.env.S3_ENDPOINT,
  credentials: {
    accessKeyId: process.env.S3_ACCESS_KEY,
    secretAccessKey: process.env.S3_SECRET_KEY,
  },
});

await s3.send(new PutObjectCommand({
  Bucket: 'my-bucket',
  Key: 'uploads/photo.jpg',
  Body: fileBuffer,
}));
Use Cases

What You Can Store

Common scenarios where this service shines.

Media Storage

Store user-uploaded images, videos, and documents with automatic content-type detection and CDN delivery.

Database Backups

Store PostgreSQL and Redis backups in object storage with lifecycle policies for automatic cleanup.

Static Assets

Serve JavaScript bundles, CSS files, and fonts from S3 with CDN caching for fast global delivery.

Data Archival

Archive logs, analytics data, and compliance records with cost-effective long-term storage.

EU-Sovereign

EU Object Storage, GDPR-Ready

Hosted in Frankfurt, Germany — your data stays under EU jurisdiction.

Every object you upload is stored in Runsite's Frankfurt, Germany region and encrypted at rest with AES-256. Files are not replicated to non-EU regions, so media, user uploads, and backups stay inside EU borders by default.

Every account is GDPR-compliant by default and includes a signed Data Processing Agreement at no extra cost and with no sales call. You can review how we handle data in our Privacy Policy and DPA terms. That makes Runsite a fit when you handle EU customer data or fall under the GDPR or the EU Digital Services Act.

EU data residencyGDPR-readySigned DPA on every plan
Pricing

Simple, transparent pricing

Pay only for the resources you actually use. Switch between monthly and hourly to see what you'll spend.

Free

Free

  • 5 GB included
  • Unlimited operations
  • Zero egress fees
  • S3-compatible API
Start Free

Pay-as-you-go

€0.025/GB/mo

  • Pay only for what you use
  • 100 GB ≈ €2.50/mo
  • 500 GB ≈ €12.50/mo
  • 1 TB ≈ €25/mo · 5 TB ≈ €125/mo
Get Started
FAQ

Frequently Asked Questions

Common questions about this service.

Yes. Runsite's object storage is fully S3-compatible. You can use the AWS SDK, boto3, aws-cli, or any S3-compatible client library. Just point the endpoint to your Runsite storage URL and use your Runsite access keys.

Individual objects can be up to 5 TB in size. For files larger than 100 MB, we recommend using multipart uploads for better reliability and performance. The AWS SDK handles multipart uploads automatically.

Yes. Set a bucket to public access and files are served directly via URL. Public buckets are automatically integrated with Runsite's CDN for fast global delivery. Private buckets require presigned URLs or access key authentication.

It isn't. Egress is free — there are no charges for downloads, uploads, or data transfer of any kind. You pay only for the storage you use; bandwidth is never metered or billed.

Guides

Learn More About S3 Object Storage

Hands-on articles from the Runsite blog.

Storage11 min read

S3-Compatible Object Storage: How It Works and How to Choose a Provider

"S3" names three separate things: a product, a storage model, and an API. This guide separates them — how buckets actually behave, what "S3-compatible" guarantees, where that compatibility runs out, and the axes worth comparing providers on.

Read
Storage10 min read

S3 Presigned URLs: Direct Browser Uploads Without Handing Out Your Keys

A presigned URL isn't a token the storage issued you. It's a signature you computed yourself, and almost everything people get wrong about expiry, revocation, and safety follows from that. Here's the mechanism, the threat model, and how to pick an upload architecture.

Read
Storage11 min read

Uploading User Files to S3: Keys, Multipart, and What to Retry

Uploading a file is three lines of SDK code, and they stay correct until a real user shows up with a 3 GB video on hotel wifi. Here's what comes after the tutorial: naming objects you can't rename, splitting large files, and knowing which failures are safe to repeat.

Read
Storage8 min read

S3 Egress Fees: Why Downloading Your Own Data Costs So Much

Storage is the cheap line on an object-storage bill. Egress, the charge for data leaving the bucket, is where the money actually goes. Here's how S3 data-transfer fees work, how to calculate your real bill, and why zero-egress storage changes the math.

Read
Storage11 min read

AWS S3 Alternatives Without Egress Fees: What to Check Before You Switch

Zero-egress storage moves the meter, it doesn't remove it. What providers bill instead of transfer, why the saving only appears when bytes leave from the bucket, and which workloads actually get cheaper by leaving S3.

Read
Databases7 min read

How to Automate PostgreSQL Backups to S3 on a Schedule

A managed database backs itself up daily — but a second, portable copy in your own S3 bucket is yours to keep. Here's how to schedule pg_dump to object storage with a cron job, and when it's worth doing.

Read

Your app deserves to be online

Free to start. Deploy in under a minute. No credit card needed.