Accessing Flower from Web Service

I’m following this guide in order to set up Flask, Celery, and Flower.

I’m able to have them all up and running, however is accessible only locally via http://localhost:5555. This is the output after starting Flower:

Jan 27 06:12:38 PM  [I 220127 21:12:38 command:154] Visit me at http://localhost:5555
Jan 27 06:12:38 PM  [I 220127 21:12:38 command:159] Broker: REDIS_ADDRESS
Jan 27 06:12:38 PM  [I 220127 21:12:38 command:162] Registered tasks:
Jan 27 06:12:38 PM      ['celery.accumulate',
Jan 27 06:12:38 PM       'celery.backend_cleanup',
Jan 27 06:12:38 PM       'celery.chain',
Jan 27 06:12:38 PM       'celery.chord',
Jan 27 06:12:38 PM       'celery.chord_unlock',
Jan 27 06:12:38 PM       'celery.chunks',
Jan 27 06:12:38 PM       'celery.group',
Jan 27 06:12:38 PM       'celery.map',
Jan 27 06:12:38 PM       'celery.starmap',
Jan 27 06:12:38 PM       'create_task']
Jan 27 06:12:38 PM  [I 220127 21:12:38 mixins:225] Connected to REDIS_ADDRESS

Therefore, I can’t access it globally, which is precisely the point of having this web service set up in Render.

My question is: once I have the web service running Flower, how can I access it?

Thanks,

EDIT

According to the docs, any Web Server exposes only the port 443. The problem is that, even if Flower allows us to set the port, I keep getting “Permission denied” if I add --port=443 to my Flower startup command.

Hey Rafael,

When you set up the Flower service did you create it as a web service to run it in? Do you have the service IDs handy and I can take a look,

Regards,

John B

Hi John, yes, I have created a web service to run Flower.

The service ID is srv-c7pvl6bru51tn470evpg.

Thanks!

That service seems to be failing to deploy - can you fix that and we can look further?

John B

I’m sorry, I had to recreate it and missed some env variables. It’s running now.

@John_B did you have a chance to take a look?

Yep, all looks good to me. I can see the flower UI when I hit the URL of your flower service. Is there a chance that when you created it originally you used a private service because those don’t explode ports to the outside world?

John B

Hum, interestingly it worked now. I think the problem was that it had a really low startup time which timed-out.

Thanks anyway!

You’re welcome! Glad we got it figured out.

John B