Enabling Specific Applications¶
As you implement more applications in containers.git, you may not
want to run all of them on all of your devices. You can use fioctl to
specify what applications the device should run.
Instead of enabling the shellhttpd, which is already done as mentioned before.
Let’s use fioctl to first disable and then enable the shellhttpd application.
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>
Example Output:
Changing apps from: [shellhttpd] -> []
Changing packagemanager to ostree+compose_apps
In a maximum of 2 minutes, you should see aktualizr-lite remove the application.
Once aktualizr-lite finishes its changes, use docker ps to see if there
are any containers running on the device:
docker ps
Example Output:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
On the device, open the aktualizr-lite 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>
Example Output:
Changing apps from: [] -> [shellhttpd]
Changing packagemanager to ostree+compose_apps
Again in a maximum of 2 minutes, you should see aktualizr-lite add the application.
On your device, test the container again by running the following command:
wget -qO- 127.0.0.1:8080
Example Output:
Hello world
Check the running containers:
docker ps
Example Output:
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