Deploy Azurite

A lightweight Azure Storage emulator for Blob, Queue, and Table services.

Deploy Azurite

Just deployed

/data

Deploy and Host Azurite on Railway

Azurite is a lightweight Azure Storage emulator for Blob, Queue, and Table services. It provides Azure Storage-compatible APIs for local development, integration testing, CI/CD, and application testing without requiring a real Azure Storage account.

About Hosting Azurite

This template deploys Azurite on Railway using the official Microsoft container image.

Azurite emulates three Azure Storage services:

  • Azure Blob Storage
  • Azure Queue Storage
  • Azure Table Storage

Each service runs on its own port while sharing the same Azurite instance.

This template also includes persistent storage so emulator data can survive service restarts and redeployments.

No PostgreSQL, MySQL, Redis, or other external database is required.

Common Use Cases

  • Develop applications against Azure Storage-compatible APIs
  • Test Blob Storage integrations without using a real Azure account
  • Run Queue Storage integration tests
  • Develop against Azure Table Storage
  • Create reusable storage environments for CI/CD pipelines
  • Test Azure SDK integrations
  • Reduce dependency on production or development Azure resources
  • Build disposable or isolated development environments

Dependencies for Azurite Hosting

  • Official Azurite container image
  • Railway networking
  • Railway Volume for persistent emulator data
  • Azure Storage SDK, REST client, Azure CLI, or compatible application

Azurite does not require:

  • PostgreSQL
  • MySQL
  • Redis
  • MongoDB
  • A real Azure Storage account

Supported Services

Azurite provides emulation for:

  • Blob Storage on port 10000
  • Queue Storage on port 10001
  • Table Storage on port 10002

Azurite is specifically an Azure Storage emulator.

It does not emulate the entire Azure platform and should not be treated as a replacement for services such as:

  • Azure SQL
  • Cosmos DB
  • Service Bus
  • Azure Functions
  • Azure Kubernetes Service
  • Azure Virtual Machines

Environment Variables

PORT="10000" # Railway public HTTP target port for Blob Storage

Azurite itself is configured through its startup command.

Persistent Storage

This template mounts a Railway Volume at:

/data

Azurite stores its workspace and emulator data inside this directory.

This allows Blob, Queue, and Table data to persist across supported container restarts and redeployments.

Networking

Azurite exposes three different storage APIs:

Blob  → 10000
Queue → 10001
Table → 10002

The default Railway public domain for this template targets port:

10000

Therefore, the generated public domain acts as the public Azure Blob Storage endpoint.

For example:

https://your-azurite.up.railway.app

Queue and Table services continue running on ports 10001 and 10002.

Applications running inside the same Railway project can communicate with all three services using Railway private networking.

For a service named azurite, the endpoints would conceptually look like:

Blob:
http://azurite.railway.internal:10000

Queue:
http://azurite.railway.internal:10001

Table:
http://azurite.railway.internal:10002

Accessing Azurite

Azurite is an API emulator, not a conventional web application.

Opening the Railway domain directly in a browser should not be expected to display a dashboard or administration interface.

The public endpoint is intended to be consumed by:

  • Azure Storage SDKs
  • REST clients
  • Azure Storage Explorer
  • Development applications
  • Automated tests
  • CI/CD pipelines

If the root domain does not display a web interface, this does not mean the deployment has failed.

Connecting Azure Storage Clients

Azurite includes a default development storage account commonly used by Azure tooling:

Account name:
devstoreaccount1

Applications should configure their Azure Storage SDK or client to use the Azurite endpoint instead of a production Azure Storage endpoint.

For Blob Storage, the public endpoint can point to the Railway domain.

For example:

https://your-azurite.up.railway.app

Applications inside Railway can alternatively use the private endpoint:

http://azurite.railway.internal:10000

Using Azure Storage Explorer

Azurite can also be accessed through Azure Storage Explorer.

Configure Storage Explorer to connect to an Azurite-compatible storage endpoint using the development account and the Railway endpoint.

This provides a graphical interface for browsing Blob containers and stored objects even though Azurite itself does not include a built-in web dashboard.

Service Architecture

Application
    │
    ├── Blob API  ─────→ :10000
    │
    ├── Queue API ─────→ :10001
    │
    └── Table API ─────→ :10002
                         │
                         ▼
                      Azurite
                         │
                         ▼
                       /data
                  Railway Volume

Important Notes

  • Azurite emulates Azure Storage, not the entire Azure platform.
  • Blob, Queue, and Table Storage use different ports.
  • The default Railway public domain targets Blob Storage on port 10000.
  • Queue Storage runs on port 10001.
  • Table Storage runs on port 10002.
  • Azurite does not include a built-in web dashboard.
  • Use Azure Storage Explorer or another compatible client if you need a graphical interface.
  • A Railway Volume is mounted at /data for persistence.
  • Redis and external databases are not required.
  • Azurite should be used primarily for development and testing rather than production storage workloads.

Why Deploy Azurite 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.

Deploying Azurite on Railway provides a reusable Azure Storage-compatible endpoint that can be shared across development environments, applications, CI pipelines, and team members without requiring everyone to run Azurite locally.


Template Content

More templates in this category

View Template
Rocky Linux
Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

codestorm
47
View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

Lucas
71
View Template
Letta Code Remote
Run a Letta Code agent 24/7. No inbound ports, just deploy.

Letta
51