---
title: "Deploy MinIO - Isolated Services"
description: "[Jul'26] S3 object storage with isolated bucket & console services."
category: "Storage"
url: https://railway.com/deploy/minio-isolated-services
---

# Deploy MinIO - Isolated Services

[Jul'26] S3 object storage with isolated bucket & console services.

**[Deploy MinIO - Isolated Services on Railway](https://railway.com/template/minio-isolated-services)**

- **Creator:** codestorm
- **Category:** Storage
- **Total deploys:** 12

## Template content

### MinIO Console https://devicons.railway.app/MinIO

- **Source:** railwayapp-templates/minio-console
- **Start command:** `/bin/sh -c "exec console server --host 0.0.0.0 --port $PORT"`
- **Public domain:** Yes

### MinIO Bucket https://devicons.railway.app/MinIO

- **Source:** railwayapp-templates/minio
- **Start command:** `/bin/sh -c "exec minio server --address [::]:$MINIO_PRIVATE_PORT $RAILWAY_VOLUME_MOUNT_PATH"`

## Documentation

# Deploy and Host MinIO — Isolated Services on Railway

### About Hosting MinIO — Isolated Services

MinIO is an open-source, high-performance, S3-compatible object storage system designed for cloud-native workloads.

This **Two Services** template deploys MinIO using **separate services** on Railway: one service dedicated to the **S3 Bucket API** and another dedicated to the **Web Console**. This architecture enables stronger security boundaries, better scalability, and clearer separation of responsibilities compared to a single-service deployment.

You can configure security-sensitive options such as STS token duration, expose only the Console publicly, and keep the Bucket service private within Railway’s internal network. Data is persisted using Railway volumes.

### Common Use Cases

* Production object storage with stricter security requirements
* Internal or private S3-compatible storage backends
* AI/ML pipelines requiring stable and isolated storage services
* Multi-application environments sharing a single storage backend
* Teams requiring controlled access to the MinIO Console

## Dependencies for MinIO — Isolated Services

### Deployment Dependencies

* Railway account
* Two Railway services (Bucket and Console)
* Railway volume (for persistent data)
* MinIO Docker image (official)

No external services are required.

### Configuration

This template supports the following configurable options via Railway environment variables:

* **Root Credentials**
  Set `MINIO_ROOT_USER` and `MINIO_ROOT_PASSWORD` securely using Railway secrets.

* **STS Duration**
  Control temporary credential lifetime using `MINIO_STS_DURATION` (for example: `1h`, `12h`).

* **Network Separation**
  The Bucket service runs on Railway’s private network, while the Console service is exposed publicly through a Railway-managed domain.

* **Public Access Control**
  Only the Console is publicly accessible; the S3 API remains private by default.

* **Persistence**
  Object data is stored on a Railway volume to survive restarts and redeployments.

### Why Deploy MinIO — Two Services on Railway?

* **Improved Security**
  Keep the S3 Bucket API private while exposing only the Console.

* **Clear Separation of Concerns**
  Console and storage traffic are isolated into different services.

* **Better Scalability**
  Scale Bucket and Console services independently.

* **Production-Ready Architecture**
  Reduced blast radius and cleaner operational boundaries.

* **Full S3 Compatibility**
  Works seamlessly with existing AWS S3 SDKs and tools.

This template is best suited for production environments or teams that require stronger isolation, better scalability, and improved security.

## Similar templates

- [Garage S3 Storage](https://railway.com/deploy/garage-s3-storage) — Ultra-light S3 server: fast, open-source, plug-and-play.
- [Redis](https://railway.com/deploy/redis-1) — Self Host Latest Redis with Railway
- [EasyImg](https://railway.com/deploy/easyimg) — Simple self-hostable Nuxt.js personal image hosting system.

Open this page in a browser: https://railway.com/deploy/minio-isolated-services
