A hands-on local Google Cloud lab built with Floci GCP, Docker Desktop, WSL Ubuntu, and the gcloud CLI.
This repository documents a reproducible setup for practicing cloud workflows locally without using a real GCP account. The goal is to make it easy to explore service behavior, emulator wiring, CLI troubleshooting, and small end-to-end experiments from a developer workstation.
- Local GCP emulation with Floci GCP
- WSL-based development workflow on Windows
- Environment activation and validation scripts
- Practical labs for common services
- Troubleshooting notes and lessons learned
- A portfolio-friendly record of cloud practice
Completed:
- Cloud Storage local flow
- Pub/Sub local flow
- Activation and health-check scripts
Planned:
- Secret Manager lab
- Firestore lab
- Cloud Run experiment
- Cloud SQL experiment
- Screenshots of successful flows
- Floci GCP local emulator
- Docker Desktop
- WSL Ubuntu
- Google Cloud CLI (
gcloud) - Bash
- VS Code with WSL integration
floci-gcp-local-lab/
├── README.md
├── LICENSE
├── .gitignore
├── activate-gcp-local.sh
├── check-gcp-local.sh
├── labs/
│ ├── 01-storage.md
│ ├── 02-pubsub.md
│ ├── 03-secret-manager.md
│ ├── 04-firestore.md
│ ├── 05-cloud-run.md
│ └── 06-cloud-sql.md
├── docs/
│ └── lessons-learned/
│ ├── 01-endpoint-routing.md
│ ├── 02-wsl-vscode-nano-notes.md
│ └── 03-floci-image-version-warning.md
├── examples/
│ └── commands.sh
└── screenshots/
└── .gitkeep
source ./activate-gcp-local.sh./check-gcp-local.shgcloud pubsub topics create my-topic
gcloud pubsub subscriptions create my-sub --topic=my-topic
gcloud pubsub topics publish my-topic --message="hello from floci-gcp"
gcloud pubsub subscriptions pull my-sub --auto-ackStarts Floci GCP if needed and exports the local emulator environment variables.
Runs a quick audit of:
- Floci container status
- Emulator environment variables
- Docker container visibility
- Floci doctor output
- Enabled services
- Active
gcloudproject
Each lab is intentionally short and repeatable.
01-storage.md- Buckets, uploads, downloads02-pubsub.md- Topics, subscriptions, publish, pull03-secret-manager.md- Create, add version, access secret04-firestore.md- Basic document operations05-cloud-run.md- Local experiment notes06-cloud-sql.md- Local experiment notes
Screenshots are helpful, but not mandatory on day one.
A strong technical repo can still be useful with:
- clean documentation,
- reproducible commands,
- lessons learned,
- and successful command output examples.
The screenshots/ folder is included now so visual evidence can be added later.
Suggested screenshots to add later:
- successful Pub/Sub publish and pull
- successful Storage upload/download
floci gcp statusfloci gcp services- one screenshot of the WSL + VS Code workflow
The docs/lessons-learned/ folder is intentional.
It is not a diary of mistakes. It is a technical notes section that captures issues, root causes, and fixes in a reusable way. That makes the repo more credible, not less.
Good lessons-learned notes usually document:
- symptom,
- likely cause,
- actual fix,
- verification step,
- and takeaway.
If you have never published a project before, create a new GitHub repository for this lab.
Suggested repository names:
floci-gcp-local-lablocal-gcp-lab-wslgcp-local-emulator-lab
A dedicated repository is better than mixing this into unrelated work because it gives the lab a clear story and makes it easier to share in interviews or on your resume.
- Add the Secret Manager lab.
- Add the Firestore lab.
- Capture 3-5 screenshots.
- Add Cloud Run experiment notes.
- Add Cloud SQL experiment notes.
- Polish the README with outcomes and screenshots.
This repository documents local practice built around Floci GCP and related local development tooling.