Deploy fakecloud

An open-source AWS emulator for development, testing, and automation.

Deploy fakecloud

Just deployed

/data

Deploy and Host fakecloud on Railway

fakecloud is a lightweight, open-source AWS-compatible cloud emulator for development and testing. It provides AWS-compatible APIs for services such as S3, SQS, SNS, DynamoDB, IAM, STS, Secrets Manager, CloudWatch, EventBridge, and many others, allowing applications and infrastructure tools to run against an isolated AWS-like environment.

About Hosting fakecloud

This template deploys fakecloud as a single container on Railway using the official fakecloud container image.

fakecloud exposes its AWS-compatible APIs through a unified gateway on port 4566. AWS SDKs, AWS CLI, Terraform, OpenTofu, applications, and automated tests can connect to the Railway public domain and use it as a custom AWS endpoint.

A persistent Railway volume is mounted at /data, allowing supported fakecloud state to survive container restarts when persistent storage mode is enabled.

No custom start command is required because the official container image starts the fakecloud server automatically.

Important: The Public Domain Is Not a Web Dashboard

The Railway public domain is an AWS-compatible API endpoint, not a web interface or dashboard.

Opening the root URL directly in a browser, for example:

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

may return an error or an API Gateway-style response. This does not mean the deployment has failed.

Use the fakecloud health endpoint to verify that the service is running:

https://your-fakecloud.up.railway.app/_fakecloud/health

The main public URL should normally be used by AWS SDKs, AWS CLI, Terraform, OpenTofu, applications, and other tools that support custom AWS endpoints.

Common Use Cases

  • Develop applications against AWS-compatible APIs without connecting to production AWS
  • Test AWS SDK integrations in an isolated environment
  • Run Terraform or OpenTofu infrastructure tests
  • Test S3, SQS, SNS, DynamoDB, IAM, STS, EventBridge, and other AWS APIs
  • Build integration and end-to-end testing environments
  • Replace external AWS dependencies during development and CI workflows
  • Test cross-service AWS workflows without provisioning real cloud resources
  • Use an open-source alternative to LocalStack for supported AWS APIs

Dependencies for fakecloud Hosting

  • Railway service running the official fakecloud container image
  • Railway public networking targeting port 4566
  • Railway volume mounted at /data for persistent state

Important Configuration

fakecloud listens on:

0.0.0.0:4566

Persistent state is stored under:

/data

Important configuration variables include:

FAKECLOUD_ADDR
FAKECLOUD_REGION
FAKECLOUD_STORAGE_MODE
FAKECLOUD_DATA_PATH
FAKECLOUD_LOG_LEVEL

AWS credentials are not required by the fakecloud service itself for normal emulation.

Applications using AWS SDKs or AWS CLI can use dummy development credentials while pointing their endpoint to the fakecloud Railway domain.

Railway Networking

Expose the fakecloud service through Railway Public Networking using target port:

4566

The generated Railway domain becomes the AWS-compatible endpoint.

Example:

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

Do not expect this URL to render a dashboard in the browser.

For applications running inside the same Railway project, Railway private networking can also be used instead of routing requests through the public endpoint.

Health Check

Use:

/_fakecloud/health

as the Railway health check path if you configure one.

Do not use:

/

because the root path is handled as part of the AWS-compatible gateway rather than as a conventional web homepage.

Connecting with AWS CLI

Configure dummy credentials:

export AWS_ACCESS_KEY_ID=test
export AWS_SECRET_ACCESS_KEY=test
export AWS_DEFAULT_REGION=us-east-1

Then point AWS CLI to the Railway endpoint:

aws \
  --endpoint-url https://your-fakecloud.up.railway.app \
  s3api list-buckets

The same endpoint pattern can be used with AWS SDKs and infrastructure tools that support custom AWS endpoints.

Persistent Storage

This template mounts a Railway Volume at:

/data

fakecloud is configured to use this directory for persistent emulator state.

Keeping state on a Railway Volume allows supported resources to survive deployments and container restarts.

Railway Limitations

fakecloud includes functionality that can use Docker or Podman to run additional workloads for some AWS services.

Railway application containers do not expose the host Docker socket, so features that require fakecloud to launch additional containers may not function fully.

This can affect functionality such as:

  • Lambda runtime execution
  • RDS database instances
  • ElastiCache data-plane containers
  • ECS task execution
  • MQ broker data planes
  • MSK broker data planes
  • Some EC2 runtime operations

Some of these services may still expose control-plane or metadata emulation even when their actual runtime workload cannot be started.

Core AWS-compatible APIs that run directly inside fakecloud remain suitable for development, SDK integration, infrastructure testing, automation, and CI workloads.

fakecloud vs Alternatives

FeaturefakecloudLocalStackFloci
AWS-compatible APIs
Open source✅ / varies by feature
Single-container deployment
Unified port 4566
Persistent state
AWS SDK compatibility
Terraform workflows
Basic use without account token⚠️
Lightweight Railway deployment⚠️
Browser dashboard included⚠️
Container-backed workloads fully supported on Railway⚠️

Why Deploy fakecloud 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 fakecloud on Railway, you can maintain a remotely accessible AWS-compatible testing environment without managing your own server.

Railway handles container deployment, networking, persistent volumes, service restarts, and domain provisioning, while fakecloud provides the AWS-compatible API layer.

This template is particularly useful for development teams, API integrations, automated testing, CI pipelines, Terraform testing, and applications that need a reusable AWS-compatible development environment.


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