Skip to content

Configuration

Floci Studio emulates the AWS API surface on http://localhost:4566. Any AWS SDK client that supports a custom endpoint will work without code changes.

The studio UI reads its endpoint from the Settings page (/settings). The default is:

http://localhost:4566

To change it, open Settings in the sidebar and update the Endpoint field. The value is persisted in localStorage.

For local emulation, credentials are ignored by the engine but required by SDK clients. The defaults are:

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

These are pre-configured in the studio. You can override them in Settings.

When running via Docker Compose, these variables can be set in a .env file at the project root:

VariableDefaultDescription
AWS_ENDPOINT_URLhttp://localhost:4566Endpoint the sidecar uses to reach the engine
AWS_DEFAULT_REGIONus-east-1Default AWS region
AWS_ACCESS_KEY_IDtestAccess key (any value works)
AWS_SECRET_ACCESS_KEYtestSecret key (any value works)
SIDECAR_TOKENopenAuth token for the FastAPI sidecar
SIDECAR_PORT8000Port the sidecar listens on
import boto3
client = boto3.client(
"sqs",
endpoint_url="http://localhost:4566",
region_name="us-east-1",
aws_access_key_id="test",
aws_secret_access_key="test",
)
import { SQSClient } from "@aws-sdk/client-sqs";
const client = new SQSClient({
endpoint: "http://localhost:4566",
region: "us-east-1",
credentials: { accessKeyId: "test", secretAccessKey: "test" },
});
provider "aws" {
region = "us-east-1"
access_key = "test"
secret_key = "test"
skip_credentials_validation = true
skip_metadata_api_check = true
s3_use_path_style = true
endpoints {
sqs = "http://localhost:4566"
sns = "http://localhost:4566"
lambda = "http://localhost:4566"
s3 = "http://localhost:4566"
}
}

Remove the endpoints block when deploying to real AWS — the rest of your code stays unchanged.