Deploy your Flask app on Google Cloud Platform

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 พ.ย. 2024

ความคิดเห็น •

  • @SmolenskiyIlya
    @SmolenskiyIlya หลายเดือนก่อน +1

    Amazing tutorial! Re-watch it every time I need to deploy smth. Thank you!

  • @rijumondal6876
    @rijumondal6876 10 หลายเดือนก่อน +5

    Bro I was stuck with this https issue for a week, thank for saving me

    • @lesliewubbel9157
      @lesliewubbel9157  10 หลายเดือนก่อน +1

      No problem, I have been there done that before with the same issue its the concept is not explained in depth its important.
      On deployment is always issue too

  • @mayurpillai3181
    @mayurpillai3181 4 หลายเดือนก่อน +1

    oh my god thanks Leslie i cant thank you enough for this tutorial. I'm actually a new towards all this coding stuff & i was stuck in this deploying things, your video only helped me perfectly without any error of deploying in this TH-cam which contains these 1000 types of videos. Thank you so much & hope you have a wonderful year ahead

    • @lesliewubbel9157
      @lesliewubbel9157  4 หลายเดือนก่อน +1

      Thank you for the kind hearted message I hope you find success in your journey.

  • @vijaynathnair
    @vijaynathnair 10 หลายเดือนก่อน +5

    Thank you for this fantastic video! Your detailed instructions saved me a ton of time. Great job!

  • @CultureofSpeech
    @CultureofSpeech 3 หลายเดือนก่อน +1

    Bravo 👏👏 Lit 🌠 Impressive 👌 Gratitude 🥳 for your satisfactory Work 💪🚀🌱

  • @be_present_now
    @be_present_now 10 หลายเดือนก่อน +4

    This is a very helpful tutorial. Thanks! 👍

  • @GameLog-nc3hw
    @GameLog-nc3hw 5 หลายเดือนก่อน +1

    Very good one, simple and clean. Thank you

  • @Jakupdam
    @Jakupdam 6 หลายเดือนก่อน +1

    Bro, you are awesome! Nice walkthrough with good explanations! Thank you!

  • @GianCampos
    @GianCampos 5 หลายเดือนก่อน +1

    Excellent tutorial. Followed every step and saved me a ton of time. Thank you!

    • @lesliewubbel9157
      @lesliewubbel9157  5 หลายเดือนก่อน +1

      Thanks! Please checkout my blog I would love feedback!

    • @GianCampos
      @GianCampos 5 หลายเดือนก่อน

      @@lesliewubbel9157 I liked your website. A recommendation would be to get the current user’s device theme and set the background color based on that

    • @lesliewubbel9157
      @lesliewubbel9157  4 หลายเดือนก่อน

      Thanks I will have to look into that

  • @mstfssk
    @mstfssk 6 หลายเดือนก่อน +1

    Thank you Leslie, this is very clear for everyone.

  • @artistheanswer
    @artistheanswer 6 หลายเดือนก่อน +1

    Many thanks mate. The best video I could find related to deploying a Flask app on Google Cloud!

  • @andrewchou1720
    @andrewchou1720 9 หลายเดือนก่อน +1

    I got some error while following the step to deploy the url. And when checking log, it gives me this following error: "Default STARTUP TCP probe failed 1 time consecutively for container "project-name" on port 8080. The instance was not started."
    Any help on this please? :)

    • @lesliewubbel9157
      @lesliewubbel9157  9 หลายเดือนก่อน +2

      Can you double check the docker file? the last line should be CMD exec gunicorn --bind :$PORT --workers 1 --threads 8 --timeout 0 app:app
      also check check the yaml file was that create it should match
      runtime: python39
      entrypoint: gunicorn -b :$PORT app:app
      if not I will have go through it again and make sure its all correct on my tutorial

    • @andrewchou1720
      @andrewchou1720 9 หลายเดือนก่อน +1

      @@lesliewubbel9157 Actually, I think I got it to work already. For some reason my docker does not recognize the environment variable (PORT) and also some of my api key (being used in the backend file that I had). So I went ahead and manually add the key (secret key) on the google cloud directly, and it works. Thanks for such a swift response. Appreciated!

    • @lesliewubbel9157
      @lesliewubbel9157  9 หลายเดือนก่อน

      @andrewchou1720 was it .environment variable I think it's missing from my blog post if that is true

    • @PaulThach1
      @PaulThach1 9 หลายเดือนก่อน

      I got the same issue. "...The user-provided container failed to
      start and listen on the port defined provided by the PORT=8080 environment variable." I have confirm:
      app.yaml -> entrypoint: gunicorn -b :$PORT app:app
      Dockerfile -> CMD exec gunicorn --bind :$PORT --workers 1 --threads 8 --timeout 0 app:app
      I tried changing .env to PORT=5000, but it still saying, PORT=8080 on gcloud deploy...

    • @lesliewubbel9157
      @lesliewubbel9157  7 หลายเดือนก่อน

      @PaulThach1 did you get to work? I can come Back and take look

  • @lol14132
    @lol14132 5 หลายเดือนก่อน +1

    THANK YOU BROSKI AWESOME TUTORIAL SUPER HELPFUL

  • @eromoseleedeko3839
    @eromoseleedeko3839 5 หลายเดือนก่อน

    thanks for this could you also show how to make the app point a domain

    • @lesliewubbel9157
      @lesliewubbel9157  3 หลายเดือนก่อน

      you mean change the domain name in url?

  • @ckdixon3629
    @ckdixon3629 2 หลายเดือนก่อน +1

    Just what I needed, thanks boss!

  • @josemoraila
    @josemoraila 3 หลายเดือนก่อน

    ERROR: (gcloud.run.deploy) Revision 'project-00001-drw' is not ready and cannot serve traffic. The user-provided container failed to start and listen on the port defined provided by the PORT=8080 environment variable. Logs for this revision might contain more information.

    • @lesliewubbel9157
      @lesliewubbel9157  2 หลายเดือนก่อน

      can you print out error logs they should tell you what is wrong?

  • @Jamaalmamu
    @Jamaalmamu 5 หลายเดือนก่อน

    At 6:18 Someone passed by the door and that looks creepy, lol.

  • @aqib5354
    @aqib5354 11 หลายเดือนก่อน +1

    Plz teach flask start to end
    and deployment also

    • @lesliewubbel9157
      @lesliewubbel9157  11 หลายเดือนก่อน

      Huh sorry I don't understand. Do you want a tutorial purely on flask? Correct? Then a in depth tutorial on deployment logic like ports? Dockerfile?

    • @be_present_now
      @be_present_now 10 หลายเดือนก่อน

      Yea I think he means a flask tutorial for building real life apps. I also feel a flask playlist would be really helpful, most flask tutorial on YT are old, a modern series of flask tutorial vids in 2024 would be nice. Then ofcourse, how to deploy the flask app over the cloud so that end users are able to use them.@@lesliewubbel9157

    • @saswatm23
      @saswatm23 9 หลายเดือนก่อน

      @@lesliewubbel9157 +1

  • @sahalsalu1919
    @sahalsalu1919 14 วันที่ผ่านมา

    Thank you for this tutorial❤‍🔥. I am getting an error in my cloud log. What might be causing this?
    ERROR: error fetching storage source: generic::unknown: retry budget exhausted (3 attempts): fetching gcs source: fetching object from gcs: source fetch container exited with non-zero status: 1

    • @lesliewubbel9157
      @lesliewubbel9157  14 วันที่ผ่านมา

      Hi Sahal,
      Hmm that is new error I havent seen amongst other commenters.
      I think Google updated their policy recently? This could mean budget for the google cloud container if out of tries i.e. you have to pay google to spin up the container, it used to be like 75 cents but I don't know the problem cloud so often is pricing is confusing for customers and policy changes occur every few months to a year.
      Sorry I wish I could help.
      Warm regards,
      Leslie Wubbel

    • @sahalsalu1919
      @sahalsalu1919 14 วันที่ผ่านมา

      @lesliewubbel9157 turns out i didn't have the permissions for storage access or anything setup. Got it fixed with a little help from gemini. Now I'm facing a new error where the iam policy creation failed. Will look into it tomorrow and update. Overall your tutorial helped a lot thanks. I'm quite new to Cloud and your video helped to demystify most of the steps!

  • @vaishnavikulkarni663
    @vaishnavikulkarni663 6 หลายเดือนก่อน

    i am getting error at very last step of uploading
    on checking logs it says
    ERROR: Could not find a version that satisfies the requirement pywin32==306 (from versions: none)
    ERROR: No matching distribution found for pywin32==306

    • @lesliewubbel9157
      @lesliewubbel9157  6 หลายเดือนก่อน

      could you print out your requirements.txt for me here?

    • @vaishnavikulkarni663
      @vaishnavikulkarni663 5 หลายเดือนก่อน

      @@lesliewubbel9157 yeah!
      beautifulsoup4==4.12.2
      blinker==1.7.0
      certifi==2023.7.22
      charset-normalizer==3.3.2
      click==8.1.7
      colorama==0.4.6
      comtypes==1.2.0
      dnspython==2.6.1
      flask==3.0.0
      Flask-PyMongo==2.3.0
      idna==3.4
      importlib-metadata==6.8.0
      itsdangerous==2.1.2
      Jinja2==3.1.2
      MarkupSafe==2.1.3
      MouseInfo==0.1.3
      Pillow==10.1.0
      PyAutoGUI==0.9.54
      PyGetWindow==0.0.9
      pyjokes==0.6.0
      pymongo==4.7.2
      PyMsgBox==1.0.9
      pyperclip==1.8.2
      pypiwin32==223
      PyRect==0.2.0
      PyScreeze==0.1.30
      python-dotenv==1.0.1
      pyttsx3==2.90
      pytweening==1.0.7
      pywhatkit==5.4
      pywin32==306; platform_system == "Windows"
      requests==2.31.0
      soupsieve==2.5
      SpeechRecognition==3.10.0
      urllib3==2.0.7
      werkzeug==3.0.1
      wikipedia==1.4.0
      zipp==3.17.0
      When I was searching for solution on stackoverflow, GPT etc they told me to comment out the line pywin32==306 or write pywin32==306; platform_system == "Windows" since it is not compatible with linux (thats what gpt said). I did all of that but still nothing worked.

    • @vaishnavikulkarni663
      @vaishnavikulkarni663 5 หลายเดือนก่อน

      @@lesliewubbel9157 Yeah
      beautifulsoup4==4.12.2
      blinker==1.7.0
      certifi==2023.7.22
      charset-normalizer==3.3.2
      click==8.1.7
      colorama==0.4.6
      comtypes==1.2.0
      dnspython==2.6.1
      flask==3.0.0
      Flask-PyMongo==2.3.0
      idna==3.4
      importlib-metadata==6.8.0
      itsdangerous==2.1.2
      Jinja2==3.1.2
      MarkupSafe==2.1.3
      MouseInfo==0.1.3
      Pillow==10.1.0
      PyAutoGUI==0.9.54
      PyGetWindow==0.0.9
      pyjokes==0.6.0
      pymongo==4.7.2
      PyMsgBox==1.0.9
      pyperclip==1.8.2
      pypiwin32==223
      PyRect==0.2.0
      PyScreeze==0.1.30
      python-dotenv==1.0.1
      pyttsx3==2.90
      pytweening==1.0.7
      pywhatkit==5.4
      pywin32==306; platform_system == "Windows"
      requests==2.31.0
      soupsieve==2.5
      SpeechRecognition==3.10.0
      urllib3==2.0.7
      werkzeug==3.0.1
      wikipedia==1.4.0
      zipp==3.17.0
      when I searched the error on stackoverflow and gpt they said it might be because pywin is not compatible with linux and mac. and server we're using from GCP is linux hence specify it in .txt so i did that. Also i tried to comment out that line but nothing worked.

    • @vaishnavikulkarni663
      @vaishnavikulkarni663 5 หลายเดือนก่อน

      @@lesliewubbel9157 i did reply but that comment is disapearing idk how!!

    • @lesliewubbel9157
      @lesliewubbel9157  5 หลายเดือนก่อน

      @vaishnavikulkarni663 you have to refresh youtube I think youtube algo is checking comments I had the same issue

  • @sully-miller-o6l
    @sully-miller-o6l 3 หลายเดือนก่อน

    Thank you for that amazing video, I got this error "Expecting calling IAm" i checked the role of my account and it is owner where do think is the problem?

    • @lesliewubbel9157
      @lesliewubbel9157  3 หลายเดือนก่อน

      no problem! I will be honest I don't know I would just double check the files again and the blog post. its hard debug the problem in the youtube comments

  • @Qurqud
    @Qurqud 6 หลายเดือนก่อน

    may I ask what extension you're using for auto completing?

    • @lesliewubbel9157
      @lesliewubbel9157  6 หลายเดือนก่อน

      Sure np, in terminal that is default behavior and in vscode I use github copilot. Als the code is from the blog post linked in the description

  • @anushka.narsima
    @anushka.narsima 9 หลายเดือนก่อน

    What about when I want to edit the .env? How do I do that? Do I have to go through the whole bruild process again?

    • @lesliewubbel9157
      @lesliewubbel9157  9 หลายเดือนก่อน +1

      Option 1. You have to ssh into the cloud run service container there should be some information in the google cloud dashboard heres a link I hope that helps. Then you edit the .env file but would have to restart the application for it to pick the .env file changes
      cloud.google.com/compute/docs/ssh-in-browser
      Option 2. is redeployment which is the more realistic thing DevOps does when we have to connect entire other software to your platform or new databases you will need to redeploy and do the whole build process again anyways.
      This is the unfortunate reality of the DevOps, they do build custom tools you build off the self to manage and automate .env files but this really out of scope for this video locally you can just edit the .env file and see the changes update locally to test stuff out first however I know you are talking about the deployment specifically here

  • @DruidpathXo2
    @DruidpathXo2 6 หลายเดือนก่อน

    I have a quick question when we deploy it, is the Google platform running the project on a linux server?

    • @DruidpathXo2
      @DruidpathXo2 6 หลายเดือนก่อน

      It is indeed, I answered my own question so it's all good haha

    • @lesliewubbel9157
      @lesliewubbel9157  6 หลายเดือนก่อน

      yes!

  • @martinmalic5411
    @martinmalic5411 6 หลายเดือนก่อน

    Hi Leslie,
    Many thanks for your video.
    I'm trying to deploy a custom built flask app which also relies on html files inside the templates folder.
    After following your steps I'm getting a service unavailable error.
    It works perfectly when I run it on localhost, any ideas how to troubleshoot?
    I can't see errors in the log

    • @lesliewubbel9157
      @lesliewubbel9157  6 หลายเดือนก่อน +1

      Let me get back to you tomorrow

    • @martinmalic5411
      @martinmalic5411 6 หลายเดือนก่อน

      @@lesliewubbel9157 thank you for the update

    • @lesliewubbel9157
      @lesliewubbel9157  6 หลายเดือนก่อน +1

      ​@@martinmalic5411 Hi martin sorry for that late response I have been super busy lately I am getting my MBA right now its best to just set up a zoom call? lesliemwubbel.com/11-consulting/
      1. Best guess without seeing your code is that the template files were not copied from your local machine to the cloud instance when you deploy I would double check the the dockerignore file to see if html files are being ignore on deployment
      SSH into the Cloud instance to
      2. Then I would check your endpoint
      @app.route('/upload', methods=['POST'])
      if your @app.route is not set to @app.route('/' ) that is your homepage on URL
      So I need to see code? is the template render function being called on the endpoint? Try to use paste bin? to share code with me
      Images of folder structure helps too
      Lot of different things could trigger this?
      - Check Server Logs
      - Verify Dependencies
      - File Permissions
      - Web Server Configuration
      - Application Errors
      - Network Configuration
      -Resource Limits

    • @martinmalic5411
      @martinmalic5411 6 หลายเดือนก่อน

      @@lesliewubbel9157 hi Leslie thanks for getting back. I've managed to get my app working by uploading it to pythonanywhere instead!

    • @martinmalic5411
      @martinmalic5411 6 หลายเดือนก่อน

      @@lesliewubbel9157 Leslie, many thanks for your response and congrats on your MBA. At the moment I have managed to host the web-app on pythonanywhere which seems to do the job just fine for my needs.
      Let's not waste your time at the moment, I appreciate you taking the time however. Perhaps in the future.
      Martin
      (I think I responded already, but I don't see it so here's another try)

  • @DruidpathXo2
    @DruidpathXo2 6 หลายเดือนก่อน

    I have another quesiton, could you upload a tutorial on deploying a flask application that utilises flask socket IO, or do you know of any good resources for this? Thank you

    • @lesliewubbel9157
      @lesliewubbel9157  6 หลายเดือนก่อน +1

      Sure I can make a video on that

    • @DruidpathXo2
      @DruidpathXo2 6 หลายเดือนก่อน

      @@lesliewubbel9157 thank you so much

  • @tiagopereira1181
    @tiagopereira1181 10 หลายเดือนก่อน

    I installed google cloud and it runs on command line but not on my terminal in VScode. Any idea why this happens? Thanks for the help in advance

    • @lesliewubbel9157
      @lesliewubbel9157  10 หลายเดือนก่อน

      Yes this happens sometimes
      Restarted the VScode?

    • @lesliewubbel9157
      @lesliewubbel9157  10 หลายเดือนก่อน

      Try plug in called Google Cloud Code see if that helps

    • @lesliewubbel9157
      @lesliewubbel9157  10 หลายเดือนก่อน

      did you resolve it?

    • @tiagopereira1181
      @tiagopereira1181 10 หลายเดือนก่อน

      @@lesliewubbel9157 no but I found a solution other than Google cloud. If I come to need Google cloud again I Will certainly do that. Thanks a lot

    • @omkar7795
      @omkar7795 7 หลายเดือนก่อน

      @@lesliewubbel9157 I had this same issue and restarting VS Code fixed the issue

  • @kashishvarshney2225
    @kashishvarshney2225 5 หลายเดือนก่อน

    I am creating chatbot and that will be used by 1000 users at the same time
    Will flask socket io worth for it

    • @lesliewubbel9157
      @lesliewubbel9157  5 หลายเดือนก่อน

      Truthfully I don't know, I have not been in that situation, but I would look into microservices, docker, and proxy engine nginx.org/en/ to handle high server loads it should work but there are ways to load balance. I would google load balancing

  • @pemudatersesat7121
    @pemudatersesat7121 5 หลายเดือนก่อน

    bro i wanna ask, when i deploy it on app engine got error 502 bad gateway, any tips?

    • @lesliewubbel9157
      @lesliewubbel9157  5 หลายเดือนก่อน

      It could be a number of reasons you could check the logs first as a clue

  • @Eddyyc
    @Eddyyc 3 หลายเดือนก่อน

    hello, I am having such a bad time dealing with gas, is there a way to reach out to you by any chance?

  • @justinbeaudry5210
    @justinbeaudry5210 10 หลายเดือนก่อน

    Is the info you put in the Dockerfile copied from somewhere?

    • @lesliewubbel9157
      @lesliewubbel9157  10 หลายเดือนก่อน

      Yes it's from google's docs this a default dockerfile used to make deployments its in the blog post the hyperlink should be there if its not just tell me and I will update it

  • @0xcalmaf976
    @0xcalmaf976 ปีที่แล้ว

    Great stuff man, grabbing some snacks already

  • @aleksanderalsviksivertsen8326
    @aleksanderalsviksivertsen8326 11 หลายเดือนก่อน +1

    Super great video!

  • @DarkShadow-321
    @DarkShadow-321 17 วันที่ผ่านมา

    Thank you

  • @thePufi
    @thePufi 6 หลายเดือนก่อน

    Do you know what could cause this error?
    Revision ... is not ready and cannot serve traffic. The user-provided container failed to start and listen on the port defined provided by the PORT=8080 environment variable. Logs for this revision might contain more information.

    • @lesliewubbel9157
      @lesliewubbel9157  6 หลายเดือนก่อน

      Could dump the logs here or in a paste bin? Others are getting thus error I havnt experience it but it would be a great help

    • @planetscore
      @planetscore 4 หลายเดือนก่อน +1

      Yes, this message you might get if your Dokerfile has a syntax error. In my case I write RUN exexc gunicorn instead of RUN excec and produced exactly this error message. Correcting it resolved the issue immediately.

    • @lesliewubbel9157
      @lesliewubbel9157  3 หลายเดือนก่อน +1

      @@planetscore Thanks for info!

  • @wendelgomesdev
    @wendelgomesdev 11 หลายเดือนก่อน

    Perfect!

  • @gabutaja8523
    @gabutaja8523 6 หลายเดือนก่อน

    ive done all the process, but when i open the Service URL that given by the gcloud. the URL says service unavailable. any idea on this problem ? thank you!

    • @lesliewubbel9157
      @lesliewubbel9157  6 หลายเดือนก่อน

      Check the logs? In Google cloud dashboard?

    • @lesliewubbel9157
      @lesliewubbel9157  6 หลายเดือนก่อน

      What does the network tab say on the browser?

  • @jz319
    @jz319 6 หลายเดือนก่อน

    Hi, how different would it be if we want to deploy the frontend to GCP too ??

    • @lesliewubbel9157
      @lesliewubbel9157  6 หลายเดือนก่อน

      It shouldn't be too different just managing DNS and domain name becomes a waste of time that is why I perfer using Netlify or vercel

    • @lesliewubbel9157
      @lesliewubbel9157  6 หลายเดือนก่อน

      What is your frontend?

    • @jz319
      @jz319 6 หลายเดือนก่อน

      just react front end , wanted to learn more on how to do both front end and backend into gcp

    • @lesliewubbel9157
      @lesliewubbel9157  6 หลายเดือนก่อน

      @@jz319 I think I can figure it out for react front-end, how about a video?

    • @jz319
      @jz319 6 หลายเดือนก่อน

      That willl be great !! THANK YOU !!