Enabling Specific Applications
As you implement more apps in containers.git, you may not want all of them running on every device.
Fioctl® can specify what apps a device should run.
Instead of enabling shellhttpd as done before, we will use fioctl to first disable and then enable shellhttpd.
Make sure to follow the aktualizr-lite logs on your device with the following command:
sudo journalctl --follow --unit aktualizr-lite
On your host machine, disable shellhttpd by replacing the list of apps with a simple comma:
fioctl devices config updates --apps , <device-name>
Changing apps from: [shellhttpd] -> []
Changing packagemanager to ostree+compose_apps
You should shortly see aktualizr-lite remove the app.
Once aktualizr-lite finishes, use docker ps to see if there are any containers running on the device:
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
On the device, open the log again and watch as you re-enable shellhttpd:
sudo journalctl --follow --unit aktualizr-lite
Enable the shellhttpd application on your device:
fioctl devices config updates --apps shellhttpd <device-name>
Changing apps from: [] -> [shellhttpd]
Changing packagemanager to ostree+compose_apps
You should soon see aktualizr-lite add the app.
On your device, test the container again by running the following command:
wget -qO- 127.0.0.1:8080
Hello world
Check the running containers:
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
72a3d00dbc1c hub.foundries.io/<factory>/shellhttpd "/usr/local/bin/http…" 2 hours ago Up 2 hours 0.0.0.0:8080->8080/tcp shellhttpd_httpd_1