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
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
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 encrypt
certificates, 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 to standard out in json
format so you can use tools such as jq
to filter log messages. To see the log output you need to use docker logs
as shown in the example.
docker logs -f <container id>
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 if you want to store the log on another server or monitor it in real time.