Deploy MonitoRSS

Hi! I took a look at this.
Could you please clarify what your main goal is with the bot? Running the full MonitoRSS suite on Koyeb isn’t really possible (as far as I know) due to resource limits~, especially on the free tier [not correct]. But I’m curious to hear what you have in mind!

(e.g. if you just want a Discord bot and not specifically from MonitoRSS you could try using a different way, like discord.py. If there’s a specific feature from MonitoRSS you want, just tell me and I’ll try to find an alternative for it.)

I need a bot that automatically posts updates from RSS feeds to Discord servers.

Here is how to set up a minimal bot using MonitoRSS.

  1. Go to Koyeb, and click Create Service
  2. Select Docker (not Github)
  3. Set the Image to synzen/monitorss:latest, leave Registry empy.
  4. In the environment variables set these:
    DRSS_BOT_TOKEN = BOT TOKEN HERE
    DRSS_DATABASE_URI = MONGODB LINK HERE
    DRSS_START = bot → don’t change this one
    FEED_REQUESTS_FEED_REQUEST_DEFAULT_USER_AGENT = MonitoRSS/1.0 your@email.com

Now click deploy and you’re done!
Your bot should be online, and you can set it up further how you like.

Hope this helped :slight_smile:

The issue is that that is the old version of MonitoRSS, which has several problems, such as sending duplicate articles and sometimes not sending articles at all. That’s why this version is now deprecated in favor of the new one that uses Docker Compose.

I want to use the updated version of MonitoRSS, not the old one that has many serious issues. :disappointed_face:

I think this tutorial suits your needs: Deploy Apps Using Docker Compose on Koyeb - Koyeb :slightly_smiling_face:

Well, I tried that, but it’s not very useful. Because it describes what to do with Docker Compose if you use… Python…

MonitoRSS uses Nodejs…

I tried to create Dockerfile and Dockerfile.koyeb as you can see in my repo:

Not sure if those files are correct.

But it fails at building… Not sure why and how to fix this…

Hmmm, I made some progress. But now I’ve created a private repo since I need to add sensitive data to .env.prod. :thinking:

It gets stuck, the last things spawning in logs: https://pastebin.com/raw/87rhMNVf

These logs are all info messages and warnings, no errors, are you sure the bot is stuck on this?

Yes. Everything is correctly set. :thinking:

Do you perhaps have a public repository or something like that I can see? I don’t think I’ll be able to resolve this without running it myself :sweat_smile:

Else I’ll pass it to an admin who has access to your service.

Have you tried github .com/sn-o-w/MonitoRSS ?

I have sensitive data, like a Discord token, which I cannot make public. That’s why I created a private repo. The only difference between github .com/sn-o-w/MonitoRSS and the private repo is that I renamed .env.example to .env.prod and I added all the environment variables to file .env.prod.

Made some progress, but still stuck now at this point: https://pastebin.com/raw/7ARxmXxx

All the changes made, except the sensitive data in .env.prod, are not published in my public repo. :thinking:

How can I call an admin to have a look on this?!

As there’s no reply from an admin, I’ll try to host this myself today and see if I can get it working.
I’ll respond again later today :slight_smile:

1 Like

How did you get the docker compose working? Simply using the Dockerfile.koyeb in your repository doesn’t seem to work for me…

No kernel access

=== Unable to start docker daemon ===

Certificate request self-signature ok

subject=CN = docker:dind server

/certs/server/cert.pem: OK

Certificate request self-signature ok

subject=CN = docker:dind client

/certs/client/cert.pem: OK

ip: can't find device 'nf_tables'

lsmod: /proc/modules: No such file or directory

modprobe: can't change directory to '/lib/modules': No such file or directory

ip: can't find device 'ip_tables'

lsmod: /proc/modules: No such file or directory

modprobe: can't change directory to '/lib/modules': No such file or directory

mount: permission denied (are you root?)

Have you enabled ā€˜Privileged’? Check out Settings → Builder.

^ Not sure if ā€˜Command’ is mandatory, but that’s the command mentioned by the MonitoRSS creator.

Thanks, that worked for me!
I think the issue is that something is wrong in the setup, I’m getting the standard ā€œTCP health check failed on port 8000.ā€ and then my instance is killed. I’ve tried multiple changes in both the build command and the source files but I sadly couldn’t find a solution for this. Perhaps someone more experienced with Dockerfile should look into this…

1 Like

I may have found what’s the issue in my repo, I’ll inform you more on this tomorrow!

1 Like