suport access
soares-guilherme
FREEOP

12 hours ago

I have a production service using a Railway Storage Bucket through the S3-compatible API.

Project: empathetic-reflection

Environment: production

Service: soares-negocios

Bucket: soares-negocios-images

The exact objects exist in the Bucket and can be downloaded successfully from the Railway dashboard.

PostgreSQL contains the exact matching object keys.

I verified that ACCESS_KEY_ID and SECRET_ACCESS_KEY match the Bucket credentials.

I regenerated the Bucket credentials, updated the service variables and redeployed successfully.

Current configuration:

ENDPOINT=https://t3.storageapi.dev

REGION=auto

S3_FORCE_PATH_STYLE=false

I executed a read-only HeadObject from inside the Railway production container using @aws-sdk/client-s3.

Result:

STYLE false => ERROR Unknown 403 UnknownError

STYLE true => ERROR Unknown 403 UnknownError

The exact same object is present and downloadable from the Railway dashboard.

This appears to be a Storage Bucket S3 API permission/provisioning issue rather than an application or object-key issue.

Could you please inspect the bucket permissions/provisioning and storage logs for this bucket?

Awaiting User Response

4 Replies

Railway
BOT

12 hours ago

Your ENDPOINT variable is set to https://t3.storageapi.dev, but the correct endpoint for Railway Buckets is https://storage.railway.app as shown in the bucket's Credentials tab. Updating that variable and redeploying should resolve the 403.


Status changed to Awaiting User Response Railway about 12 hours ago


soares-guilherme
FREEOP

12 hours ago

Additional diagnostic result:

I executed ListObjectsV2 from inside the Railway production container using the exact environment variables currently deployed.

The variables are confirmed clean, with no whitespace or newline issues:

ENDPOINT = "https://t3.storageapi.dev"

REGION = "auto"

BUCKET = "soares-negocios-images-stjyso"

S3_FORCE_PATH_STYLE = "false"

MEDIA_STORAGE_PROVIDER = "s3"

ListObjectsV2 returns:

NoSuchBucket

HTTP 404

The specified bucket does not exist

However, this exact bucket exists in the Railway dashboard, contains 57.1 MB of objects, and the files can be downloaded successfully through the dashboard.

HeadObject for an existing object also returns HTTP 403.

This now strongly indicates that the bucket shown in the Railway dashboard is not correctly provisioned/recognized by the S3-compatible API.

Please escalate this for inspection of the bucket IAM/provisioning state and storage logs.


Status changed to Awaiting Railway Response Railway about 12 hours ago


soares-guilherme
FREEOP

12 hours ago

I tested the endpoint suggested by the automated response as well.

Using https://storage.railway.app from inside the Railway production container:

STORAGE.RAILWAY.APP STYLE false => ERROR Unknown 403 UnknownError

STORAGE.RAILWAY.APP STYLE true => ERROR Unknown 403 UnknownError

Using the endpoint explicitly shown in my Bucket Credentials tab, https://t3.storageapi.dev:

HeadObject returns HTTP 403

ListObjectsV2 returns:

NoSuchBucket

HTTP 404

The specified bucket does not exist

The bucket is visible in the Railway dashboard, contains 57.1 MB, and the exact objects can be downloaded from the dashboard.

The deployed environment variables have also been verified with no whitespace or newline issues.

Please escalate this to the storage/backend team to inspect this bucket's IAM/provisioning state and S3 API mapping.


Status changed to Awaiting Railway Response Railway about 9 hours ago


Railway
BOT

8 hours ago

To correct our earlier reply, https://t3.storageapi.dev is the correct endpoint for your bucket. The actual issue is a bucket name mismatch: your BUCKET variable is set to soares-negocios-images-stjyso, but the bucket's real S3 name is soares-negocios-imagens-stjyso (note "imagens" vs "images"). Updating your BUCKET variable to the correct value and redeploying should resolve both the 403 and NoSuchBucket errors.


Status changed to Awaiting User Response Railway about 8 hours ago


Welcome!

Sign in to your Railway account to join the conversation.

Loading...