Storage

EU S3-Compatible Object Storage, Zero Egress Fees

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

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.

Your app deserves to be online

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