railway-storage

Configure Railway S3-compatible storage buckets for file uploads and retrieval.

1|2|Updated Jan 23, 2026
One-click install
npx skills add https://github.com/blink-new/claude --skill railway-storage
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: railway-storage
Source: https://github.com/blink-new/claude/tree/main/skills/railway-storage
Command: npx skills add https://github.com/blink-new/claude --skill railway-storage

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires @aws-sdk/client-s3, @aws-sdk/s3-request-presigner, and includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill simplifies the process of configuring and interacting with Railway's S3-compatible storage, addressing the complexities of private buckets and environment variable injection.

Core Features & Use Cases

  • S3 Client Setup: Provides a robust, lazily initialized S3 client compatible with Railway's environment variables.
  • Public File Access: Guides users on serving files publicly via proxy endpoints or presigned URLs, as Railway buckets are private by default.
  • Use Case: When integrating file uploads into a Railway application, use this Skill to correctly set up the S3 client and implement an upload function that returns a proxy URL.

Quick Start

Use the railway-storage skill to upload the file 'report.pdf' with content type 'application/pdf' to the key 'reports/report.pdf'.

Frequently Asked Questions about railway-storage

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I configure an S3 client for Railway storage buckets?

To configure an S3 client for Railway storage, initialize the client lazily using environment variables injected by Railway and set forcePathStyle: true to ensure proper path resolution.

How do I serve files publicly from private Railway S3 buckets?

Serve files publicly from private Railway S3 buckets by implementing proxy endpoints or generating presigned URLs, allowing external access without changing the default private bucket configuration.

Why does my S3 client fail to connect to Railway cloud storage?

S3 client connections to Railway cloud storage fail when forcePathStyle: true is omitted or when Railway environment variables are not properly injected into the application configuration.

Can I use @aws-sdk/client-s3 to upload files to Railway storage?

Yes, you can use @aws-sdk/client-s3 to upload files to Railway storage by configuring the client with Railway-specific environment variables and utilizing the S3-request-presigner for URL generation.

What's the best way to handle file uploads in a Railway backend application?

Handle file uploads in a Railway backend by setting up an S3-compatible client with forcePathStyle: true and returning a proxy URL or presigned URL for public access to the uploaded file.

Do I need presigned URLs to access files in Railway S3-compatible storage?

You need presigned URLs or proxy endpoints to access files in Railway S3-compatible storage because buckets are private by default, requiring explicit configuration for public retrieval.