Self-hosted MemClaw Enterprise as a Docker Compose stack. Runs on a single VM (connected or air-gapped) and is fully managed via a signed license file issued by Caura.
curl -sL https://onprem.caura.ai/install.sh | bashThe installer stands up the stack with sane defaults, then prints the URL of the first-run wizard where an admin uploads the license and creates the first user account.
- Transfer the release tarball to the VM (any medium — USB, SCP over an
internal bastion, etc.):
memclaw-onprem-<version>.tar.gz - Load the bundled images locally:
./airgap-load.sh - Run the installer in offline mode:
./install.sh --offline --license /path/to/license.key
Supports every field via CLI flag, env var (MEMCLAW_*), or a single
config file:
./install.sh --config /etc/memclaw/install.conf --non-interactiveSee install.conf.example for the full template.
.
├── docker-compose.yml # connected stack (pulls from ghcr.io/caura-ai/*)
├── docker-compose.airgap.yml # overlay: uses locally-loaded images
├── .env.example # consolidated env template
├── install.conf.example # silent-install config template
├── install.sh # one-liner installer (TBD Phase 5)
├── airgap-load.sh # docker load < tarball (TBD Phase 4)
├── license/
│ └── README.md # customer drops license.key here
├── nginx/
│ └── memclaw.conf.template # SERVER_NAME substituted at container start
├── scripts/
│ ├── backup.sh # pg_dump + redis BGSAVE
│ ├── restore.sh # pair to backup.sh
│ └── verify/ # end-to-end smoke scripts
└── docs/
├── install.md
├── install-airgap.md
├── day2-ops.md
├── logging.md # log layout + support-bundle workflow
├── upgrade.md
└── troubleshooting.md
- Issue tracker: contact your Caura representative.
- Status dashboard:
https://ops.caura.ai(Caura-operated). - Support bundles:
memclawctl support bundleproduces a redacted tarball you can email or upload. Seedocs/logging.md.