Deploy Software to Devices
This guide walks you through adding a software deployment to a config package so that octoja installs or updates the software on your managed devices au...
Written By Erdinc Akay
Last updated 26 days ago
This guide walks you through adding a software deployment to a config package so that octoja installs or updates the software on your managed devices automatically.
Before you start
- You need the Software Deployment Management permission (under Administration β Groups).
- A config package must already exist, or you need permission to create one.
Steps
- Go to Configuration β Config Packages and open the config package you want to add software to (or create a new one).
- On the Software tab, click Add Software.
- Choose the package manager tab that matches your target platform:
- Search for the software by name. For example, type "Firefox" or "7-Zip" and select it from the results.
APT packages (Debian / Ubuntu): There is no search catalogue for APT. You need to type the exact package name as it appears in your distribution's repositories (e.g.
nginx,curl,htop). If you are not sure of the exact name, runapt search <keyword>on a Linux device.
Homebrew graphical apps (macOS): The Homebrew catalogue covers both command-line tools (formulae) and graphical macOS apps such as Google Chrome, Slack, and Visual Studio Code (casks). Graphical apps are marked with a Cask badge in the results list. Search for them by name just like any other package and roll them out to your Macs.
- Configure the deployment:
- Click Add to Package.
- Set a deployment schedule β this controls when the agent checks and applies software on devices. The schedule builds as a sentence: Run [mode] at [time]. Pick one of the mode fragments:
- every day β runs each day at the time you pick
- at an interval β runs every N hours (you choose the number of hours)
- every weekday β runs Monday through Friday at the time you pick
- on specific days β runs on the weekdays you choose, at the time you pick
- monthly β runs on a chosen day of the month at the time you pick
- at reboot β runs every time the device starts (no time picker)
- Save the config package.
Software Kiosk: To let end users install a deployment themselves from the Software Kiosk, open the saved deployment on the Software tab and turn on Show in Software Kiosk β so users can self-service it from the Software Kiosk.
The following walkthrough shows the opening steps β opening the package, switching to the Software tab, clicking Add Software, and searching the Chocolatey catalogue for Firefox:

Deployment mode
At the top of the Add-Software dialog, above the package-manager tabs, a Mode toggle picks what the deployment does. Choose the mode before you select a package manager β it changes the rest of the form:
- Specific package (default) β install or update the one package you name. This is the flow described in the steps above.
- Update all outdated β the agent upgrades every package the chosen package manager reports as outdated. The package-name field is omitted in this mode; you pick the package manager, give the deployment a display name, and set the schedule (for winget you can also set Install for).
Advanced options
The deployment form has one optional Windows-only choice you can leave at its default for typical installs:
- Install for β this appears for winget deployments. It defaults to All users, which installs the software for every user of the device and works even when no one is signed in (recommended for most deployments). Switch to Current user only to install into the signed-in user's profile instead β this requires someone to be signed in to the device, so use it only for per-profile software. macOS and Linux ignore this setting.
See the Software Deployment Reference for full semantics.
What happens next
octoja assigns the config package to the matching devices. On each device, the agent:
- Checks whether the listed software is installed.
- If the software is missing (and the behaviour is "Install and update"), installs it.
- If an older version is installed, updates it to the desired version.
- Logs the result in the device activity log with source Deployment.
Tips
- You can add software from multiple package managers in a single config package. octoja runs the correct one for each device's operating system.
- To see which software is currently installed on a device, open the device and check the Installed Software tab.
- Set maintenance-friendly schedules (e.g. overnight or at reboot) to avoid disrupting users during work hours.
- Chocolatey and Winget both work on Windows. Chocolatey has a larger community catalogue; Winget is built into Windows 10/11 and does not require a separate install.
- On macOS, when you deploy a Homebrew package to an Apple-Silicon Mac that does not have Homebrew yet, octoja installs Homebrew automatically before installing the package. On Intel Macs, install Homebrew on the device first.