Docker Setup Complete ✅
Summary
The OASIS API is now fully configured for Docker deployment. All necessary files have been created and updated.
Files Created/Updated
Core Docker Files
docker/Dockerfile- Production-ready DockerfileUses .NET 9.0 SDK and runtime
Multi-stage build for optimized image size
Includes health checks
Configured for AWS ECS Fargate deployment
docker/.dockerignore- Optimized ignore fileExcludes unnecessary files and directories
Reduces build context size
Includes all required dependencies
docker/docker-compose.yml- Local development compose fileSingle service configuration for OASIS API
Port mappings: 5003:80, 5004:443
Health checks configured
docker/build.sh- Local build scriptBuilds Docker image locally for testing
Includes error checking and helpful output
docker/README.md- Complete documentationUsage instructions
Configuration details
Troubleshooting guide
Updated Files
docker-compose.yml(root) - Updated to usedocker/DockerfileChanged from ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Dockerfile
Updated port mappings to match Dockerfile (80/443)
Updated health check endpoint
Key Configuration
.NET Version
Runtime: .NET 9.0 (
mcr.microsoft.com/dotnet/aspnet:9.0)SDK: .NET 9.0 (
mcr.microsoft.com/dotnet/sdk:9.0)Matches project target framework
Ports
Internal: 80 (HTTP), 443 (HTTPS)
External: 5003 (HTTP), 5004 (HTTPS)
Environment
ASPNETCORE_ENVIRONMENT=ProductionASPNETCORE_URLS=http://+:80
Health Check
Endpoint:
/swagger/index.htmlInterval: 30s
Timeout: 10s
Retries: 3
Start Period: 60s
Quick Start
Build Locally
Run Locally
Deploy to AWS ECR
Update ECS Service
Testing
The Docker setup is ready for testing. To test the build:
If the build succeeds, you can run the container:
Then access:
API: http://localhost:5003
Swagger: http://localhost:5003/swagger
Next Steps
Test the build locally using
./docker/build.shVerify the image runs with
docker run -p 5003:80 oasis-api:latestDeploy to AWS ECR using
./docker/deploy.shUpdate ECS service using
./docker/update-ecs.sh
Notes
The Dockerfile includes all 30+ OASIS providers automatically
OASIS_DNA.json will be included if present in the WebAPI project
Configuration can be overridden via environment variables
The build uses optimized multi-stage approach for smaller final image
Status: ✅ Ready for Docker build and deployment Last Updated: $(date)
Last updated