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.
MacOS plugins
In the latest updates of MacOS native Linux container support is built in, there should not be any need to use homebrew or 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:5000
Username:
Password:
Login Succeeded!
Download the latest cradle-cms image
docker pull registry.cradlecms.com/cradle-cms:latest
You can also pull a specific version with, for example,
registry.cradlecms.com/cradle-cms:0.11.0
Installation
We start the container and tell docker to use the storage volume along with other start up options.
docker run -v storage:/storage -p 4040:4040 -e ACME=false registry.cradlecms.com/cradle-cms: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 cradle-cms without automatic
Lets encryptcertificates, we use-e ACME=false, it now defaults using 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
Download latest version
docker pull registry.cradlecms.com/cradle-cms:latest
Stop the running container. You need the container id to stop it so list all containers.
docker ps -a
Then stop the cradle-cms instance.
docker stop <container_id>
And finally start the service again, but you can skip configuring the admin user and domain configuration as that already has been provisioned.
docker run -it -d --restart unless-stopped -p 4040:4040 -v storage:/storage -e ACME=false registry.cradlecms.com/cradle-cms: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.