Current Image Status
Current Deployed Image:
Digest : sha256:3be9fbbd667475a86adf1215e28d67885bf98ff480d049e4039a937e5951b5f0
Tags : latest, v20251209-214104
Location : 881490134703.dkr.ecr.us-east-1.amazonaws.com/oasis-api
ECS Task Definition:
File : oasis-api-task-definition.json
Cluster : oasis-api-cluster
Service : oasis-api-service
Dockerfile Location
The production Dockerfile is located at:
Copy /Volumes/Storage/OASIS_CLEAN/docker/Dockerfile Note : The Dockerfile in the docker/ directory was previously empty. It has now been updated to build the ONODE WebAPI with proper external library handling.
The root Dockerfile was building the STAR WebAPI (not ONODE WebAPI)
The docker/Dockerfile was empty
External libraries handling was unclear
✅ docker/Dockerfile now builds ONODE WebAPI correctly
✅ Handles external libraries properly:
External Libs/ (IPFS client)
holochain-client-csharp/ (Holochain client)
NextGenSoftware-Libraries/ (Utilities, logging, etc.)
✅ Uses .NET 9.0 (matching current build)
✅ Includes all provider projects
✅ Proper multi-stage build for optimization
How to Update the Deployed Image
Step 1: Build and Push New Image
This script will:
Authenticate with AWS ECR
Build the Docker image with tags: latest and v{timestamp}
Display the new image digest
Step 2: Update ECS Service
After the image is pushed, update the ECS service:
Step 3: Verify Deployment
Check the ECS service status:
Dockerfile Structure
The Dockerfile uses a multi-stage build:
Base Stage : .NET 9.0 runtime with curl for health checks
Build Stage :
Copies solution and project files
Copies external libraries
Publish Stage : Publishes the application
Final Stage : Copies published files to runtime image
Key Configuration
Environment Variables
Set in ECS task definition:
ASPNETCORE_ENVIRONMENT=Production
ASPNETCORE_URLS=http://+:80
ConnectionStrings__MongoDBOASIS=...
Endpoint : /swagger/index.html
External Libraries Handling
The Dockerfile properly handles:
External Libs/ - IPFS HTTP client
Copied before restore to ensure availability
holochain-client-csharp/ - Holochain client
NextGenSoftware-Libraries/ - Core utilities
Includes: Utilities, ErrorHandling, Logging, WebSocket, etc.
Provider Projects - All 30+ blockchain providers
Key providers copied explicitly
Remaining providers included via COPY . .
Troubleshooting
Build Fails with Missing Dependencies
Ensure all external libraries are present:
Build Context Too Large
Check .dockerignore in the docker/ directory. It should exclude:
Image Push Fails
Test Build Locally (optional):
Monitor Deployment :
Check ECS service logs in CloudWatch
Verify health checks are passing
docker/Dockerfile - Production Dockerfile
docker/deploy.sh - Build and push script
docker/update-ecs.sh - ECS service update script
docker/.dockerignore - Build context exclusions
oasis-api-task-definition.json - ECS task definition
DOCKER_CONTEXT.md - Detailed Docker context documentation
Last Updated : December 17, 2025 Status : Ready for deployment