Centralized service to manage microfrontends via UI across environments. š
9.7K
A centralized service for managing and orchestrating microfrontends across multiple environments. š This project provides a JSON-based configuration system that describes microfrontends, including their versions, and enables independent deployment and management without requiring a complete frontend rebuild.
The service supports multiple environments (DEV, UAT, PROD, etc.) and maintains separate configurations for each environment, allowing for different versions of microfrontends to be deployed in different stages of development. š¦
Features šÆ š JSON-based configuration of microfrontends with version management š Multi-environment support (DEV, UAT, PROD, etc.) š Independent deployment of microfrontends š Environment-specific configurations š Integration with various microfrontend technologies (coming soon)
| Variable | Default Value | Description |
|---|---|---|
FRONTEND_URL | http://localhost:3000 | URL of the frontend application. |
REGISTRATION_ALLOWED | false | If true, allows new user registration. |
ALLOW_EMBEDDED_LOGIN | true | If true, enables the login system within the application. |
MICROFRONTEND_HOST_FOLDER | /var/microfrontends | Folder containing the host microfrontends. |
NOSQL_DATABASE_URL | mongodb://localhost:27017/microfrontend-orchestrator | MongoDB database connection URL. |
REDIS_URL | redis://localhost:6379 | Redis server connection URL. |
REDIS_PASSWORD | (empty) | Password for Redis access (if set). |
EMAIL_SMTP_HOST | smtp.example.com | SMTP server host for sending emails. |
EMAIL_SMTP_PORT | 587 | SMTP server port (e.g., 587 for TLS). |
EMAIL_SMTP_SECURE | false | If true, uses secure connection (SSL/TLS). |
EMAIL_SMTP_USER | (empty) | Username for SMTP authentication. |
EMAIL_SMTP_PASSWORD | (empty) | Password for SMTP authentication. |
EMAIL_SMTP_FROM | [email protected] | Sender email address. |
JWT_SECRET | your-secret-key-here | Secret key for JWT generation and validation. |
AUTH0_DOMAIN | (empty) | Auth0 tenant domain. |
AUTH0_CLIENT_ID | (empty) | Client ID of the Auth0 application. |
AUTH0_CLIENT_SECRET | (empty) | Client secret of the Auth0 application. |
AUTH0_AUDIENCE | (empty) | API Audience configured in Auth0. |
AUTH0_SECRET | (empty) | Secret for Auth0 token validation. |
AZURE_ENTRAID_TENANT_ID | (empty) | Azure Entra ID tenant ID. |
AZURE_ENTRAID_CLIENT_ID | (empty) | Client ID of the registered Azure application. |
AZURE_ENTRAID_CLIENT_SECRET | (empty) | Client secret of the registered Azure application. |
AZURE_ENTRAID_REDIRECT_URI | (empty) | Redirect URI for Azure authentication. |
AZURE_ENTRAID_AUTHORITY | https://login.microsoftonline.com | Authentication authority URL. |
AZURE_ENTRAID_SCOPES | openid profile email | Required scopes during login. |
AZURE_ENTRAID_API_AUDIENCE | (empty) | Protected API identifier in Azure. |
GOOGLE_CLIENT_ID | (empty) | Client ID for Google OAuth authentication. |
GOOGLE_CLIENT_SECRET | (empty) | Client secret for Google OAuth authentication. |
GOOGLE_REDIRECT_URI | (empty) | Redirect URI for Google OAuth. |
GOOGLE_AUTH_SCOPE | https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile | Required scopes to get Google email and profile. |
ALLOWED_ORIGINS | (empty) | List of allowed URLs for cross-origin requests. |
LOG_LEVEL | info (debug/info/warn/error) | Logging level. |
services:
mongodb:
image: mongo:latest
container_name: mongodb
restart: always
ports:
- '27017:27017'
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: example
MONGO_INITDB_DATABASE: microfrontend-orchestrator
volumes:
- mongodb_data:/data/db
healthcheck:
test: ["CMD", "mongosh", "--eval", "'db.runCommand({ ping: 1 })'"]
interval: 10s
timeout: 5s
retries: 5
redis:
image: redis:alpine
container_name: redis
restart: always
ports:
- '6379:6379'
volumes:
- redis_data:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
mfe-orchestrator:
image: lory1990/mfe-orchestrator:latest
container_name: mfe-orchestrator
restart: always
ports:
- '8080:80'
environment:
NOSQL_DATABASE_URL: mongodb://root:example@mongodb:27017
REDIS_URL: redis://redis:6379
MICROFRONTEND_HOST_FOLDER: /upload-microfrontends
volumes:
- upload_microfrontends:/upload-microfrontends
depends_on:
- mongodb
- redis
volumes:
mongodb_data:
redis_data:
upload_microfrontends:
Content type
Image
Digest
sha256:f7cd4bfd4ā¦
Size
181.4 MB
Last updated
about 1 month ago
docker pull lory1990/mfe-orchestrator