Railway

Deploy Garage S3 + WebUI

Self-hosted S3 storage with a web management dashboard

Deploy Garage S3 + WebUI

/garage-volume

Deploy and Host Garage S3 + WebUI on Railway

Garage S3 + WebUI is a self-hosted, S3-compatible object storage stack. It pairs the lightweight Garage storage server with the khairul169/garage-webui dashboard, deploying both as pre-connected services over Railway's private network — giving you working object storage plus a MinIO-style web console with no manual setup.

About Hosting Garage S3 + WebUI

This template provisions two services in one project. The Garage S3 service runs the Garage v2.2.0 binary, automatically initializing the cluster layout, creating your first bucket, and provisioning an S3 access key on first boot — all persisted to a Railway volume so data and credentials survive restarts. The WebUI service runs the garage-webui dashboard and connects to Garage's Admin API (port 3902) and S3 endpoint (port 3900) over the private network. Both services share an admin token, so cluster health, bucket management, and the object browser work immediately. Auto-generated credentials appear in the Garage service's deploy logs.

Common Use Cases

  • S3 storage for your apps — a drop-in endpoint for any app or SDK that speaks S3 (uploads, user files, static assets).
  • Self-hosted MinIO alternative — lightweight object storage with a visual console for browsing buckets and objects.
  • Backups & archival — a durable, low-overhead target for database dumps, logs, and file backups via AWS CLI, s3cmd, or rclone.

Dependencies for Garage S3 + WebUI Hosting

  • A Railway persistent volume (mounted at /data) for Garage metadata and object data.
  • A shared admin token (GARAGE_ADMIN_TOKEN) used by the WebUI to authenticate against Garage's Admin API.

Deployment Dependencies

Implementation Details

Recommended variables for the WebUI service (connecting over the private network):

VariableValueNotes
API_BASE_URLhttp://${{ "Garage S3".RAILWAY_PRIVATE_DOMAIN }}:3902Garage Admin API
S3_ENDPOINT_URLhttp://${{ "Garage S3".RAILWAY_PRIVATE_DOMAIN }}:3900Garage S3 endpoint
API_ADMIN_KEY${{ "Garage S3".GARAGE_ADMIN_TOKEN }}Must match the Garage admin token
AUTH_USER_PASSadmin:$2b$12$...Optional bcrypt login; leave blank to disable

Use path-style addressing in your S3 client (Railway has no wildcard subdomains): boto3 Config(s3={'addressing_style': 'path'}), AWS SDK forcePathStyle: true, or s3cmd --host-bucket=''.

Why Deploy Garage S3 + WebUI 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 Garage S3 + WebUI 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
7
View Template
Postgres Backup to Cloudflare R2 (S3-Compatible)
Automated PostgreSQL backups to S3-compatible storage with encryption

Artour
7
View Template
ReadySet
A lightweight caching engine for Postgres

Milo
34