Deploy Cloudbox
A GCP emulator for Storage, Pub/Sub, Firestore, BigQuery, and web UI.
cloudbox
Just deployed
/data
Deploy and Host Cloudbox on Railway
Cloudbox is a local Google Cloud Platform emulator that provides development and testing endpoints for multiple GCP services, including Cloud Storage, Pub/Sub, Firestore, Secret Manager, BigQuery, Spanner, Cloud Tasks, Logging, Scheduler, and KMS.
It also includes an Admin UI for inspecting and managing the emulator environment.
About Hosting Cloudbox on Railway
Cloudbox runs as a single Railway service and exposes multiple Google Cloud-compatible service endpoints from one container.
The Admin UI runs on port 8888, while individual emulator services use separate ports.
A Railway Volume mounted at /data can be used to retain emulator state across supported restarts and redeployments.
Cloudbox does not require a real Google Cloud project, service account, PostgreSQL, Redis, MySQL, or other external database for standard emulator usage.
Common Use Cases
- Develop applications against GCP-compatible APIs
- Test Cloud Storage integrations
- Test Firestore application workflows
- Develop Pub/Sub producers and consumers
- Test Secret Manager integrations
- Develop against BigQuery-compatible APIs
- Test Cloud Tasks and Scheduler workflows
- Test KMS integrations
- Create isolated GCP development environments
- Run integration tests without accessing production Google Cloud resources
- Share a reusable cloud emulator across development teams and CI environments
Dependencies for Hosting Cloudbox on Railway
Cloudbox requires:
- Cloudbox container image
- Railway networking
- A Railway Volume mounted at
/dataif persistent state retention is needed - GCP-compatible SDKs, REST clients, or applications
Cloudbox does not require:
- PostgreSQL
- Redis
- MySQL
- MongoDB
- A real Google Cloud project
- Google Cloud service account credentials
Supported Services
Cloudbox exposes multiple emulated Google Cloud services.
| Service | Port |
|---|---|
| Admin UI | 8888 |
| Cloud Storage | 4443 |
| Firestore | 8080 |
| Pub/Sub gRPC | 8085 |
| Pub/Sub REST | 8086 |
| Secret Manager | 8090 |
| Cloud Scheduler | 8091 |
| Cloud KMS | 8092 |
| Cloud Tasks | 8123 |
| Cloud Spanner | 9010 |
| Cloud Logging | 9020 |
| BigQuery | 9050 |
The Admin UI is available on port 8888.
Other service ports are intended primarily for application and SDK access.
Accessing the Admin UI
Generate a Railway public domain for port 8888, then open:
https://your-cloudbox.up.railway.app
The Admin UI can be used to inspect the emulator environment and interact with supported services.
Persistent Storage
Mount a Railway Volume at:
/data
Cloudbox stores persistent emulator state in:
/data
Using persistent storage allows supported emulator resources to survive container restarts and redeployments.
No Redis or external database is required for persistence.
Connecting Applications
Applications running in the same Railway project can connect to Cloudbox through Railway private networking.
For a service named cloudbox, service endpoints may look like:
Cloud Storage:
http://cloudbox.railway.internal:4443
Firestore:
http://cloudbox.railway.internal:8080
Pub/Sub gRPC:
cloudbox.railway.internal:8085
Pub/Sub REST:
http://cloudbox.railway.internal:8086
Secret Manager:
http://cloudbox.railway.internal:8090
Cloud Scheduler:
http://cloudbox.railway.internal:8091
Cloud KMS:
http://cloudbox.railway.internal:8092
Cloud Tasks:
http://cloudbox.railway.internal:8123
Cloud Spanner:
cloudbox.railway.internal:9010
Cloud Logging:
http://cloudbox.railway.internal:9020
BigQuery:
http://cloudbox.railway.internal:9050
Use the endpoint configuration supported by the Google Cloud SDK or client library used by your application.
Service Architecture
Application / SDK
│
├── Storage :4443
├── Firestore :8080
├── Pub/Sub :8085 / :8086
├── Secret Manager :8090
├── Scheduler :8091
├── KMS :8092
├── Cloud Tasks :8123
├── Spanner :9010
├── Logging :9020
└── BigQuery :9050
│
▼
Cloudbox
│
├── Admin UI :8888
│
▼
/data
│
▼
Railway Volume
Networking
The Cloudbox Admin UI runs on port 8888.
Individual emulator services use separate ports and must be reachable by the applications that consume them.
Applications deployed inside the same Railway project should use Railway private networking whenever possible.
If external applications require direct access to individual emulator APIs, expose and configure the required service ports accordingly.
Important Notes
- Cloudbox is intended for development, testing, CI, and integration workflows.
- It is not a production replacement for Google Cloud Platform.
- Cloudbox emulates selected GCP APIs rather than the entire Google Cloud ecosystem.
- API compatibility may differ from the behavior of the real Google Cloud services.
- The Admin UI runs on port
8888. - Individual GCP emulator services run on separate ports.
- Persistent state can be stored under
/data. - No PostgreSQL, Redis, MySQL, or MongoDB service is required.
- No real Google Cloud credentials are required for standard emulator usage.
- Applications may need explicit custom endpoint configuration depending on the Google Cloud SDK or library being used.
- Compatibility should be validated for workloads that depend on advanced or service-specific Google Cloud behavior.
Why Deploy Cloudbox on Railway?
Railway provides a managed platform for running Cloudbox without requiring users to maintain dedicated servers or complex local environments.
Deploying Cloudbox on Railway provides a shared GCP-compatible development environment with multiple emulated services, persistent storage support, and a web-based Admin UI.
It is useful for application development, integration testing, CI pipelines, local experimentation, and collaborative development workflows without connecting to production Google Cloud resources.
Template Content
cloudbox
omab/cloudbox:latest