Installation Masterclass.
This guide provides the exhaustive technical detail required to deploy a production-grade MeltyBase instance. From storage isolation to biometric identity, we cover every configuration layer.
System Prerequisites
Linux Kernel 5.4+
Required for efficient Go-native socket handling and CDC replication.
Docker v24+
Mandatory for **Edge Runtime V2** isolated compute.
Postgres 16
Must support `logical` wal_level for Realtime features.
Storage Strategy (Local vs S3)
MeltyBase provides a dual-provider asset management system. By default, it stores files locally, but can be scaled to S3-compatible storage for high availability.
- Local Storage: Maps to `./docker-data/assets`. Fastest for single-node bare-metal setups.
- Cloud Storage: Configure `S3_BUCKET` and `AWS_REGION` to switch to the S3 File Store.
Edge Runtime V2 (Docker Isolation)
The MeltyBase engine auto-detects the Docker socket (`/var/run/docker.sock`) to ignite isolated serverless runtimes. If Docker is unavailable, the system fallbacks to the internal **Goja** JS engine.
// Granting engine access to the Docker socket
volumes:
- /var/run/docker.sock:/var/run/docker.sock
SSO & Biometric Identity
Enterprise identity requires consistent domain mapping. Configure these variables to enable **WebAuthn (TouchID/FaceID)** and **SAML SSO**.
- APP_DOMAIN: The root domain (e.g. `api.company.com`) used as the RPID for WebAuthn.
- STUDIO_URL: The CORS-allowed origin for your Studio instance (e.g. `https://studio.company.com`).
- SAML_ROOT_URL: The entry point for SAML metadata exchange.
Maintenance & Analytics
MeltyBase handles its own house-cleaning via background goroutines.
- Analytics Aggregation: Every 24 hours, the engine runs `aggregate_project_analytics()` to prepare usage reports.
- Audit Worker: A dedicated worker process constantly flushes the immutable audit trail from memory to the Postgres vault.
Troubleshooting Matrix
| Error Pattern | Probable Cause | Resolution |
|---|---|---|
| "Database Refused" | `wal_level` is not set to `logical` | Update `postgresql.conf` and restart. |
| "Invalid Vault Key" | Key is not 32-byte hex string | Generate with `openssl rand -hex 32`. |
| "Edge Boot Failed" | Docker socket permissions | `chmod 666 /var/run/docker.sock`. |