---
title: "Deploy Fake GCS Server"
description: "A lightweight Google Cloud Storage emulator for development and testing."
category: "Other"
url: https://railway.com/deploy/fake-gcs-server
---

# Deploy Fake GCS Server

A lightweight Google Cloud Storage emulator for development and testing.

**[Deploy Fake GCS Server on Railway](https://railway.com/template/fake-gcs-server)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/fake-gcs-server/manifest.json

- **Creator:** INF Labs
- **Category:** Other

## Template content

### fake-gcs-server

- **Image:** fsouza/fake-gcs-server:1.56.1
- **Public domain:** Yes

## Documentation

# Deploy and Host Fake GCS Server

Fake GCS Server is a lightweight Google Cloud Storage emulator for development, integration testing, CI/CD, and local application testing without connecting to a real Google Cloud Storage account.

It provides GCS-compatible APIs that can be accessed using Google Cloud Storage clients, SDKs, REST requests, and test frameworks.

## About Hosting Fake GCS Server

This deployment runs Fake GCS Server as a standalone API service with a filesystem-backed storage backend.

The service exposes a Google Cloud Storage-compatible HTTP API for bucket and object operations. It is intended to be accessed by applications, SDKs, REST clients, and automated tests.

Fake GCS Server is an API emulator, not a web application. It does not provide a built-in dashboard or graphical user interface.

When the `/data` directory is backed by persistent storage, buckets and objects can be retained across supported restarts and redeployments.

## Why Deploy Fake GCS Server?

Deploying Fake GCS Server provides a reusable Google Cloud Storage-compatible endpoint without requiring a real Google Cloud project or production storage account.

Common benefits include:

* Develop applications that integrate with Google Cloud Storage
* Run integration tests without using production GCS buckets
* Test file upload and download workflows
* Test bucket and object operations
* Create isolated storage environments for CI/CD
* Develop against GCS-compatible APIs without cloud usage costs
* Share a reusable storage emulator across development environments
* Avoid managing real cloud credentials during local and automated testing

## Dependencies for Fake GCS Server

This deployment requires:

* The Fake GCS Server application or container image
* A filesystem storage backend
* A writable `/data` directory
* A public or private network endpoint for client connections
* A Google Cloud Storage-compatible client, SDK, REST client, or test framework

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

No real Google Cloud account or service account credentials are required for standard emulator testing.

## Common Use Cases

* Develop applications that integrate with Google Cloud Storage
* Run integration tests without using production GCS buckets
* Test file upload and download workflows
* Test bucket and object operations
* Create isolated storage environments for CI/CD
* Develop against GCS-compatible APIs without cloud usage costs
* Share a reusable storage emulator across development environments

## API Compatibility

Fake GCS Server exposes a Google Cloud Storage-compatible HTTP API for bucket and object operations.

It can be accessed through:

* Google Cloud Storage client libraries
* SDKs
* REST requests
* Automated test frameworks
* Applications configured with a custom storage endpoint

Fake GCS Server emulates Google Cloud Storage APIs only. It does not emulate the full Google Cloud Platform.

## Persistent Storage

The filesystem backend stores buckets and objects in:

```text
/data
```

When `/data` is backed by persistent storage, emulator data can be retained across supported restarts and redeployments.

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

## API Endpoint

The service exposes a Google Cloud Storage-compatible API endpoint.

Example public endpoint:

```text
https://your-fake-gcs-server.example.com
```

The endpoint is intended for API requests and does not provide a built-in web dashboard or graphical user interface.

Opening the root domain directly in a browser should not be expected to display a web application.

## Testing the API

You can verify that the service is reachable by listing available buckets:

```bash
curl https://your-fake-gcs-server.example.com/storage/v1/b
```

A successful response indicates that the emulator is available.

## Connecting Applications

Applications can configure their Google Cloud Storage client to use the emulator endpoint instead of the real Google Cloud Storage API.

Example endpoint:

```text
https://your-fake-gcs-server.example.com
```

Applications running in the same private network may use an internal HTTP endpoint, depending on the hosting environment:

```text
http://fake-gcs-server.internal:4443
```

## Client Configuration

Some Google Cloud libraries support the `STORAGE_EMULATOR_HOST` environment variable.

For an internal application:

```env
STORAGE_EMULATOR_HOST="http://fake-gcs-server.internal:4443"
```

For an external development client:

```env
STORAGE_EMULATOR_HOST="https://your-fake-gcs-server.example.com"
```

Depending on the SDK or programming language, explicit custom endpoint configuration may be required instead of relying only on `STORAGE_EMULATOR_HOST`.

Always verify the emulator configuration supported by the specific Google Cloud Storage library used by your application.

## Example Node.js Client

A Google Cloud Storage client can be configured to use a custom API endpoint:

```javascript
const { Storage } = require("@google-cloud/storage");

const storage = new Storage({
  apiEndpoint: "https://your-fake-gcs-server.example.com",
  projectId: "demo-project"
});
```

No real Google Cloud credentials are required for standard emulator testing.

## Service Architecture

```text
Application
    │
    │ Google Cloud Storage API
    ▼
Fake GCS Server
    │
    ▼
Filesystem Backend
    │
    ▼
/data
```

## Important Notes

* Fake GCS Server emulates Google Cloud Storage APIs.
* It does not emulate the full Google Cloud Platform.
* It does not include a built-in web UI.
* The service endpoint is intended for API access.
* Filesystem-backed data is stored under `/data`.
* No PostgreSQL, Redis, MySQL, or MongoDB service is required.
* No real Google Cloud account or service account credentials are required for standard emulator usage.
* Some SDKs may require explicit custom endpoint configuration.
* Fake GCS Server is intended primarily for development, testing, and CI workflows rather than production object storage workloads.


## Similar templates

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀
- [Foundry Virtual Tabletop](https://railway.com/deploy/X5tR6G) — A Self-Hosted & Modern Roleplaying Platform
- [Letta Code Remote](https://railway.com/deploy/letta-code-remote) — Run a Letta Code agent 24/7. No inbound ports, just deploy.

Open this page in a browser: https://railway.com/deploy/fake-gcs-server
