Skip to content

Execution Profiles

Pro feature

Execution profiles require Commandeck Pro.

🔰 In plain terms: a profile is a small set of "run conditions" you save once and reuse on many buttons — who runs the command (a different user) and where it runs (a folder). Instead of writing sudo -u www-data and cd /var/www in every button, you set them once in a profile and pick that profile on the button.

Execution Profiles list

Creating a profile

Open Menu ☰ → Execution Profiles → Add, then fill in:

Profile editor

Field What it does
Name How the profile appears in the button editor's dropdown.
Run as user Run the command as this user instead of you (uses sudo -u <user>). Leave empty to run as yourself.
Working directory The folder the command starts in (like running cd there first).
Description Optional note to remind you what the profile is for.
Sudo password Optional. Needed only when Run as user requires a password. Stored locally, encrypted — see Security.

Using a profile on a button

In the button editor, pick your profile from the Execution profile dropdown. The button now runs with that profile's user and folder — the command field stays clean, holding only the actual command.

Before / after

Instead of one button with sudo -u www-data bash -c 'cd /var/www/app && git pull', create:

  • a profile Web DeployRun as user www-data, Working directory /var/www/app
  • a button with command git pull, profile Web Deploy

Cleaner, and the same profile is reusable for every web-app button.

Power off a remote machine — the classic case

Used over SSH (for example from your phone), the default Shutdown button fails with a message about needing authentication. The command is fine — powering off a machine needs administrator rights, and a remote connection doesn't get them automatically the way you do when you're sitting at the computer. (On your own desktop the same button just works.) Reboot is the same.

The fix is a profile, not a different command:

  • create a profile Power (admin)Run as user root, and fill in the machine's Sudo password (your password on that machine)
  • assign it to Shutdown (and Reboot); leave the command unchanged

The button now runs with administrator rights and powers off cleanly. That one profile then works for anything that needs admin rights on a remote machine — restarting a service, installing software, mounting a drive.

⚙️ For sysadmins

  • Run as user wraps the command with sudo -u <user>. If that target requires a password, set the profile's Sudo password; Commandeck passes it via sudo -S at runtime, so no terminal prompt appears.
  • A profile applies the same way locally and over SSH — the sudo -u / working-directory wrapping happens on whichever machine the button targets.
  • Profiles pair naturally with multi-machine buttons: one "deploy" profile, one button, several servers.
  • An AI assistant can create and assign profiles for you via the MCP server — it decomposes a pasted shell one-liner into a profile + a clean command automatically.