Skip to content

Releases: moghtech/komodo

Komodo v1.14.0

07 Sep 11:03
Compare
Choose a tag to compare

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

02 Sep 00:06
Compare
Choose a tag to compare

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

20 Aug 17:24
Compare
Choose a tag to compare

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

v1.13.3 Komodo

19 Aug 00:42
Compare
Choose a tag to compare

Last patch for 1.13

  • Improve periphery disk mount filtering. If needed, pass Periphery a whitelist / blacklist of the disks (by mount path) to include in the disk report

Now its off to 1.14.

Docs: https://docs.monitor.dev/ | Demo: https://demo.monitor.dev/

Enjoy 🦎

v1.13.2 Komodo

18 Aug 08:46
Compare
Choose a tag to compare

Hey guys, another patch to Komodo 🦎

Docs: https://docs.monitor.dev/ | Demo: https://demo.monitor.dev/

Enjoy 🦎

v1.13.1 Komodo

12 Aug 02:09
Compare
Choose a tag to compare

Hey guys, just a small patch to Komodo 🦎

  • Fixed some edge cases I noticed deploying more compose files
  • Improved frontend responsiveness on phone / tablet etc.
  • Finished "Repo build" feature, I use it to:
    -- spawn an Aws instance
    -- clone Monitor repo, build binary, push it to Gitea generic packages.

To update, just compose down-compose up Core, update periphery using the installer. Api is backward compatible so it doesn't matter the ordering you update.

Docs: https://docs.monitor.dev | Demo: https://demo.monitor.dev

Enjoy 🦎

v1.13 - Komodo - Docker compose support

10 Aug 22:54
Compare
Choose a tag to compare

🦎 Monitor v1.13 - Komodo 🦎

This is a big release, so we are giving it a name. The Komodo Dragon is a sub-species of Monitor lizard, and is the largest living lizard in the world.

Note. With this release move to https://docs.monitor.dev. The official docker image for Monitor Core also moves to gchr.io/mbecker20/monitor:latest. Those running Core on Arm can use the ghcr.io/mbecker20/monitor:latest-aarch64 series of tags.

Also, I'm hosting a demo now. Try redeploying an Immich stack or a Jellyfin stack using Monitor yourself. Any username / password will do. https://demo.monitor.dev.

Whats new:

  • Deploy docker compose files using the new 'Stack' resource. You can paste a file directly into the UI, or you can push the files to a git repo and have the Stack deploy from there. You can also setup webhooks to automatically re/deploy the stack whenever you push a change to the repo.

  • Builds can now push the image to a configurable image repository name. They can also attach a custom tag after the version, achieving parallel tagging in a single image repo for different release channels.

  • Repos can now be "built" using single-use AWS instance. The idea is that you can have some code and a script to build the code and ship the binary off yourself. But users have to handle their own versioning of the binaries with this method.

  • Simplified the core setup procedure by providing a docker compose file here: https://github.com/mbecker20/monitor/blob/main/config_example/core.compose.yaml

  • Add / manage providers in the UI. Both git providers, and registry providers. They can still be managed in the config file if that is preferred, but with this change there is no more need to create a config file on your host. See the example compose file above .

  • Arm64 support included in the releases for Core and Periphery. The periphery installer can detect which binary should be loaded.

    • Users running Monitor Core on Arm, take note of the image for you to use above.
  • More inline hints. These guide new users through using Monitor, and have been added throughout the UI.

  • Page layout / styling improvements courtesy of @karamvirsingh98

Updating
Just switch the core image to ghcr.io/mbecker20/monitor and redeploy. It can be upgraded in place.
To upgrade periphery agents, just run the periphery installer again on your hosts. link. You can upgrade Core / periphery in any order, as they are backward compatible with eachother.

🦎 Hope you guys enjoy 🦎

v1.12.0

30 Jul 01:58
Compare
Choose a tag to compare

Expands git provider / docker registry support to all providers, including self hosted ones such as Gitea (tested for private repo clone, repo webhook delivery, and docker image push).

WARNING 🚨 Breaking changes

Some changes in this release are breaking with previous versions.

Users upgrading from 1.11 or earlier must update their core and periphery configuration files docker_account and github_account declarations to the new format. This also allows for configuration of custom git provider domains, such as self hosted ones. Additionally, organizations are now configured per docker registry provider, so the fields github_organizations and docker_organizations have been removed. The field github_webhook_secret has been renamed to just webhook_secret, and the field github_webhook_base_url has been renamed to webhook_base_url.

Users must also run the database migration for the Core version they are upgrading from.

Additionally, image build, repo clone, and container deploy will not work with older periphery versions, so periphery binaries must be updated on connected servers to restore this functionality. Other periphery functions (like stopping containers, system stats, etc) remain backward compatible.

v1.11.0

19 Jul 09:40
8c6f38c
Compare
Choose a tag to compare

Configure base permissions on all resources of a specific type (Read on all servers, Execute on all builds, etc.).

  • Supported for both users and user groups

UserGroup permissions declared in ResourceSync can now use regex to match against many resources.

See https://docs.monitor.mogh.tech/docs/sync-resources#user-group for example.

v1.10.0

01 Jul 20:36
Compare
Choose a tag to compare

Adds support for Build secret_args, which can be used to pass secret values into the docker build context.