Any Cloud. Locally. - The local cloud console for Floci, an AWS-Console-style UI for your local multi-cloud runtime.
Any Cloud. Locally.
A local-first, cloud-aware runtime console for Floci and compatible local cloud emulators.
Floci UI is the web console for the Floci ecosystem. The current app is centered on a unified Cloud Explorer and a cloud-aware Console Home. It renders only real data returned by local runtimes and explicit placeholders for work that is not wired yet.
No fake resources, no demo rows, and no mock operational data are shown in normal mode.
AWS-only stack:
docker compose up
Full multi-cloud stack:
docker compose --profile multicloud up
Open http://localhost:4500.
This table is the source of truth for the current UI surface.
| Surface | AWS | Azure | GCP | Notes |
|---|---|---|---|---|
| Console Home | Yes | Yes | Yes | Cloud-aware overview page with runtime status and service cards. |
| Cloud Explorer / Storage | Yes | Yes | Yes | Unified storage view with resource table, inspector, object browser, and schema-driven actions. |
| Cloud Explorer / k8s Engine | Yes | Placeholder | Placeholder | AWS EKS list/inspect is wired. |
| Cloud Explorer / Database | Yes | Yes | Placeholder | AWS RDS list/inspect and Azure Cosmos DB NoSQL workflows. |
| Cloud Explorer / Compute | Yes | Placeholder | Placeholder | AWS EC2 and AMI workflows. |
| Cloud Explorer / Networking | Yes | Placeholder | Placeholder | AWS VPC/networking workflows. |
| Cloud Explorer / Serverless | Yes | Not exposed in navigation | Not exposed in navigation | AWS Lambda flows through the unified shell. |
| Dedicated page / Secrets Manager | Yes | No | No | AWS-only page outside Cloud Explorer. |
Visible placeholders in the current sidebar:
Cloud Explorer storage is the most complete unified category today.
storage resources with type bucket.storage resources with type container.storage resources with type bucket.Current gaps:
AWS only, through the unified shell.
Current gaps:
Two different database models are currently exposed under one category:
Cosmos DB currently includes:
Current gaps:
AWS only, through the unified shell plus AWS-specific panels where the workflow is too rich for a flat generic form.
Current gaps:
AWS only, through the unified shell plus an AWS-specific networking panel.
Current gaps:
AWS only in the current navigation.
Current gaps:
This is the only dedicated AWS page still outside Cloud Explorer.
Current gaps:
Floci UI is evolving toward a metadata-driven, cloud-aware console where one web app can render multiple local runtimes through the same shell.
The guiding rules are:

Short implementation notes live in docs/implementation-notes.md.
packages/
api/
src/
cloud-spi/
registry/
adapter-aws/
adapter-azure/
adapter-gcp/
routes/
service/
frontend/
src/
api/
components/
features/
pages/
High-level runtime flow:
Browser
-> frontend (React/Vite)
-> /api/clouds/*
-> Cloud Adapter Registry
-> provider adapter
-> local runtime
Default compose stack:
floci-ui on http://localhost:4500floci-api on http://localhost:4501floci on http://localhost:4566Start AWS-only:
docker compose up
Start AWS + Azure + GCP:
docker compose --profile multicloud up
Convenience targets:
make up
make up-multicloud
make down
make logs
Prerequisites:
Install dependencies:
pnpm install
Configure the API environment:
cp .env.example packages/api/.env
Important: the API runs from packages/api and loads environment variables from packages/api/.env.
Start Floci AWS Core with Docker:
docker run -d --name floci \
-p 4566:4566 \
-v /var/run/docker.sock:/var/run/docker.sock \
-e FLOCI_DEFAULT_REGION=us-east-1 \
-u root \
floci/floci:latest
Or from a local clone:
git clone https://github.com/floci-io/floci.git ../floci
cd ../floci
./mvnw clean quarkus:dev
Optional local runtimes:
http://localhost:4577http://localhost:4588Start the UI stack:
pnpm dev
That starts:
http://localhost:4500http://localhost:4501Split commands:
pnpm dev:api
pnpm dev:web
Default API environment values:
FLOCI_ENDPOINT=http://localhost:4566
FLOCI_AZURE_ENDPOINT=http://localhost:4577
FLOCI_AZURE_ACCOUNT_NAME=devstoreaccount1
FLOCI_GCP_ENDPOINT=http://localhost:4588
FLOCI_GCP_PROJECT=floci-local
AWS_REGION=us-east-1
AWS_ACCESS_KEY_ID=test
AWS_SECRET_ACCESS_KEY=test
PORT=4501
VITE_MOCK_MODE=false is kept in .env.example, but the current app is intended to run against real local runtimes.
pnpm lint
pnpm type-check
pnpm test
pnpm build
http proxy error or ECONNREFUSED on /api/*The frontend is up, but the API is not reachable on http://localhost:4501.
Check:
pnpm dev:api
curl http://localhost:4501/api/clouds
EADDRINUSE on port 4501Another API process is already running. Stop it first or kill the process holding port 4501.
Not connected or Runtime unavailableCheck the runtime directly:
curl http://localhost:4566/_floci/health
curl http://localhost:4501/api/clouds/aws/status
curl http://localhost:4501/api/clouds/azure/status
curl http://localhost:4501/api/clouds/gcp/status
For AWS local development, keep API credentials aligned with the runtime:
AWS_ACCESS_KEY_ID=test
AWS_SECRET_ACCESS_KEY=test
When adding new UI surface: