Overcast is alpha — behaviour and APIs may change between releases. Pin your version and read the changelog before upgrading.

overcast

Configuration

Overcast is configured entirely with environment variables. The handful most people set, where each area is documented, and the service names OVERCAST_STATE_<SERVICE> is keyed by.

Every setting is an environment variable; there is no config file. Set them on the command line, with docker run -e, or in a Compose environment: block:

OVERCAST_PORT=4566 OVERCAST_LOG_LEVEL=debug overcast serve

The ones most people set

VariableDefaultChange it when
OVERCAST_PORT4566Something else already has 4566
OVERCAST_HOSTNAMElocalhostClient-facing URLs need a name containers share too — usually localhost.overcast.sh
OVERCAST_STATEautoYou want memory for disposable tests, or persistent to survive a restart
OVERCAST_DATA_DIR~/.overcast/dataPersisted state belongs somewhere else
OVERCAST_LOG_LEVELinfoYou are filing a bug — use debug
OVERCAST_DEBUGfalseYou want the /_overcast/debug/* endpoints

Everything else is in the environment variable reference.

By area

PageAnswers
Environment variable referenceEvery variable Overcast reads, and its default
Bind address and portWhich addresses and ports the API and console listen on
Running two instances on one hostWhich ports collide, and which move out of the way
Log levelsWhat each OVERCAST_LOG_LEVEL prints
Exposing MCPReaching /_overcast/mcp from a non-local client
Storage and persistenceWhat OVERCAST_STATE=auto picks, and per-service overrides
NetworkingHostnames, Docker networks and VPC egress
HTTPS and HTTP/2OVERCAST_TLS and getting the local CA trusted
LocalStack environment variablesWhich LocalStack variables are read as aliases

Service names

The per-service storage override OVERCAST_STATE_<SERVICE> is keyed by the names below, upper-cased. CloudWatch Logs is logs, so its override is OVERCAST_STATE_LOGS; OVERCAST_STATE_CLOUDWATCH_LOGS names nothing and is rejected at startup.

Every service listed always runs — there is nothing to switch off, and nothing to configure to get one. Each name is the service’s AWS CLI name, which for several services matches neither the display name nor the aws-cdk-lib module you would import, so the CDK column carries that mapping too. For per-service endpoint coverage, follow the doc links in Documentation § Services.

NameServiceCDK module (aws-cdk-lib/…)
s3S3aws-s3
sqsSQSaws-sqs
dynamodbDynamoDBaws-dynamodb
lambdaLambdaaws-lambda
apigatewayAPI Gatewayaws-apigateway, aws-apigatewayv2
appsyncAppSyncaws-appsync
cloudfrontCloudFrontaws-cloudfront, aws-cloudfront-origins
cognitoCognitoaws-cognito
ec2EC2 / VPCaws-ec2
snsSNSaws-sns
iamIAMaws-iam
ecsECSaws-ecs
ecrECRaws-ecr, aws-ecr-assets
kmsKMSaws-kms
kinesisKinesisaws-kinesis
eventbridgeEventBridgeaws-events, aws-events-targets
schedulerScheduleraws-scheduler
cloudformationCloudFormationaws-cloudformation
rdsRDSaws-rds
elasticacheElastiCacheaws-elasticache
efsEFSaws-efs
appconfigAppConfigaws-appconfig
appconfigdataAppConfigData— (runtime data plane; no constructs)
secretsmanagerSecrets Manageraws-secretsmanager
ssmSSMaws-ssm
logsCloudWatch Logsaws-logs
sesSESaws-ses
stsSTS— (used by the CDK CLI itself)
route53Route 53aws-route53, aws-route53-targets
autoscalingAuto Scalingaws-autoscaling, aws-applicationautoscaling
stepfunctionsStep Functionsaws-stepfunctions, aws-stepfunctions-tasks
pipesPipesaws-pipes
wafWAF v2aws-wafv2
shieldShieldaws-shield
acmACMaws-certificatemanager
athenaAthenaaws-athena
bedrockBedrockaws-bedrock
cloudwatchCloudWatchaws-cloudwatch, aws-cloudwatch-actions
dynamodbstreamsDynamoDB Streams— (enabled by the stream prop on aws-dynamodb)
firehoseFirehoseaws-kinesisfirehose
glueGlueaws-glue
opensearchOpenSearchaws-opensearchservice
appregistryAppRegistryaws-servicecatalogappregistry
backupBackupaws-backup
cloudtrailCloudTrailaws-cloudtrail
eksEKSaws-eks
elbv2ELBv2aws-elasticloadbalancingv2
mskMSKaws-msk
organizationsOrganizations— (no constructs)
transferTransfer Familyaws-transfer