This is intended as a local setup for test driving, without a domain and creates a webserver on https://localhost:4040. Colima is used to set up a virtual machine. This guide can be used for Cradle CMS and eCommerce on Windows or MacOS.
In the latest updates of MacOS, native Linux container support is built in, use OSX `container` instead of colima.
Install package manager, Virtual machine for running container images and container tool.
- Homebrew - for installation of Colima and Docker / Podman : Homebrew website
- Colima - VM for container images : Colima Github page
- Docker / Podman - for managing container images: Docker installation with Homebrew / Podman installation
Create storage
Create a docker volume named storage where docker can persist files.
docker volume create storage
Login to Cradle registry with docker / Podman
The Podman/Docker username is the licence key which you find under Licences on your account page. The password is your customer account password.
docker login registry.cradlecms.com
Username:
Password:
Login Succeeded!
or
podman login registry.cradlecms.com
Username:
Password:
Login Succeeded!
Download the latest image
CMS
docker pull registry.cradlecms.com/cradle-cms:latest
eCommerce
docker pull registry.cradlecms.com/cradle-ecommerce:latest
You can also pull a specific version with, for example,
cradle-cms:0.11.0or when testing usecradle-cms:test.
Installation
Start the container and tell docker to use the storage volume along with other start up options.
CMS
docker run -v storage:/storage -p 4040:4040 -e ACME=false registry.cradlecms.com/cradle-cms:latest
eCommerce
docker run -v storage:/storage -p 4040:4040 -e ACME=false registry.cradlecms.com/cradle-ecommerce:latest
Check the installation by navigating to https://localhost:4040 and login to Admin at /admin. The default username is admin, and password is admin password. You can change that by providing -e ADMIN_USER='' and -e ADMIN_PASS='' when installing.
To start the server without automatic
Lets encryptcertificates, use-e ACME=false, it then uses a self-signed certificate.
Update
How to manually upgrade the system running as a plain docker container.
First login to the registry.
docker login registry.cradlecms.com
Pull the latest version
CMS
docker pull registry.cradlecms.com/cradle-cms:latest
eCommerce
docker pull registry.cradlecms.com/cradle-ecommerce:latest
Stop the running container. You need the container id to stop it so list all containers.
docker ps -a
Then stop the server instance.
docker stop <container_id>
And finally start the service again, but you can skip configuring the admin user and domain as that already has been provisioned.
CMS
docker run -it -d --restart unless-stopped -p 4040:4040 -v storage:/storage -e ACME=false registry.cradlecms.com/cradle-cms:latest
eCommerce
docker run -it -d --restart unless-stopped -p 4040:4040 -v storage:/storage -e ACME=false registry.cradlecms.com/cradle-ecommerce:latest
Logs

The system log is written with output in standard json format so you can use tools such as jq to filter log messages.
Docker
To see the log output you can use docker logs as shown below.
docker logs -f <container id>
To escape logs
ctrl+c
Messagebus log stream
You can also subscribe to a log event stream using the nats client.
nats subscribe "logs.>"
[#6] Received on "logs.frontend"
{"time":"2024-09-28T08:54:26.176Z","level":"INFO","service":"frontend","msg":"render","host":"localhost:5000","site":"17427f63-e498-4654-bcaa-a6f24afabeef","path":"/","type":"index","handle":"","lang":"en"}
Use the log stream to store the log on another server or monitor it in real time.