Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Offical apps | Community apps | Demo | Docs | Install
  1. Cloudron Forum
  2. Community Packages
  3. Hermes Agent

Hermes Agent

Scheduled Pinned Locked Moved Community Packages
28 Posts 10 Posters 2.2k Views 10 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M msbt

    @andreasdueren do you have plans or even already tried adding something like https://hermes-workspace.com/ to the package?

    andreasduerenA
    andreasduerenA
    andreasdueren
    App Dev
    wrote last edited by
    #19

    @msbt I’ll look into it

    1 Reply Last reply
    2
    • M msbt

      @andreasdueren do you have plans or even already tried adding something like https://hermes-workspace.com/ to the package?

      andreasduerenA
      andreasduerenA
      andreasdueren
      App Dev
      wrote last edited by
      #20

      @msbt this looks like a community package and probably should not be included on the Hermes package. Adds extra complexity, package churn and attack surface.

      1 Reply Last reply
      2
      • M
        M
        msbt
        App Dev
        wrote last edited by
        #21

        @andreasdueren aye, thanks for checking it out!

        Happy Hosting & Web Development

        1 Reply Last reply
        1
        • A
          A
          alpheus
          wrote last edited by
          #22

          @andreasdueren hello Andreas!
          I have an issue with setting the HERMES_REDACT_SECRETS for scheduled cron jobs. Scheduled cron does phone number extraction and reports it to telegram, but the phone numbers arrive redacted (+49*****1234). If I create a one-off cron and then execute it via hermes cron ... then the redaction doesn't happen (phone numbers are visible).

          I think the issue is that the main gateway process doesn't pick up the value that I wrote in the .env file (false), which results in phone numbers being redacted when they are outputted to telegram.
          If you want to go into the issue with much more depth, below is the detailed summary from my agent of all the things we tried and all the findings that might be useful.

          This happened on HermesAgent app version 0.4.61, but I would guess that the issue still persists.
          Thank you for your time and dedication to the project maintenance!

          Agent summary

          Short version
          python -m gateway.run imports agent.redact before gateway.run loads ~/.hermes/.env, so HERMES_REDACT_SECRETS=false arrives too late for its import-time snapshot.
          Fixing that alone won't solve it though: the gateway's final outbound delivery call forces redaction regardless, and scheduled cron output passes through both scheduler and gateway redaction layers.

          Root causes identified

          • agent/redact.py snapshots HERMES_REDACT_SECRETS at import time (_REDACT_ENABLED = os.getenv(...)), so it must be set before agent.redact is imported.
          • The Cloudron supervisor's environment= list for hermes-gateway includes HERMES_HOME etc., but not HERMES_REDACT_SECRETS/HERMES_REDACT_PHONES.
          • gateway/run.py imports agent modules (which import agent.redact) near the top, but only calls load_hermes_dotenv() much later (~line 1829) — so the .env loads after the snapshot is taken.
          • gateway/run.py::_redact_gateway_user_facing_secrets() calls redact_sensitive_text(text, force=True) — this bypasses _REDACT_ENABLED entirely, so security.redact_secrets: false in config.yaml has no effect on this path.
          • The phone regex also misses Serbian local format and international numbers with a space after the country code.
          • cron/scheduler.py redacts no_agent stdout/stderr independently, then the gateway applies its own forced pass — so scheduled jobs go through two redaction layers.

          What we tried

          • We tested: security.redact_secrets: false in config.yaml
          • HERMES_REDACT_SECRETS=false in .env
          • editing supervisord's environment directly (not durable — file is app-owned and replaced on updates)
          • a sitecustomize.py early-patch (confirmed _REDACT_ENABLED=False standalone, but scheduled Telegram delivery still redacted due to force=True)
          • disabling phone matching + HERMES_REDACT_PHONES=false (still redacted in the real delivery path)
          andreasduerenA 1 Reply Last reply
          0
          • A alpheus

            @andreasdueren hello Andreas!
            I have an issue with setting the HERMES_REDACT_SECRETS for scheduled cron jobs. Scheduled cron does phone number extraction and reports it to telegram, but the phone numbers arrive redacted (+49*****1234). If I create a one-off cron and then execute it via hermes cron ... then the redaction doesn't happen (phone numbers are visible).

            I think the issue is that the main gateway process doesn't pick up the value that I wrote in the .env file (false), which results in phone numbers being redacted when they are outputted to telegram.
            If you want to go into the issue with much more depth, below is the detailed summary from my agent of all the things we tried and all the findings that might be useful.

            This happened on HermesAgent app version 0.4.61, but I would guess that the issue still persists.
            Thank you for your time and dedication to the project maintenance!

            Agent summary

            Short version
            python -m gateway.run imports agent.redact before gateway.run loads ~/.hermes/.env, so HERMES_REDACT_SECRETS=false arrives too late for its import-time snapshot.
            Fixing that alone won't solve it though: the gateway's final outbound delivery call forces redaction regardless, and scheduled cron output passes through both scheduler and gateway redaction layers.

            Root causes identified

            • agent/redact.py snapshots HERMES_REDACT_SECRETS at import time (_REDACT_ENABLED = os.getenv(...)), so it must be set before agent.redact is imported.
            • The Cloudron supervisor's environment= list for hermes-gateway includes HERMES_HOME etc., but not HERMES_REDACT_SECRETS/HERMES_REDACT_PHONES.
            • gateway/run.py imports agent modules (which import agent.redact) near the top, but only calls load_hermes_dotenv() much later (~line 1829) — so the .env loads after the snapshot is taken.
            • gateway/run.py::_redact_gateway_user_facing_secrets() calls redact_sensitive_text(text, force=True) — this bypasses _REDACT_ENABLED entirely, so security.redact_secrets: false in config.yaml has no effect on this path.
            • The phone regex also misses Serbian local format and international numbers with a space after the country code.
            • cron/scheduler.py redacts no_agent stdout/stderr independently, then the gateway applies its own forced pass — so scheduled jobs go through two redaction layers.

            What we tried

            • We tested: security.redact_secrets: false in config.yaml
            • HERMES_REDACT_SECRETS=false in .env
            • editing supervisord's environment directly (not durable — file is app-owned and replaced on updates)
            • a sitecustomize.py early-patch (confirmed _REDACT_ENABLED=False standalone, but scheduled Telegram delivery still redacted due to force=True)
            • disabling phone matching + HERMES_REDACT_PHONES=false (still redacted in the real delivery path)
            andreasduerenA
            andreasduerenA
            andreasdueren
            App Dev
            wrote last edited by
            #23

            @alpheus I pushed 0.4.87 which should resolve this

            A 1 Reply Last reply
            1
            • WiseMetalheadW
              WiseMetalheadW
              WiseMetalhead
              translator
              wrote last edited by
              #24

              Am I right in thinking that Incoming Email in the Cloudron app settings currently doesn't work? Whenever I try to configure the mailbox, I always get these errors in the logs:

              Sep 02 17:03:52 2026-09-02 14:03:52,991 ERROR hermes_plugins.email_platform.adapter: [Email] SMTP connection failed: STARTTLS extension not supported by server.
              
              Sep 02 17:03:53 2026-09-02 14:03:53,013 WARNING gateway.run: ✗ email failed to connect
              

              And if I send an email to that address, the agent doesn't respond at all.

              Outgoing email works fine, but only if I leave the default settings unchanged after installing the app.

              andreasduerenA 1 Reply Last reply
              0
              • andreasduerenA andreasdueren

                @alpheus I pushed 0.4.87 which should resolve this

                A
                A
                alpheus
                wrote last edited by
                #25

                @andreasdueren thank you for the fix! I will update hermes in the next few days to the latest version and let you know if it fixed it! Thanks for the fast effort and update!

                1 Reply Last reply
                1
                • WiseMetalheadW WiseMetalhead

                  Am I right in thinking that Incoming Email in the Cloudron app settings currently doesn't work? Whenever I try to configure the mailbox, I always get these errors in the logs:

                  Sep 02 17:03:52 2026-09-02 14:03:52,991 ERROR hermes_plugins.email_platform.adapter: [Email] SMTP connection failed: STARTTLS extension not supported by server.
                  
                  Sep 02 17:03:53 2026-09-02 14:03:53,013 WARNING gateway.run: ✗ email failed to connect
                  

                  And if I send an email to that address, the agent doesn't respond at all.

                  Outgoing email works fine, but only if I leave the default settings unchanged after installing the app.

                  andreasduerenA
                  andreasduerenA
                  andreasdueren
                  App Dev
                  wrote last edited by
                  #26

                  @WiseMetalhead Please update to 0.4.88. It should work now.

                  1 Reply Last reply
                  0
                  • nostrdevN
                    nostrdevN
                    nostrdev
                    wrote last edited by
                    #27

                    @andreasdueren we were initially tempted to use cloudron for packaging agents but given the many documented cases of AI breaking out of containers, compounded by the amount of unencrypted internal cloudron comms and ports being available, we backed away

                    We are now evaluating firecracker on a dedicated machine for agent hosting

                    Curious what your (and others) position is with regard to the risks of running agents on cloudron containers

                    timconsidineT 1 Reply Last reply
                    1
                    • nostrdevN nostrdev

                      @andreasdueren we were initially tempted to use cloudron for packaging agents but given the many documented cases of AI breaking out of containers, compounded by the amount of unencrypted internal cloudron comms and ports being available, we backed away

                      We are now evaluating firecracker on a dedicated machine for agent hosting

                      Curious what your (and others) position is with regard to the risks of running agents on cloudron containers

                      timconsidineT
                      timconsidineT
                      timconsidine
                      App Dev
                      wrote last edited by timconsidine
                      #28

                      @nostrdev E2B ? Kata ? Something else ?
                      (Probably a slippery slope needing its own discuss or off-topic thread, based on your thought-provoking question touching many surfaces).

                      Indie app dev, huge fan of Cloudron PaaS, scratching my itches : communityapps.appx.uk

                      1 Reply Last reply
                      0

                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                      With your input, this post could be even better 💗

                      Register Login
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Bookmarks
                      • Search