Mird237 Install [SAFE]

# 5️⃣ Pull MIRD237 image docker pull mirdcorp/mird237:latest

# 9️⃣ Verify curl -k https://localhost/healthcheck # Should return "status":"OK" For production, run the container under a Docker‑Compose stack that includes a dedicated PostgreSQL service, a reverse‑proxy (Traefik/Nginx) with Let’s Encrypt certificates, and persistent volumes ( /var/lib/mird237/data , /var/lib/postgresql/data ). 4.3 macOS 12+ (Apple Silicon & Intel) | Step | Command | |------|----------| | 1. Install Homebrew (if absent) | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" | | 2. Install .NET Runtime | brew install --cask dotnet-sdk | | 3. Install Docker Desktop | brew install --cask docker → launch Docker.app and wait for “Docker is running”. | | 4. Pull image | docker pull mirdcorp/mird237:latest | | 5. Install PostgreSQL | brew install postgresql@15 && brew services start postgresql@15 | | 6. Create DB & user | psql -U postgres -c "CREATE ROLE mird_user WITH LOGIN PASSWORD 'StrongPass!';" psql -U postgres -c "CREATE DATABASE mirddb OWNER mird_user;" | | 7. Init schema | docker run --rm -e PGPASSWORD=StrongPass! -v $(pwd)/sql:/sql mirdcorp/mird237-dbinit | | 8. Run container | docker run -d \ --name mird237 \ -p 443:443 \ -e DB_HOST=host.docker.internal \ -e DB_PORT=5432 \ -e DB_USER=mird_user \ -e DB_PASSWORD=StrongPass! \ -e LICENSE_KEY=XXXXX-XXXXX-XXXXX-XXXXX \ mirdcorp/mird237:latest | | 9. Access UI | Open https://localhost in Safari/Chrome. Accept self‑signed certificate on first load. | 5. Post‑Installation Configuration | Area | Recommended Settings | |------|----------------------| | TLS/Certificates | Replace the self‑signed cert ( /etc/mird237/certs/tls.crt ) with a production certificate from an internal CA or Let’s Encrypt. | | Database Backups | Schedule nightly pg_dumpall -U postgres -f /var/backups/mirddb_$(date +%F).sql and retain 30 days. | | User & Role Management | Create least‑privilege service accounts via Administration → Users → Roles . Disable the default admin account after creating a dedicated admin. | | Logging | Forward container logs to a centralized log aggregator (ELK, Splunk) using Docker --log-driver=syslog or a side‑car fluent‑bit container. | | Monitoring | Enable Prometheus endpoint: -e METRICS_ENABLED=true and add to existing Prometheus scrape config. | | Performance Tuning | Set DOTNET_GCHeapHardLimit=2G for the container if the host has >8 GB RAM. Adjust PostgreSQL shared_buffers to 25 % of RAM. | | License Activation | Verify activation status under Administration → License ; status should read Active – Expires . | 6. Validation & Acceptance Tests | Test ID | Description | Expected Result | |---------|-------------|-----------------| | TC‑01 | UI reachable via HTTPS | Browser loads login page; certificate chain valid | | TC‑02 | Database connectivity | Dashboard shows “Connected to PostgreSQL” | | TC‑03 | License activation | License status = Active | | TC‑04 | Sample data ingestion (MQTT) | Ingested messages appear in Live Stream within <5 s | | TC‑05 | Data retention policy | After 24 h, data older than 30 days is purged per config | | TC‑06 | Fail‑over (Docker restart) | Container restarts mird237 install

# 8️⃣ Start MIRD237 container docker run -d \ --name mird237 \ -p 443:443 \ -e DB_HOST=localhost \ -e DB_PORT=5432 \ -e DB_USER=mird_user \ -e DB_PASSWORD=StrongPass! \ -e LICENSE_KEY=XXXXX-XXXXX-XXXXX-XXXXX \ mirdcorp/mird237:latest Install

# 2️⃣ Install dependencies sudo apt install -y curl gnupg2 apt-transport-https ca-certificates lsb-release software-properties-common Pull image | docker pull mirdcorp/mird237:latest | | 5

# 6️⃣ Install PostgreSQL (if not present) sudo apt install -y postgresql-15 sudo -u postgres psql -c "CREATE ROLE mird_user WITH LOGIN PASSWORD 'StrongPass!';" sudo -u postgres createdb -O mird_user mirddb

# 4️⃣ Install Docker Engine (CE) curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh sudo usermod -aG docker $USER # log out/in afterward