How to deploy a blog + a fast.ai app

I have read this repo GitHub - render-examples/fastai-v3: Starter app for fastai v3 model deployment on Render on how to deploy a fast.ai app in render.

However, this repo use pure html/css/js to create the front-end which I think making it hard to develop.

I then created a separate frontend app with reactjs.

However, now I have 2 separates Docker Images which I don’t know how to deploy.

Actually, I want to create a blogging site with an app at the end of each page to try out the model. What is the best way to do so ? (heroku, render or others )

Thanks,

Hi @dhoa,

I’m not sure how far you have come until now. Can you run both of them locally? Is one depending on the other? Then you could try to use Docker-Compose to start them together.

If they are not depending on each other, then I would combine both Dockerfiles to a single Dockerfile. Take everything that you need for the backend of your model from GitHub and the code + requirements for your reactjs frontend.

But if you just look for a fast way to share your app, Gradio looks quite easy to use.

Cheers

Thanks @JackByte . I can run both of them locally. Sure I can you docker-compose to combine the 2 images. However I don’t know how the PaaS platform like heroku or render deal with docker-compose. I was thinking that they take the Dockerfile in the repository and deploy it automatically. (from here I think render doesn’t support docker-compose Support docker-compose | Feature Requests | Render)

I will see that can I combine 2 Docker images to one but these 2 depends on 2 different base Image (python:3.7-slim-stretch and node:10), so I think I need to base on just one baseImage and install everything from scratch for the other.

I want to customize the frontend my own way so I think Gradio might not be a good choice.

I think I will buy 2 services on render. One for the API with fastai and one for the frontend. However I’m not sure how much RAM needed for each, the cheapest one- 7$/month- is with only 512Mb :frowning:

Hm… Okay my ideas weren’t really helpful :see_no_evil:

One last shot: you could start with either python:3.7-slim-stretch or node:10 as base image and then use RUN apt-get update || : && apt-get install .... Maybe this does the trick

1 Like

Thanks for your help @JackByte :slight_smile:

1 Like