Reference Configuration

Configuration

LocalCloud is configured through environment variables passed to the Docker container. Most teams only need the default boot path plus the generated SDK environment export; the rest of this page covers the knobs you can turn when you need a more tailored local runtime.

Core Settings

VariableDefaultDescription
LOCALCLOUD_PROJECTlocal-projectDefault GCP project ID
LOCALCLOUD_SERVICESall enabledComma-separated list of services to enable
LOCALCLOUD_SEED_FILE/etc/localcloud/seed.yamlPath to seed file inside container
LOCALCLOUD_DATA_DIR/var/lib/localcloudPersistent data directory
LOCALCLOUD_IAM_MODEpermissiveIAM mode: permissive, strict, or gcp-live
JAVA_OPTS-Xmx512m -Xms128mJVM flags for the gateway

IAM Modes

  • permissive (default) — No credentials required. All requests are accepted.
  • strict — Validates token format but doesn’t verify against a real identity provider.
  • gcp-live — Proxies IAM checks to real GCP (requires credentials).

Per-Service Toggle

Each service can be individually enabled or disabled:

VariableDefaultService
LOCALCLOUD_ENABLE_GCStrueCloud Storage
LOCALCLOUD_ENABLE_PUBSUBtruePub/Sub
LOCALCLOUD_ENABLE_FIRESTOREtrueFirestore
LOCALCLOUD_ENABLE_BIGQUERYtrueBigQuery
LOCALCLOUD_ENABLE_SPANNERtrueSpanner
LOCALCLOUD_ENABLE_BIGTABLEtrueBigtable
LOCALCLOUD_ENABLE_SECRETMANAGERtrueSecret Manager
LOCALCLOUD_ENABLE_CLOUDTASKStrueCloud Tasks
LOCALCLOUD_ENABLE_LOGGINGtrueCloud Logging
LOCALCLOUD_ENABLE_MONITORINGtrueCloud Monitoring
LOCALCLOUD_ENABLE_MEMORYSTOREtrueMemorystore (Redis)
LOCALCLOUD_ENABLE_GKEfalseGKE (requires Docker socket)
LOCALCLOUD_ENABLE_COMPUTEfalseCompute Engine (requires Docker socket)
LOCALCLOUD_ENABLE_CLOUDRUNfalseCloud Run (requires Docker socket)

SDK Environment Variables

When LocalCloud is running, set these variables so your GCP SDKs connect locally:

VariableValueService
STORAGE_EMULATOR_HOSThttp://localhost:4443Cloud Storage
PUBSUB_EMULATOR_HOSTlocalhost:8085Pub/Sub
FIRESTORE_EMULATOR_HOSTlocalhost:8086Firestore
BIGTABLE_EMULATOR_HOSTlocalhost:8087Bigtable
SPANNER_EMULATOR_HOSTlocalhost:9010Spanner
BIGQUERY_EMULATOR_HOSThttp://localhost:9050BigQuery
SECRET_MANAGER_EMULATOR_HOSTlocalhost:8080Secret Manager
CLOUD_TASKS_EMULATOR_HOSTlocalhost:8080Cloud Tasks
REDIS_HOSTlocalhostMemorystore
GOOGLE_CLOUD_PROJECTlocal-projectAll services

Use the generated export block to set these automatically:

eval "$(curl -s http://localhost:8080/_localcloud/env?format=shell)"

Docker Compose

services:
  localcloud:
    image: jaysen2apache/localcloud
    ports:
      - "8080:8080"
      - "4443:4443"
      - "8085-8087:8085-8087"
      - "9010:9010"
      - "9050:9050"
      - "6379:6379"
    environment:
      LOCALCLOUD_PROJECT: my-project
      LOCALCLOUD_ENABLE_GKE: "false"
    volumes:
      - localcloud-data:/var/lib/localcloud
    deploy:
      resources:
        limits:
          memory: 4g

volumes:
  localcloud-data: