Run a Postgres Database for Free in Google Cloud!

Sdílet
Vložit
  • čas přidán 22. 08. 2024
  • Learn how to run a Postgres Database in Google Cloud for free using a Virtual Machine in Compute Engine. In this video I show how to run the database using Docker, making it quick and easy to stand up the database.
    This is intended only for small test projects or proof of concepts. Anything bigger should use Cloud SQL or a much larger VM.
    Be sure to always check Google Cloud's Free tier docs to make sure nothing has changed and the VM is still free!
    GCP free tier docs: cloud.google.c...
    Docker Engine install docs: docs.docker.co...
    Follow me on social media!
    Twitter: / scriptbytesio
    Instagram: / scriptbytes

Komentáře • 56

  • @lkym2481
    @lkym2481 Před rokem +5

    Thank you so much, man. I used your video to host my first ever Docker container for a job interview challenge. Hopefully they'll think it's pretty cool!

    • @scriptbytes
      @scriptbytes  Před rokem +1

      Oh that’s awesome! I’m glad this helped.
      Good luck, I hope you get the job!

  • @yasin5603
    @yasin5603 Před rokem +3

    God Bless you sir! I've been trying to do it for 4 days. I did it thanks to you! Thank you a lot :)

    • @scriptbytes
      @scriptbytes  Před rokem

      You’re welcome! I’m glad it helped!

  • @4115steve
    @4115steve Před 4 měsíci +1

    You might consider a playlist series "GCP for beginner", it's difficult to find any decent content to learn GCP as a beginner. Thanks for this video.

    • @scriptbytes
      @scriptbytes  Před 4 měsíci

      Great suggestion! Thanks for watching.

  • @VastIllumination
    @VastIllumination Před 2 měsíci

    Great video! So helpful worked right away.

  • @packalacky
    @packalacky Před 3 měsíci

    Thank you. For reference, the order in which you type the docker flag commands is important, ie putting the port after postgres will throw an error

  • @pedromoreira1311
    @pedromoreira1311 Před rokem

    Nice tutorial. Thank you!

  • @diaconescutiberiu7535
    @diaconescutiberiu7535 Před měsícem

    I did everything listed in the video, but i cannot connect to the db via dbeaver client (i'm getting request time out).
    I tried checking stuff with chatgpt (all settings are correct, i can ping the external ip, i can connect to the db via GC's shell .. but not from dbeaver. I'm on Mac (drivers were installed). I'm stuck

  • @nicmantzivis8978
    @nicmantzivis8978 Před rokem +1

    Thank you kind Sir

    • @scriptbytes
      @scriptbytes  Před rokem

      You’re welcome, thanks for watching!

  • @DARREN_1
    @DARREN_1 Před rokem +1

    getting this error when i try to connect
    Connection to refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
    Connection refused: connect
    Connection refused: connect

    • @scriptbytes
      @scriptbytes  Před rokem +1

      Hard to tell without seeing it, might check that the ports are mapped correctly in the docker run command?

    • @MrLESPERGUER
      @MrLESPERGUER Před rokem +1

      hi! I'm guessing you made the same mistake I did. check the database creation command, you must indicate the port 5432:5432. if you don't, you will get that error. check the video at minute 6:44.

    • @nhaquyennguyen1289
      @nhaquyennguyen1289 Před rokem +1

      @@MrLESPERGUER I have same problem how to fix that ? thank

  •  Před 3 měsíci

    What would you recommend for production?

  • @Glorpin
    @Glorpin Před 3 měsíci

    After stopping and starting my VM instance, i get the "Connection to refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections."
    Was working fine before I stopped my instance last night, any solutions?
    Edit: If i setup a new docker container it allows the connection through. Do I have to setup a new container everytime?

    • @scriptbytes
      @scriptbytes  Před 3 měsíci +1

      You have to restart the container after the vm is restarted.

  • @drkreh
    @drkreh Před 5 měsíci

    thanks sir

  • @erreib
    @erreib Před 5 měsíci

    Thanks so much for this tutorial. I've created the 5432 firewall rule, added the appropriate network tag to the VM, and started the postgres docker with port 5432 forwarded from the docker to the vm. The connection times out whenever I try to connect. Do you have any suggestions for where I should start troubleshooting?

    • @erreib
      @erreib Před 5 měsíci

      I ended up solving it by putting all my cloud run components on the same vpc network. Thanks again for the very informative video!

    • @scriptbytes
      @scriptbytes  Před 5 měsíci +1

      Glad you got it working!

  • @YukzGaming11
    @YukzGaming11 Před 10 měsíci +1

    What is the reason why Its not good for production?

    • @scriptbytes
      @scriptbytes  Před 10 měsíci

      I should have clarified that better, that's related more to the size of the server. Also you do have to manage backups and server upgrades/updates yourself.
      Another option would be Cloud SQL, which is a fully managed service on GCP.

    • @rmcf3972
      @rmcf3972 Před 9 měsíci

      @@scriptbytes cloud sql is not free?

    • @scriptbytes
      @scriptbytes  Před 9 měsíci

      @@rmcf3972 Unfortunately they don't offer a free tier for Cloud SQL. The smallest Postgres database is going to be around $10/mo or so.

  • @nathanvanveldhuizen7159

    Awesome 👍

  • @tradergermany5494
    @tradergermany5494 Před rokem

    excellent

  • @NextGenSellPOS
    @NextGenSellPOS Před 5 měsíci

    postgres-db:~$ sudo apt-get install lab-release
    Reading package lists... Done
    Building dependency tree... Done
    Reading state information... Done
    E: Unable to locate package lab-release
    I cant find lab-release. please help . and also please share the commands that you did afterwards

    • @scriptbytes
      @scriptbytes  Před 5 měsíci

      All the commands I used were straight from the docker installation docs link in the description. However it does look like things have changed since this video and the commands are different.
      I would reference the docs for that section of the video and hopefully that will get it working for you.

  • @danielvega646
    @danielvega646 Před rokem +1

    Is it possible to do all of this same process but with mySQL?

    • @scriptbytes
      @scriptbytes  Před rokem +1

      It should be doable as long as you substitute the correct docker commands

  • @kubwimanapatrick5425
    @kubwimanapatrick5425 Před rokem

    Hey... How can I use the this IP address to connect with a backend on on my laptop ... I want to set this up in the .env and use the remote postgres database

    • @scriptbytes
      @scriptbytes  Před rokem

      You can use the External IP address of the server as the hostname in your connection. So for example in a .Net API, the connection string format would look like this:
      Host=1.2.3.4;Port=5432;Database=YourDatabaseName;Username=UserName;Password=Password123

    • @chibuisiamiaka6799
      @chibuisiamiaka6799 Před 6 měsíci

      @@scriptbytes I think we will need to setup a local socket sql connection right? We can do that using cloud_sql_proxy. Example, after installing cloud_sql_proxy, run the following command: cloud_sql_proxy -instances=example-project-dev:us-central1:example-db-name=tcp:5432. Then we can include credentials in the app connection string

  • @oliverlarsen9388
    @oliverlarsen9388 Před rokem

    Hey sir.
    I've had my database up and running for 4 days now i think.
    When i go to billing it says it has costed me 19 usd now.
    Am i doing anything wrong?

    • @oliverlarsen9388
      @oliverlarsen9388 Před rokem

      It seems like that it is cloud sql that costs

    • @scriptbytes
      @scriptbytes  Před rokem

      $19 in 4 days sounds like it’s a larger server config. Might check that.

    • @scriptbytes
      @scriptbytes  Před rokem

      Ya if you decide to use cloud sql there is a cost. There’s no free tier for cloud sql unfortunately.

  • @user-xk2lq6nq7v
    @user-xk2lq6nq7v Před rokem

    Hi, there is an info that the cost of instance is about $6. So it is not entirely for free?

    • @scriptbytes
      @scriptbytes  Před rokem

      If you only have 1 VM running, and it fits all the criteria, it's free. It shows the cost on the setup screen but it's free if it meets the free tier criteria.

    • @user-xk2lq6nq7v
      @user-xk2lq6nq7v Před rokem +1

      @@scriptbytes Cool Thanks for clarification.

  • @River-iw1og
    @River-iw1og Před rokem

    Why did you make boot disk 20GB? Why not the bare minimum or the maximum?

    • @scriptbytes
      @scriptbytes  Před rokem

      No reason in particular. Mostly just to show how to do it in case you’d need to go bigger or smaller.

    • @River-iw1og
      @River-iw1og Před rokem

      @@scriptbytes If I set the boot disk setting here too high does that mean I lose out on space for my data? Assuming I want to stay within the 30GB max free tier.

    • @scriptbytes
      @scriptbytes  Před rokem +1

      @@River-iw1og No, the boot disk in this case is the only disk, so it's just the total amount of space available for your server.
      The higher the setting here the more space you have for everything on the server.

  • @user-bc2ji6jv8o
    @user-bc2ji6jv8o Před 10 měsíci

    It works! Thanks. But i have an issue. Google cloud has blocked my postgres db by two times :( They've said that my project doing crypto mining.
    I've tried to do like in a video

    • @scriptbytes
      @scriptbytes  Před 10 měsíci +1

      Sorry I dunno how to help with that.

    • @johnwyb2027
      @johnwyb2027 Před 7 měsíci

      had the same problem. some official postgres docker images have kinsing malware. if you run 'top' command and see kdevtmpfsi

  • @KerptacularGaming
    @KerptacularGaming Před 11 měsíci

    Will I be charged for the external ip address?

    • @scriptbytes
      @scriptbytes  Před 11 měsíci +1

      No, it mentions that in the free tier docs page:
      cloud.google.com/free/docs/free-cloud-features#compute
      "Compute Engine free tier does not charge for an external IP address."