Releases: mbecker20/komodo
Komodo v1.15.4
Changelog
DeployStack
: Only compose down if "Destroy Before Deploy" is enabled.- Add timestamps toggle to the logs - @LawMixer
- Ensure container logs don't auto update when "Poll" isn't checked.
- Add build $VERSION to variables, interpolate it with [[$VERSION]], and also pass VERSION as a --build-arg (if its not already set)
- For fresh installs using
first_server
: a default Builder will also be created pointing to the Server - All the commands (Stack
pre_deploy
, Buildpre_build
, Repoon_pull
) support multiline shell and comments
Upgrading
These are all backward-compatible changes to the Periphery agent. Will need to upgrade Periphery to use the new features.
Thanks to everyone involved in this release, your feedback has been invaluable. 🦎
Komodo v1.15.3
Changelog
- Fix for Gitlab compatibility - Requires Periphery update - @Cirx08
- Support Stack pre deploy shell command - @mercxry
- Add toggle to return to behavior of recloning stack every time.
- Fix writing Stack compose file on server causes UI to freeze
- Env variable / volume / port parser supports single quote (
'
) wrapped value - Deployments can configure registry account to log in with for private images
- When you only have one server, new Stacks / Deployments will auto assign it to the single server.
Upgrading
There are some backward-compatible changes to the Periphery agent. Particularly, Gitlab support requires Periphery update.
Thanks to everyone involved in this release, your feedback has been invaluable. 🦎
Komodo v1.15.2
Some OIDC providers are having some trouble working with Komodo. It seems some providers (like Zitadel) attach additional audiences besides the client_id
, and Core needs to know about it. This adds KOMODO_OIDC_ADDITIONAL_AUDIENCES=aud-1,aud-2
environment variable to add additional audiences you need.
If you see an error like this when you try to login with your OIDC provider:
{"error":"Failed to verify token claims","trace":["Invalid audiences: `<AUDIENCE>` is not a trusted audience"]}
If the audience can be trusted, you can add the to KOMODO_OIDC_ADDITIONAL_AUDIENCES
.
Note. I do release Komodo Periphery 1.15.2 as well for version alignment, there is no change to Periphery from 1.15.0 here and Periphery doesn't need to be upgraded again (you can if you like).
Thanks to everyone that tried out OIDC so far and reported this issue. 🦎
Komodo v1.15.1
Some OIDC providers are having some trouble working with Komodo, this update should help fix some issue with a trailing /
with the provider URL:
If you see an error like this in the Komodo Core startup logs, this release may help:
called `Result::unwrap()` on an `Err` value: Failed to init default OIDC client
Caused by:
0: Failed to get OIDC /.well-known/openid-configuration
1: Validation error: unexpected issuer URI `https://your.provider.domain` (expected `https:/your.provider.domain/`)
If you see this, ensure your KOMODO_OIDC_PROVIDER does NOT end in a trailing slash, and try it again with this release 1.15.1.
🚨 Authentik Users
- Ensure your
KOMODO_OIDC_PROVIDER
DOES end in a trailing/
, it is now sensitive to this. Other providers may require trailing/
, or NOT require trailing/
.
Note. I do release Komodo Periphery 1.15.1 as well for version alignment, there is no change to Periphery from 1.15.0 here and Periphery doesn't need to be upgraded again (you can if you like).
Thanks to everyone that tried out OIDC so far and reported this issue. 🦎
Komodo v1.15.0
To see the changes to the UI, check out the demo: https://demo.komo.do (you can log in with demo : demo
).
-
You can now log in with self hosted SSO provider using OIDC. Tested with Authentik and Gitea.
- Use
KOMODO_OIDC_
env vars to configure: https://github.com/mbecker20/komodo/blob/main/compose/compose.env#L74 - Utilizes the openidconnect crate.
- Use
-
UX Improvements:
- Redesigned all resource headers and configs thanks to @karamvirsingh98
- improve in UI editors using monaco-editor
- Along with the nice editor, you can also now update compose files on server from the UI. - @DanCardin
- Use
monaco-editor
diffing to diff all changes to configuration and resource sync pending changes. - Environments now keep comments - @FibreTTP
-
Periphery supports https enabled communication using self signed certs - @seancallaway
- Enable with
- PERIPHERY_SSL_ENABLED: true
- Enable with
-
Repo-based stacks can now pull the repo on deploy, and no longer deletes the folder after deploy issue.
-
Alerter Discord support - @LawMixer
-
Implement KOMODO_DISABLE_CONFIRM_DIALOG - disable the popups which become slow without copy / paste - @drixtol
-
Support "_FILE" env variables for use with docker compose secrets - @Cheezzhead
-
Stacks support passing --env-file {custom file} even when no env vars defined in Komodo. Users can have .env file on server and attach it.
-
KOMODO_DISABLE_NON_ADMIN_CREATE config
-
Super admin user which can give other users admin
-
Slim down images - @neicureuil
- Tried alpine base, but
musl
doesn't play very nicely with Rust. - Did manage to slim down the images on debian base: 250 MB for Core, 350 MB for Periphery.
- Tried alpine base, but
-
Improve setup compose files (
database.compose.yaml
andcompose.env
)- For example,
sqlite
: https://komo.do/docs/setup/sqlite.
- For example,
-
Environment / volumes / ports resource file deserializers keep comments and support more syntaxes for greater copy-paste compatibility
- Supports:
# "Env Var" VARIABLE = value # "Key Value" VARIABLE: value # "Yaml Array" - "VARIABLE=value" - /path/to/folder:/folder
-
Resource Sync
- In UI editor and Files on Host mode
- Info tab to see file contents
- "Managed" mode
-
Core-based repo hash service more efficient in getting the latest commit hashes to compare against the built / deployed hash.
Public Build Server
- The Komodo release builds are now done one a publicly accessible Komodo instance:
🔒 Upgrading to HTTPS:
For backward compatibility, the default for Periphery is still http
. However the configs are all updated to enable SSL, including the systemd installer
, and compose file examples. After updating to 1.15, be sure to add PERIPHERY_SSL_ENABLED: true
to your compose file periphery
service, or add ssl_enabled = true
to your periphery.config.toml
.
Note that you will also need to update your Server
address from http://...
to https://...
.
Stacks + Resource Sync users
If you are using the default run_directory
, the sync will show this change run_directory = "./" => ____________ (emty line)
.
This is expected and this change should be synced. The behavior will of the Stack be the same.
When you upgrade Komodo, be sure to open your browser console/dev-tools, go to network tab, disable cache, and the reload page with dev-tools open. Otherwise, your browser may keep using a cached version of the old UI version.
Thanks to everyone involved in this release, your feedback has been invaluable.
Enjoy 🦎
Komodo v1.14.2
- Add KOMODO_DISABLE_USER_REGISTRATION environment variable. Will disallow new users from registering and hide the "Sign Up" button. - @scorp200
- Environments support End of line comments beginning with
#
.- Example:
ENV_VAR_1 = env_value_1 # this is an end of line comment
.
- Example:
- Document support for Postgres / Sqlite storage backends by utilizing the FerretDB Mongo Adapter.
- Overall revamped the Komodo Setup docs, using direct file embeds: https://komo.do/docs/setup.
Upgrading
To update, just compose down-compose up Core, update periphery using the systemd installer (or use the latest Periphery container image). Api is backward compatible with 1.14.0+ (besides new features) so it doesn't matter the ordering you update.
When you upgrade Komodo, be sure to open your browser console/dev-tools, go to network tab, disable cache, and the reload page with dev-tools open. Otherwise, your browser may keep using a cached version of the old UI version.
Enjoy 🦎
Komodo v1.14.1
Komodo v1.14.1
- Stacks: No longer force deletion of stack folder when using UI defined compose file contents. It is still recommended to use docker volumes or absolute mount paths, and NOT mount anything inside the stack folder. Repo based stacks must still be deleted, in order to ensure fresh reclone is always possible without deleting needed data ie mounts. See #68.
- Stacks: Adds feature to
docker compose build
before compose down / compose up. This allows users to build in the compose file (say you are using a git repo containing Dockerfile), and still minimize down time. Complete with custom "Build Extra Args" which support Variable / Secret interpolation. - Stacks: Adds option to disable automatic
docker compose pull
before compose down / compose up. Users which want to do this can manage pulling usingpull_policy
in their compose files. - #64 - @FibreTTP - Stacks: Fix an issue showing latest file contents when using "Files on Host", but the UI "File Contents" still holds some outdated file contents. - @mmartial
- Repos: Fix
PullRepo
broken when using a custom clone path. - Stacks, Deployments, Repos, Builds, Servers: Configure custom "Links" which are displayed in the resource header, and provide a quick link to the URL in a new tab.
Upgrading
To update, just compose down-compose up Core, update periphery using the systemd installer (or use the latest Periphery container image). Api is backward compatible with 1.14.0 (besides new features) so it doesn't matter the ordering you update.
When you upgrade Komodo, be sure to open your browser console/dev-tools, go to network tab, disable cache, and the reload page with dev-tools open. Otherwise, your browser may keep using a cached version of the old UI version.
Thanks to everyone involved in this release, your feedback has been invaluable.
Enjoy 🦎
Komodo v1.14.0
Komodo v1.14.0
- Renames the project to Komodo.
- Manage docker networks, volumes, and images.
- Manage Containers at the server level, without creating any Deployment.
- Add bulk Start / Restart / Pause actions for all containers on a server - @LawMixer
- Add Secret mode to Variables to hide the value in updates / logs - @C0untZero
- Secret mode also prevents any non-admin users from retrieving the value from the API. Non admin users will still see the variable name.
- Interpolate Variables / Secrets into more parameters - @beraj
- Deployment / Stack / Repo / Build extra args.
- Deployment command.
- Build pre build.
- Repo on_clone / on_pull.
- Use the same syntax as in Environment:
[[VARIABLE_NAME]]
- Added Hetzner Singapore datacenter for Hetzner ServerTemplates. - @jimcru21
- Removed Google Font - now just use system local font to avoid any third party calls. - @D3an1el
- Add log polling option - Optionally auto refresh application logs on an interval. - @bobyangac
🚨 Breaking changes to Komodo Core environment variables (from v1.13):
Due to the project rename, Komodo Core environment variables now use the KOMODO_
prefix.
Change all environment variables like so: MONITOR_TITLE
-> KOMODO_TITLE
.
See the updated compose file.
Upgrading
Ensure both Core and Periphery are upgraded to 1.14, Core/Periphery APIs are not backward compatible for most operations.
For Periphery running with systemd, a modified install script can be used. This just forces recreation of the systemd service file, which is necessary due to the rename:
curl -sSL https://raw.githubusercontent.com/mbecker20/komodo/main/scripts/setup-periphery.py | python3 - --force-service-file
This is a stable release, use the official images as specified in the example compose file:
-
Komodo Core - Intel / Amd:
ghcr.io/mbecker20/komodo:1.14.0
/ghcr.io/mbecker20/komodo:latest
-
Komodo Core - Aarch64:
ghcr.io/mbecker20/komodo:1.14.0-aarch64
/ghcr.io/mbecker20/komodo:latest-aarch64
-
Komodo Periphery - Intel / Amd:
ghcr.io/mbecker20/periphery:1.14.0
/ghcr.io/mbecker20/periphery:latest
-
Komodo Periphery - Aarch64:
ghcr.io/mbecker20/periphery:1.14.0-aarch64
/ghcr.io/mbecker20/periphery:latest-aarch64
There are no database migrations, so you can try upgrading Core, and still go back to 1.13 if you wish.
Troubleshooting
For those using named volumes in their docker compose declaration: If you change the compose project name from monitor
to komodo
, you will have to move the volume to be external: true
and reference the old volume to keep your database data attached. For example:
volumes:
monitor_db-data:
external: true
When you upgrade Komodo, be sure to open your browser console/dev-tools, go to network tab, disable cache, and the reload page with dev-tools open. Otherwise, your browser may keep using a cached version of the old UI version.
Thanks to everyone involved in this release, your feedback has been invaluable.
Enjoy 🦎
v1.14.0-rc1
Komodo v1.14.0-rc1
- Renames the project to Komodo.
- Manage docker networks, volumes, and images.
- Manage Containers at the server level, without creating any Deployment.
- Add bulk Start / Restart / Pause actions for all containers on a server - @LawMixer
- Add Secret mode to Variables to hide the value in updates / logs - @C0untZero
- Secret mode also prevents any non-admin users from retrieving the value from the API. Non admin users will still see the variable name.
- Interpolate Variables / Secrets into more parameters - @beraj
- Deployment / Stack / Repo / Build extra args.
- Deployment command.
- Build pre build.
- Repo on_clone / on_pull.
- Use the same syntax as in Environment:
[[VARIABLE_NAME]]
- Added Hetzner Singapore datacenter for Hetzner ServerTemplates. - @jimcru21
- Removed Google Font - now just use system local font to avoid any third party calls. - @D3an1el
🚨 Breaking changes to Core Environment Variables:
Due to the project rename, Core environment variables now use the KOMODO_
prefix.
Change all environment variables like so: MONITOR_TITLE
-> KOMODO_TITLE
.
See the updated compose file.
Upgrading
Ensure both Core and Periphery are upgraded to 1.14, Core/Periphery APIs are not backward compatible for most operations.
For Periphery running with systemd, a modified install script can be used. This just forces recreation of the systemd service file, which is necessary due to the rename:
curl -sSL https://raw.githubusercontent.com/mbecker20/komodo/main/scripts/setup-periphery.py | python3 - --force-service-file
This is a Release Candidate for 1.14, and the containers are published under rc
tags:
-
Komodo Core - Intel / Amd:
ghcr.io/mbecker20/komodo:1.14.0-rc1
-
Komodo Core - Aarch64:
ghcr.io/mbecker20/komodo:1.14.0-rc1-aarch64
-
Komodo Periphery - Intel / Amd:
ghcr.io/mbecker20/periphery:1.14.0-rc1
-
Komodo Periphery - Aarch64:
ghcr.io/mbecker20/periphery:1.14.0-rc1-aarch64
There are no database migrations, so you can try upgrading Core, and still go back to 1.13 if you wish.
Troubleshooting
For those using named volumes in their docker compose declaration: If you change the compose project name from monitor
to komodo
, you will have to move the volume to be external: true
and reference the old volume to keep your database data attached. For example:
volumes:
monitor_db-data:
external: true
When you upgrade Komodo, be sure to open your browser console/dev-tools, go to network tab, disable cache, and the reload page with dev-tools open. Otherwise, your browser may keep using a cached version of the old UI version.
Enjoy 🦎
v1.13.4 Komodo
Hey guys,
This patch fixes a bug preventing users from using private image registries with stack deploys. Thanks to @febalist for catching this.
Docs: https://docs.monitor.dev | Demo: https://demo.monitor.dev