v1.19.0

moghtech/komodov1.19.0Aug 18, 2025by mbecker20

AI Summary

A major release introducing the new `km` CLI, Action Arguments, and configuration standardization. It also requires significant updates to Docker Compose configuration and adds features like multiple concurrent logins and local user creation.

Key Highlights

  • Introduced `km` CLI for operational management
  • Implemented Action Arguments feature for dynamic configuration
  • Standardized configuration loading (Toml, Yaml, Json)
  • Added External Address configuration for container links

Breaking Changes

  • Requires both Core and Periphery to upgrade to v1.19.0
  • Removed `/repo-cache` mount from Core compose service
  • Env file ordering changed: Komodo env now has highest priority
  • Env file ordering changed: Komodo env is now last in the list (highest precedence)

New Features

  • New `km` CLI commands (database backup, restore, copy, user management)
  • Action Arguments with webhook support
  • Multiple concurrent User logins
  • Local user creation from UI
  • System theme auto-update
  • OIDC improvements (user-agent support)

Full Release Notes

- 🚨 This release requires **both Core and Periphery to upgrade to v1.19.0**.
- 🚨 Remove the `/repo-cache` mount from Core compose service -- it's not needed, and only causes problems.
- 🚨 Add `- <host path>/komodo/backups:/backups` to Core compose service. https://komo.do/docs/setup/backup
- 🚨 Review https://komo.do/docs/resources/auto-update for changes to "Poll for Updates" and "Auto Update" features.

# Changelog

### The `km` CLI 🦎

Introducing **`km`**, the new CLI for Komodo.

<img width="945" height="198" alt="Screenshot 2025-08-10 at 7 50 42β€―PM" src="https://github.com/user-attachments/assets/965ddf61-2315-4df0-84c0-8f0633381fc8" />

Some examples:

  - `km --help`
  - `km ps --down`
  - `km inspect my-container`
  - `km ls --tag network`
  - `km deploy stack my-stack`
  - `km run action my-action -y`
  - `km set var MY_VAR my_value -y`
  - `km update build my-build "version=1.19.0&branch=release"`
  - `km x commit my-sync`

It also implements some operational features using direct database connection:
  - `km database backup`
  - `km db restore`
  - `km db copy` - Replaces the `ghcr.io/moghtech/komodo-util` image
  - `km set user mbecks super-admin true`
  - `km set user mbecks password "temp-password"`

You can either install it using the published binaries and a similar install script to Periphery systemd (but simpler, no systemd involved), as well as Homebrew for MacOS. A distroless image containing the binary is published at `ghcr.io/moghtech/komodo-cli`.

### Action Arguments 🦎

This PR also Implement the **Action Arguments** feature re #149 
  - You can now access an `ARGS` object in Action scripts.
  - You can set defaults in Action config, and then pass overrides using `RunAction`
  - On CLI: `km run action my-action "arg1=value1&arg2=value2"`
  - On **webhook triggered Actions**, there is an additional feature. The branch as well as the entire webhook POST body is becomes available in the Action at `ARGS.WEBHOOK_BRANCH` and `ARGS.WEBHOOK_BODY` respectively.

### Resource
- **Action**: Run on startup feature by @bpbradley in #664
- **Stack**: Fix compose multiple env file usage to use the same ordering in all cases - **Komodo defined env will take highest priority** by being given last in the list. I meant to do this previously but did not ensure consistency across all calls.
    - 🚨This change may be breaking if you rely on env file ordering assuming Komodo env is the "first" in list (lowest precedence)
- **Stack**: Move Stack file commit to happen in Core rather than on Periphery server, bringing it in line with Builds and Syncs
- **Server**: Improvements to server stats page such as container stats search
- **Server**: Add **External Address** configuration for use with container links.
    - Use when the address Core uses to reach server is different than the one users use from the browser.
- **Server**: #739 by @Rhyn 

### UI
- Frontend mobile fixes #714 by @dotsam 
- Toggle display Server CPU, Mem, Disk usage on dashboard #729 by @tuananh131001
- File editors now use a **simpler TOML syntax highlighter** by default. Set `KOMODO_ENABLE_FANCY_TOML=true` to use the previous one
    - The fancy one can cause the UI to freeze re issues like #166 
- When using **System Theme**, improve theme auto update with the system theme without refreshing the page.
- When `local_auth` is enabled, Admins can now **create new local users from the UI**, even when `disable_user_registration = true`.
- Now supports **multiple concurrent User logins**, quick switch between them without logging in again.

### Misc
- Standardize configuration loading across Core, Periphery, CLI.
    - You can now pass config files as either **Toml**, **Yaml** or **Json**.
- **Periphery**: `allowed_ips` now support Ipv4/6 subnets (like `172.16.0.0/16`) by @bpbradley in #666
- Add **KOMODO_FIRST_SERVER_NAME** configuration to set a custom first server name.
- Add **KOMODO_INIT_ADMIN_USERNAME** / **KOMODO_INIT_ADMIN_PASSWORD**
    - Creates the initial admin user on first startup.
    - Won't change anything after first startup, after you can change the password from the UI.
- Add 'user-agent' to OIDC requests #701 by @eleith
- Add 'internet_interface' to Core config for multi-NIC environments #719 by @MP-Tool 
- Add **ClearRepoCache** api, which deletes the folders in Core's /repo-cache for you.
- Fix **frequent reconnect issue** for Container Terminals
- Fix bug preventing non-admins from viewing / editing resources right after they are created
- Fix Google login enabled log in startup by @dfunkt in #668