feat(appliance): initial release of MERICA standalone appliance v1.0.0
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
# ==============================================================================
|
||||
# MERICA STANDALONE APPLIANCE — DOCKER COMPOSE CONFIGURATION
|
||||
# ==============================================================================
|
||||
# Clean, ultra-lightweight standalone container running strictly MERICA:
|
||||
# - Unified Nginx Reverse Proxy + ReactFlow Canvas UI + FastAPI Modular Backend
|
||||
# - Port: 14000 (Internal loopback 127.0.0.1:8000)
|
||||
# - Zero Airflow containers inside (Connects to your External Airflow cluster)
|
||||
# - Zero PostgreSQL MetaDB inside (Connects to your External Lakehouse DB)
|
||||
# - Pre-seeded Starter Pipelines mounted to guarantee DAGs list appears instantly
|
||||
# ==============================================================================
|
||||
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
merica:
|
||||
build: .
|
||||
image: ${MERICA_IMAGE:-registry.sicabe.com/merica:1.0.0}
|
||||
container_name: merica-appliance
|
||||
restart: always
|
||||
ports:
|
||||
- "${MERICA_PORT:-14000}:80"
|
||||
extra_hosts:
|
||||
- "host.docker.internal:host-gateway"
|
||||
environment:
|
||||
# 1. External Apache Airflow Connectivity
|
||||
- AIRFLOW_WEB_URL=${AIRFLOW_WEB_URL:-http://host.docker.internal:14080}
|
||||
- AIRFLOW_API_URL=${AIRFLOW_API_URL:-http://host.docker.internal:14080}
|
||||
|
||||
# 2. Pipeline SSOT Directories (Mounted Starter / Git Repository)
|
||||
- AIRFLOW_CONFIGS_DIR=/app/merica-pipelines/configs
|
||||
- AIRFLOW_METADATA_DIR=/app/merica-pipelines/metadata
|
||||
- AIRFLOW_DBT_DIR=/app/merica-pipelines/dbt
|
||||
|
||||
# 3. External PostgreSQL Database (Introspection & Airflow MetaDB)
|
||||
- POSTGRES_HOST=${POSTGRES_HOST:-host.docker.internal}
|
||||
- POSTGRES_PORT=${POSTGRES_PORT:-14432}
|
||||
- POSTGRES_DB=${POSTGRES_DB:-dlh_lakehouse}
|
||||
- POSTGRES_USER=${POSTGRES_USER:-dlh_user}
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-dlh_password}
|
||||
|
||||
# 4. Storage & MinIO S3 Lakehouse (Optional External)
|
||||
- MINIO_ENDPOINT=${MINIO_ENDPOINT:-host.docker.internal:14096}
|
||||
- MINIO_ROOT_USER=${MINIO_ROOT_USER:-minio_admin}
|
||||
- MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD:-minio_password}
|
||||
|
||||
# 5. Security & Authentication
|
||||
- SECRET_KEY=${SECRET_KEY:-merica-secret-key-dlh-12345678901234567890123456789012}
|
||||
- MERICA_ADMIN_USERNAME=${MERICA_ADMIN_USERNAME:-admin}
|
||||
- MERICA_ADMIN_PASSWORD=${MERICA_ADMIN_PASSWORD:-admin}
|
||||
|
||||
# 6. External Keycloak IAM & SSO (Optional)
|
||||
- KEYCLOAK_URL=${KEYCLOAK_URL:-http://host.docker.internal:14180}
|
||||
- KEYCLOAK_REALM=${KEYCLOAK_REALM:-merica}
|
||||
- KEYCLOAK_CLIENT_ID=${KEYCLOAK_CLIENT_ID:-merica-app}
|
||||
|
||||
# 7. Metadata Governance (Optional OpenMetadata)
|
||||
- OPENMETADATA_HOST=${OPENMETADATA_HOST:-http://host.docker.internal:14585}
|
||||
- OPENMETADATA_JWT_TOKEN=${OPENMETADATA_JWT_TOKEN:-}
|
||||
- ENABLE_OPENMETADATA_SYNC=${ENABLE_OPENMETADATA_SYNC:-false}
|
||||
- GOVERNANCE_DOMAIN=${GOVERNANCE_DOMAIN:-Lingkungan Hidup & Kehutanan}
|
||||
- GOVERNANCE_OWNER_TEAM=${GOVERNANCE_OWNER_TEAM:-de_team_dlh}
|
||||
- GOVERNANCE_OWNER_NAME=${GOVERNANCE_OWNER_NAME:-Data Engineering DLH}
|
||||
- GOVERNANCE_TIER=${GOVERNANCE_TIER:-Tier.Tier1}
|
||||
- GOVERNANCE_CERTIFICATION=${GOVERNANCE_CERTIFICATION:-Certification.Gold}
|
||||
|
||||
volumes:
|
||||
# PENTING: Mount folder pipeline starter / Git SSOT agar DAGs list langsung muncul
|
||||
- ${PIPELINES_DIR:-./pipelines}:/app/merica-pipelines
|
||||
- merica_storage:/app/storage
|
||||
- merica_data:/app/data
|
||||
|
||||
volumes:
|
||||
merica_storage:
|
||||
merica_data:
|
||||
Reference in New Issue
Block a user