Setup Mender Server
The Mender server is run on a host machine OS which is formed of small container services. Pull the Mender utility Docker image and launch the container on the host machine.
Note
The Mender server currently runs exclusively on x86_64 architecture, and its build process has been tested and validated on Ubuntu 22.04 LTS.
These are the required environment variables, refer here for more details.
MENDER_SERVER_DIR
MACHINE
BRANCH
docker pull registry.gitlab.com/linaro/cassini/meta-cassini/mender-utility-image:${BRANCH}
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
-v ${MENDER_SERVER_DIR}:${MENDER_SERVER_DIR} \
-it registry.gitlab.com/linaro/cassini/meta-cassini/mender-utility-image:${BRANCH}
This opens a shell environment and these are the required environment variables, refer here for more details.
MENDER_SERVER_DIR
MACHINE
MENDER_SERVER_IP
MENDER_SERVER_HTTPS_PORT
MENDER_SERVER_HTTP_PORT
Configure the Mender Server :
export MENDER_SERVER_NAME="ms-${MACHINE}"
cd ${MENDER_SERVER_DIR}
cp -r /home/mender-server/. ${MENDER_SERVER_DIR}/
source ./mender_env_server.sh
source ./docker-compose-override.sh
Start the Mender server :
docker compose --project-name "${MENDER_SERVER_NAME}" up -d --quiet-pull
docker compose --project-name "${MENDER_SERVER_NAME}" ps
User Setup :
Create a test user for the Mender server UI/API
docker compose --project-name "${MENDER_SERVER_NAME}" exec useradm \ useradm create-user --username "${MENDER_SERVER_USERNAME}" \ --password "${MENDER_SERVER_PASSWORD}"
Authenticate using mender-cli
mender-cli login \ --server "${MENDER_SERVER_URL_HTTPS_PORT}" \ --skip-verify \ --username "${MENDER_SERVER_USERNAME}" \ --password "${MENDER_SERVER_PASSWORD}"
These are the requirements to perform a mender system update
Artifact Upload :
Upload an unsigned version
cp ${MENDER_SERVER_DIR}/artifacts/${MACHINE}.mender ${MENDER_SERVER_DIR}/artifacts/${MACHINE}-unsigned.mender mender-artifact modify -n unsigned-image ${MENDER_SERVER_DIR}/artifacts/${MACHINE}-unsigned.mender mender-cli artifacts upload -k --server ${MENDER_SERVER_URL_HTTPS_PORT} ${MENDER_SERVER_DIR}/artifacts/${MACHINE}-unsigned.mender
Sign a Mender artifact and upload to the Mender server
mender-artifact modify -n release-2 -k ${MENDER_SERVER_DIR}/keys/private.key ${MENDER_SERVER_DIR}/artifacts/${MACHINE}.mender mender-cli artifacts upload -k --server ${MENDER_SERVER_URL_HTTPS_PORT} ${MENDER_SERVER_DIR}/artifacts/${MACHINE}.mender
Check artifacts
mender-cli artifacts list -k --server ${MENDER_SERVER_URL_HTTPS_PORT}