Deploy SeaweedFS | (Just Updated) S3 Object Store, Public URL and Keys Set

SeaweedFS S3 store. Keys set from boot, public URL, data kept on volume

Deploy SeaweedFS | (Just Updated) S3 Object Store, Public URL and Keys Set

Just deployed

/data

Deploy and Host SeaweedFS on Railway

SeaweedFS is a distributed object and file store with an S3-compatible API. It stores small and large blobs cheaply, and any S3 client (aws-cli, boto3, rclone, MinIO SDKs) can talk to it.

This template runs SeaweedFS 4.48 as one service from a digest-pinned official image: master, volume server, filer and S3 gateway together, the S3 API on a public Railway domain, and all data on a Railway volume.

About Hosting SeaweedFS

  • The S3 API needs keys from the first request. A stock weed server -s3 container accepts anonymous writes: an unauthenticated PUT /bucket returned 200. Here an access key and secret key are generated per deploy and anonymous requests are rejected with 403.
  • It has a public URL. The S3 gateway listens on Railway's PORT and the template creates the domain, so clients outside Railway can connect straight away. Services in the same project use the private endpoint.
  • Data survives redeploys. Objects live on the attached volume, in a subdirectory so the volume's lost+found never lands in the data directory. An object written before a redeploy was read back after it.
  • Many buckets work on a small volume. SeaweedFS gives each bucket its own volume files and works out how many it may create from the free disk divided by the volume-file size (30 GB by default). On a 5 GB Railway volume that allowed three, and the first upload after creating a bucket failed with No writable volumes and no free volumes left. Here files are capped at 256 MB and the slot count is set explicitly, so buckets and uploads work from the first request.

Common Use Cases

  • An S3-compatible bucket for application uploads, backups and static assets
  • A cheaper object store for AI datasets, model files and embeddings snapshots
  • A MinIO or S3 replacement for services that only need the S3 API
  • Blob storage behind a filer with directories and TTLs

Dependencies for SeaweedFS Hosting

  • One Railway volume for the data directory (created by the template)

Deployment Dependencies

Implementation Details

VariablePurpose
S3_ACCESS_KEYS3 access key id, generated per deploy.
S3_SECRET_KEYS3 secret key, generated per deploy.
S3_ENDPOINTPublic HTTPS endpoint, for clients outside Railway.
S3_PRIVATE_ENDPOINTPrivate endpoint, for services in the same project.
export AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY=
aws --endpoint-url  --region us-east-1 s3 mb s3://my-bucket
aws --endpoint-url  --region us-east-1 s3 cp file.txt s3://my-bucket/

Use path-style addressing. The master, volume and filer ports stay on the private network and are not exposed by the template.

Why Deploy SeaweedFS on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying SeaweedFS on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.


Template Content

More templates in this category

View Template
Garage S3 Storage
Ultra-light S3 server: fast, open-source, plug-and-play.

PROJETOS
8
View Template
Redis
Self Host Latest Redis with Railway

8
View Template
EasyImg
Simple self-hostable Nuxt.js personal image hosting system.

Muhammad Bilal
0