Skip to content

Blue Iris - send alert to Gotify with Image and URL links #831

Closed

Description

@MnM001

Have you read the documentation?

  • Yes, but it does not include related information regarding my question.
  • Yes, but the steps described in the documentation do not work on my machine.
  • Yes, but I am having difficulty understanding it and want clarification.

You are setting up gotify in

  • Docker
  • Linux native platform
  • Windows native platform

Describe your problem

I am trying to send alert from Blue Iris to Gotify. The alert should include the alert image as well as a link to the motion event (recording), as well as a link to the live camera. I have tested NTFY previously and have a configuration that works with that but struggling to achieve the same with Gotify (I want to use Gotify rather than NTFY). The BlueIris configuration to send an alert to NTFY configuration is (using CURL):
....
-H "Title: &NAME" -H "Message: &MEMO" -H "Click: https://exampleurl.com/ui3.htm?tab=clips&clipview=alerts&cam=&CAM&rec=&ALERT_DB" -H "Action: view, Live, https://exampleurl.com/ui3.htm?tab=clips&clipview=alerts&cam=&CAM, clear=true; view, Clip, https://exampleurl.com/ui3.htm?tab=clips&clipview=alerts&cam=&CAM&rec=&ALERT_DB, clear=true" -T "E:\AlertsNew&ALERT_PATH" -H "File: &ALERT_PATH" https://ntfy.exampleurl.com/motion-notification
....

All the https://exampleurl.com/ui3.htm? above point back to my Blue Iris instance and when clicked either open the recording or the live camera.

Can someone help me translate the above for Gotify? I have tried replacing https://ntfy.exampleurl.com/motion-notification with https://gotify.exampleurl.com/message?token= but that didnt work .

Thanks

Activity

  1. changed the title [-]BlueIris - send alert to Gotify with Image and ULLinks[/-] [+]Blue Iris - send alert to Gotify with Image and ULLinks[/+] on Sep 1, 2025
  2. changed the title [-]Blue Iris - send alert to Gotify with Image and ULLinks[/-] [+]Blue Iris - send alert to Gotify with Image and URL links[/+] on Sep 1, 2025
  3. eternal-flame-AD commented on Sep 1, 2025

    @eternal-flame-AD
    Member

    If it is a commercial software you need to transform the payload format with an intermediary proxy or plugin. You can also consider filing a ticket to your vendor for supporting more webhook formats or making a template functionality.

    gotify/contrib has a couple examples of how to do these transformations.

  4. MnM001 commented on Sep 2, 2025

    @MnM001
    Author

    Ohhh well then NTFY it is for me ...I would have loved to get some help in translating the above NTFY command to Gotify ... Blue Iris have their own client so they will not be interested in doing any of this work.

  5. eternal-flame-AD commented on Sep 2, 2025

    @eternal-flame-AD
    Member

    Did you try referring to https://gotify.net/docs/pushmsg?

    It should be as simple as substituting these "&CAM", etc. variables in.

  6. MnM001 commented on Sep 2, 2025

    @MnM001
    Author

    OK so I have started playing with that but as expected I did run into issues.

    This is what I have in Blue Iris:

    "http://192.168.0.172:8083/message?token=XXXXXXXXX" -F "title= &NAME" -F "message=&MEMO http://192.168.0.179/ui3.htm?tab=clips&clipview=alerts&cam=&CAM&rec=&ALERT_DB, clear=true -T E:\AlertsNew\&ALERT_PATH" -F "priority=5"
    

    The above produces this:

    Image

    So it means that:

    -F "title= &NAME" - works as it should

    -F "message=&MEMO http://192.168.0.179/ui3.htm?tab=clips&clipview=alerts&cam=&CAM&rec=&ALERT_DB, clear=true -T E:\AlertsNew&ALERT_PATH" - only partially works. The &MEMO part is done OK (that is the person 89% in the pic above) but the rest of it is not working OK. It should attach an image instead of the URL and the path to the image.

    Any idea how to make it attach the image? Tried a few things but I could not get it to work.

  7. eternal-flame-AD commented on Sep 2, 2025

    @eternal-flame-AD
    Member

    Any idea how to make it attach the image?

    Hmm, which URL is the clip/image? &ALERT_PATH?

    I am not familiar with the software, if it is an entire webpage to be embedded currently there is no way to do it except clincking on this link. If it is just an image there are some message extra keys that override images or links when you click it: https://gotify.net/docs/msgextras#clickurl.

  8. eternal-flame-AD commented on Sep 2, 2025

    @eternal-flame-AD
    Member

    If you served this E:\AlertNew folder under a web server you should be able to send it as extras by just assembling an URL.

    You will also need to send the data as a JSON file instead of form fields.

    Check out: https://gotify.net/docs/msgextras#namespaces

    It should be something like "curl <...> -H "Content-Type: application/json" '{"message": "...", "extras": { ... }}' '

  9. MnM001 commented on Sep 2, 2025

    @MnM001
    Author

    I believe that this creates the actual URL for the photo (without the clear=true -T as I got that from the NTFY example so it might not be applicable here?)

    http://192.168.0.179/ui3.htm?tab=clips&clipview=alerts&cam=&CAM&rec=&ALERT_DB, clear=true -T E:\AlertsNew\&ALERT_PATH
    

    I tried your suggestion ("curl <...> -H "Content-Type: application/json" '{"message": "...", "extras": { ... }}' ' ) but I am really struggling with the syntax, where to put stuff, etc so I really need your expertise please.

    Basically need to have the following in the message:

    title= &NAME (this gives me Camera 7 Garage in the picture above)
    message=&MEMO (this gives me the Person: 89% bit for the picture)
    picture: http://192.168.0.179/ui3.htm?tab=clips&clipview=alerts&cam=&CAM&rec=&ALERT_DB, clear=true -T E:\AlertsNew&ALERT_PATH (with or without clear=true -T as mentioned before)

    If you can help me with above with correct syntax (command, double quotes etc in the correct places) I can something to test with further.

    Many thanks for helping - I feel that slowly we are getting closer to making it work :)

  10. MnM001 commented on Sep 2, 2025

    @MnM001
    Author

    This is how it looks in Blue Iris:

    Image

    I believe Blue Iris builds up the message as per the given parameters and then send it out to Gotify. So it doesn't serve it from a web path or anything. Looking at it better I now believe that the picture path BI uses is only E:\AlertsNew&ALERT_PATH without http://192.168.0.179/ui3.htm?tab=clips&clipview=alerts&cam=&CAM&rec=&ALERT_DB, clear=true -T (something for me to test and confirm if we get the syntax correct)

    Blue Iris can also build the message and send it to Gotify via a Web Request - maybe is easier this way? But again I have no idea...

    Image
  11. MnM001 commented on Sep 2, 2025

    @MnM001
    Author

    With some trial and error I got it again to display the Title and Memo but still cant get to display the picture:

    "http://192.168.0.172:8083/message?token=XXXXXXXXXX" "title= &NAME" -H "Content-Type: application/json" '{"message": "&MEMO", "extras": { E:\AlertsNew\&ALERT_PATH }}' '
    
    Image
  12. eternal-flame-AD commented on Sep 2, 2025

    @eternal-flame-AD
    Member

    I read the ntfy docs: https://docs.ntfy.sh/publish/#attachments

    Is &ALERT_PATH just a file name and not accessible via an URL? If so you can't make it show up on Gotify: it does not read arbitrary files on the filesystem and serve it.

    You could potentially kind of hack it by placing a symlink inside the image directory but I don't recommend it. If you have a web server setup can you setup a way to make that image viewable as a URL?

    Such as https://my.server.example.com/images/<random_string>.jpg, if you can get it to that step the rest is easy.

  13. MnM001 commented on Sep 2, 2025

    @MnM001
    Author

    Just confirming that the picture path is:

     E:\AlertsNew\&ALERT_PATH
    

    Yes it is a path that is not available via a URL.

    I don't think Gotify needs to read it from inside the file system. I believe that Blue Iris puts all the message together (including the picture) and send it out to Gotify.

    For example there is a way to make it work with Pushover - I am almost 100% pushover doesn't come back into the LAN to read or get the message. Is Blue Iris that pushes the message to Pushover.
    This is how they got it going for pushover (the picture is right at the end under attachment)

    https://api.pushover.net/1/messages.json -s --form-string "token=YOUR_APP_TOKEN_HERE" --form-string "user=YOUR_USER_KEY_HERE" --form-string "message=<b>&CAM</b> &MEMO <a href='&WAN/alerts/&ALERT_DB?fulljpeg'>Hi-Res</a> <a href='&WAN/ui3.htm?rec=&ALERT_DB'>UI3</a>" --form-string "html=1" --form-string "device=YOUR_PUSHOVER_DEVICE_NAME(S)_HERE" --form-string "sound=YOUR_PUSHOVER_SOUND_HERE" -F "attachment=@D:\BlueIris\Alerts\&ALERT_PATH"
    
  14. eternal-flame-AD commented on Sep 2, 2025

    @eternal-flame-AD
    Member

    This is how they got it going for pushover (the picture is right at the end under attachment)

    This uploads the image to Pushover server instead so when you access it the data is directly served from Pushover's storage.

    If your BlueIris runs on the same user as your Gotify you could just copy &ALERT_PATH to the gotify image directory.

    If not some more complex workarounds might be needed. This is a feature limitation of Gotify at this time. There is no easy way to let it just take custody of the file. You could try object storage solutions like MinIO which will allow you to upload a file to a storage that can be securely retrieved over an URL.

    @jmattheis do you think it might be useful to have an image upload feature?

  15. MnM001 commented on Sep 2, 2025

    @MnM001
    Author

    Ok I understand the issue now. Unfortunately Blue Iris is running on a windows machine (only supports windows) while my instance of Gotify runs as a docker on Linux.

    If Gotify can be made to handle the pictures will be great.

  16. jmattheis commented on Sep 2, 2025

    @jmattheis
    Member

    Yeah, but we should store the images in the database, having this on the filesystem adds unnecessary overhead with deletion etc. Maybe we even allow attaching anything not just images, as it may be useful for bigger txt files.

  17. MnM001 commented on Sep 2, 2025

    @MnM001
    Author

    Sounds great guys - looking forward to this feature being implemented. How long do you think it will take?

  18. eternal-flame-AD commented on Sep 3, 2025

    @eternal-flame-AD
    Member

    Not sure, it will certainly be after the plugin system so probably not in the next 2 weeks. If you need something now please try object storage solutions like Minio.

  19. MnM001 commented on Sep 3, 2025

    @MnM001
    Author

    I am OK to wait 2-3 weeks for this.

    Please let me know if you need my help with testing once you start working on it.

    Many thanks!!!

  20. linked a pull request that will close this issuefix: fix markdown embed image issue #857on Oct 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions