π³Docker Deployment Guide for OASIS Ecosystem
Overview
This guide covers Docker deployment for all OASIS ecosystem components:
OASIS API Web API (.NET 8)
STAR API Web API (.NET 9)
OASIS OPORTAL (.NET 8 + React)
STAR WEB UI (.NET 8 + React)
OASIS WEB UI (React + Nginx)
Prerequisites
Docker Desktop installed
Docker Compose installed
Git repository cloned
π Quick Start
1. Build All Images
# Build all services
docker-compose build
# Or build specific service
docker-compose build oasis-api
docker-compose build star-api
docker-compose build oasis-oportal
docker-compose build star-web-ui2. Run All Services
3. Access Services
OASIS API: http://localhost:5000
STAR API: http://localhost:5001
OASIS OPORTAL: http://localhost:5002
STAR WEB UI: http://localhost:5003
OASIS WEB UI: http://localhost:3000
π Individual Service Deployment
OASIS API Web API (.NET 8)
STAR API Web API (.NET 9)
OASIS OPORTAL (.NET 8 + React)
STAR WEB UI (.NET 8 + React)
OASIS WEB UI (React + Nginx)
π§ Configuration
Environment Variables
Create a .env file in the root directory:
Custom Ports
Modify docker-compose.yml to change ports:
ποΈ Production Deployment
1. Docker Swarm
2. Kubernetes
3. Cloud Platforms
Railway
Push to GitHub
Connect repository to Railway
Railway auto-detects Dockerfiles
AWS ECS
Build and push to ECR
Create ECS task definitions
Deploy using ECS service
Azure Container Instances
Build and push to ACR
Deploy using Azure CLI
π Monitoring & Health Checks
Health Check Endpoints
OASIS API:
/api/healthSTAR API:
/api/healthOPORTAL:
/STAR WEB UI:
/OASIS WEB UI:
/health
Logs
Resource Monitoring
π Security Best Practices
1. Use Multi-stage Builds
All Dockerfiles use multi-stage builds to minimize image size.
2. Non-root User
3. Security Scanning
4. Secrets Management
π¨ Troubleshooting
Common Issues
Build Failures
Port Conflicts
Memory Issues
Database Connection
Debug Commands
π Performance Optimization
1. Image Optimization
Use Alpine Linux base images
Multi-stage builds
Remove unnecessary packages
2. Caching
Layer caching for faster builds
Use .dockerignore files
Order Dockerfile commands by frequency of change
3. Resource Limits
π CI/CD Integration
GitHub Actions
GitLab CI
π Additional Resources
Happy Containerizing! π³
Last updated