Self-Host: Triggering workflow to topic subscribers doesn't work
Can we solve this problem once and for all?
Like @Mei (https://discord.com/channels/895029566685462578/1230090324341166112/1230347369997144136) suggested, there is a variable
IS_TOPIC_NOTIFICATION_ENABLED
.
But in all cases in .env
files it is set to true
and feature still doesn't work.12 Replies
Hi @maybeNoT, I'm an AI assistant for Novu. While a team member reviews this question, I'll look through relevant sources and see if I can provide suggestions. Please tag @Ask Inkeep with any follow-up questions.
-----------------------------
While I generate an answer, here are some sources that might be helpful:
* Go quickstart
* Ruby quickstart
* .NET
* Python quickstart
-----------------------------
Answer
Sorry, I wasn't able to find any information about your question.
Got it. Tagging @Support for additional help.
@maybeNoT
I will take a look at this
I know for a fact that the feature does work if the environment variable is correctly set for the containers running novu. The issue would be that however the docker images are being built isnt setting it to true on the correct images
I think(?) that it’s the worker container that eventually evaluates the list of subscribers/topics
And notice that the list of files above doesn’t include any non-test env files for worker
So that is the likely culprit, the worker image isn’t getting the env variable
I added these variables to non-test
.env
files.
I did run docker compose
once again as it is in the docs. But still with the same result. No notifications to the subscribers.@Mei
Those env files are baked into the docker images at compile time, changing them in your local repo won’t change what is used by docker compose. I suggest you add an env: entry to the docker compose yml directly
The docker compose files provided in the repo all have
environment
sections already that you can add toAren't the
.env
files used by images in case if they are not defined in the compose?The images include a copy of the .env file inside them as it was when the image was built by the novu team
You could delete every file inside the repository except the docker compose.yml and docker compose would still work, because the compose file tells docker to pull the images from the GitHub docker image repos
Aren't the images built based on the current state of a files in the repo?
Ah.. if that's the case.
The docker-compose file is not set up for you to build Novu yourself. It points to the prebuilt images that are hosted on GitHub repos
In general that’s the way most docker images will work. A big part of the usefulness of docker is that when you run a docker image, you’re running the exact same thing as everyone else who is using the same 0.x.x image
Got it.
Solved
Final solution is to add and set environment variable
IS_TOPIC_NOTIFICATION_ENABLED: true
Inside of a docker-compose.yml
file at /docker/local/deployment
.
Thanks @Mei
Thanks @Pawan JainWhy in the world is this not in the docs?!