How to install Docker (and Portainer) on a RaspberryPi and run millions of apps on your RaspberryPi!

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

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

  • @Phrozends
    @Phrozends 2 ปีที่แล้ว +39

    Great video! Thank! Just a note, the -v in the docker command is for volumes, it maps the first path (docker container) to the second path (after the colon), which is a folder on the host operating system. That is how docker containers can persist data if they are killed or restarted.

  • @Jeffrey_Mason
    @Jeffrey_Mason ปีที่แล้ว +1

    Best video yet. I have redone my PI about 4 times following other videos. Worked the first time with yours.

  • @PortainerIO
    @PortainerIO 3 ปีที่แล้ว +31

    Thanks for the great tutorial! I've added it to our TH-cam playlist 'Videos from the Portainer Community'. :)

  • @bassam.2023
    @bassam.2023 2 ปีที่แล้ว +4

    Of course, my favourite Raspberry Pi channel pops up when I want to install docker on my RPI :)

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

    out of all the videos i watched yours was the most thorough and easiest to follow thank you

  • @techmattr8483
    @techmattr8483 3 ปีที่แล้ว +10

    -v is volume not variable. The docker.sock is mapping the local docker volume so portainer can manage the local docker resources.

  • @ralf2403
    @ralf2403 3 ปีที่แล้ว +2

    Super! please make more Raspberry Docker videos because most of the tutorials on YT are useless.. Thanks to your videos I set up my Raspberry and VPN :)

  • @matthewreid9502
    @matthewreid9502 3 ปีที่แล้ว +12

    Excellent, excellent video. Everything was so clearly explained and shown. Told me why I was doing things and what they were. Thanks so much!

  • @joelnork9363
    @joelnork9363 ปีที่แล้ว

    Thanks for the video, just an update to help others, docker will not pull portainer with the command give if you are running 64bit, however if you run sudo docker pull portainer/portainer-ce that should work. Happy learning.

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

    I find the best tutorials right here on your page. Thank you, and Happy New Year, brother.

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

    A voice I could listen to all day! Good tutorial too!

  • @johngoverts4166
    @johngoverts4166 3 ปีที่แล้ว +4

    Great video, thanks! I had been planning to try this stuff, but since I am a relative newbie on Docker and Portainer I was somewhat apprehensive to go ahead and try. You managed to get me going within a quarter of an hour. Kudos!!

    • @SpaceRexWill
      @SpaceRexWill  3 ปีที่แล้ว

      haha Im glad! Portainer really just makes everything so much easier

  • @zaur66
    @zaur66 3 ปีที่แล้ว +7

    -e is for : Set environment variables , -v is for setting up volumes, you are exposing local 'storage' so to say into the docker container.

    • @SpaceRexWill
      @SpaceRexWill  3 ปีที่แล้ว +1

      Whoops! Got my flags mixed up

  • @DanJackielz
    @DanJackielz ปีที่แล้ว

    This is the cleanest tutorial. Love the way you explained everything!

  • @kellynorton
    @kellynorton ปีที่แล้ว

    I'm going to go ahead and say that this video was very useful.

  • @golvellius6855
    @golvellius6855 2 ปีที่แล้ว +1

    dude great stuff thank you!

  • @seniorchief6136
    @seniorchief6136 ปีที่แล้ว

    Thanks for the video. I will try this. I'm planning to build my own home lab and dive deeper into networking, virtualization, containers etc. But this seems like a nice way of trying it out before I go full into it, plus I already have a pi that's never been used.

  • @C3PO_
    @C3PO_ 2 ปีที่แล้ว +2

    Thanks very much for your concise and very useful tutorial! As a newbie to Linux and Docker, may I ask whether I need to manually update the pulled Docker images from time to time? If yes, how? Do I need to stop the corresponding containers before updating? Many thanks in advance!🙏

  • @tommilton6024
    @tommilton6024 2 ปีที่แล้ว +2

    Thanks for the video, did you do any follow ups? I'm interested in whether you could pop pihole, home assistant and things like that within this setup? Thanks 👍

  • @tamasbarabas574
    @tamasbarabas574 2 ปีที่แล้ว

    Thank you very much!
    I'm pretty green to this things. This tutorial was easy to follow and I got some good results even on a very old RPI. 😎🙏

  • @TheDro
    @TheDro 2 ปีที่แล้ว

    thanks this helped!

  • @Joooooooooooosh
    @Joooooooooooosh 3 ปีที่แล้ว +30

    -v does not stand for variable. It stands for volume.

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

      who cares, it could stand for vandalism and i could care less. Geek language makes no sense anyways, so variable or volume, same thing.

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

      @@therealjackfisher then you may wanna choose another line of work I dunno what to tell you.

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

      @@Joooooooooooosh back in the days if you saw me on DOS your jab would drop, and you would be the one to choose another line of work. It dont matter if you know what it stand for as long you know how to use it. If I had to explain everyone what everything means when writing extremely complicated batch files nobody would remember anything. Trust me there was sick amount of programming involved in making batch files with menus, sub menus, and without flooding screen with crap you dont want to display. These days are over and I didnt have any reasons to use Linux before now because Linux sucked, and it still kinda does, but there are more uses for this in private homes today then lest say 10 years ago.

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

      @@therealjackfisher variables and volumes are two distinctly different concepts in docker. They are not interchangeable.

  • @kolemieux
    @kolemieux ปีที่แล้ว

    Exceptional video and explanation - thanks for sharing!

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

    I am new raspberry pi user. with the new version of software it asked for user name. Once I added it I had a difficulties with the tutorial as it asked for pi user and not the one I had. Once I figured that out. It went well. Thanks

  • @viperacr99
    @viperacr99 3 ปีที่แล้ว +8

    A tutorial for how to upgrade (or downgrade) containers to newer versions while keeping the existing one available in case the new one doesn't work would be great! If you could do it via synology docker UI that would be cool too.

    • @SpaceRexWill
      @SpaceRexWill  3 ปีที่แล้ว +1

      Thats a good idea! I need to look into that! I think it should be fairly trivial to clone containers

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

    Nice video, I just used it to repurpose my Pi-3B. Next is Nextcloud so I can dump google. i too had to change the portainer-ce:linux arm to latest. but working now.

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

    Thanks for this!

  • @chrisblumarten
    @chrisblumarten ปีที่แล้ว

    your videos are so incredibly helpful. thanks for making them.

  • @WesselLemmer
    @WesselLemmer 3 ปีที่แล้ว

    Really appreciate you explaining commands

  • @MdWahidurRahmanOvi
    @MdWahidurRahmanOvi 2 ปีที่แล้ว +6

    sudo docker pull portainer/portainer-ce:linux-arm64 (for 64bit rasbian os Debian version: 11 bullseye)

    • @lohnstar5
      @lohnstar5 2 ปีที่แล้ว +1

      thank you, just what I was looking for

  • @TarakoBR
    @TarakoBR ปีที่แล้ว

    3:52 Now you just seat back and relax ... (Tense face)
    Just kidding, awesome content, buddy, I am benefiting of a lot :D

  • @couple.gamernauts
    @couple.gamernauts 3 ปีที่แล้ว

    Nice tutorial! I would like to see more content for raspberry pi and networks. Keep up the good work.

  • @Farlot911
    @Farlot911 3 ปีที่แล้ว +2

    Please add a annotation or something about having to reboot your Pi if you update/upgrade from the base image straight away, the install will fail without a reboot first :)

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

    Hi - great video! I'm new to Docker and Raspberry Pi 5 and I would love to see a video on how to deploy DokuWiki on my Pi5 using Docker.

  • @Yamheadyan
    @Yamheadyan 3 ปีที่แล้ว +2

    You mentioned at around 2:50 to do a quick glance for any malicious code. Unfortunately as a newbie to coding, I do not know what to look for. Any pointers?

    • @barbyboi
      @barbyboi 3 ปีที่แล้ว

      Generaly is to say, if a code is open source, a company doesnt have spyware in it. Otherwise, i think you just need to learn a bit of coding, or just look a bit of codd in the internet if it seems suspicious.

  • @gogorunrun
    @gogorunrun 2 ปีที่แล้ว +1

    I’m a totally noob and I made it work. Cool video, thanks.
    Only thing was “linux-arm” did not work for me, so after a bit a searching I used “latest” instead

    • @ChaseWilliams15
      @ChaseWilliams15 2 ปีที่แล้ว +1

      Thank you I was confused on this too

  • @magicmanchloe
    @magicmanchloe ปีที่แล้ว +2

    the portainer-ce:linux-arm returned an error no matching manifest. but i was able to get it working useing portainer-ce:latest you can just run that if anyone else has this issue.

  • @joshuasimmons571
    @joshuasimmons571 2 ปีที่แล้ว +2

    for anyone who gets the deamon error when trying to pull portainer just reboot your rpi4

    • @JD-sb7mq
      @JD-sb7mq 2 ปีที่แล้ว

      Thanks for sharing! I’m getting this error after trying to install docker “E: Sub-process /usr/bin/dpkg returned an error code (1)” which led to the daemon error “is this daemon running?”

    • @hollowt3a199
      @hollowt3a199 2 ปีที่แล้ว

      What a lifesaver

  • @ArunKumar001
    @ArunKumar001 ปีที่แล้ว

    .sock is a linux socket file in which docker api is exposed. Since portainer requires access to docker you are volume mounting the sock file to the container. Thanks for the tutorial.

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

    Thank you for this helpful video! How can I update Portainer?

  • @msdosfx
    @msdosfx 3 ปีที่แล้ว

    I have set up Wiregaurd VPN server from your guide and tried unsuccessfully to get nextcloud up and running. I would love to see a tutorial on using Portainer and Docker to set up Nextcloud on Apache or NginX working with Wiregaurd. Would also love to see a tutorial on using Portainer to set up Pleroma instance

  • @PilotOdyssey
    @PilotOdyssey 3 ปีที่แล้ว

    Ok I have it running do you have a tutorial for finding, installing then running Containers in Portainer you kind of glossed over the details.
    Thanks

  • @renobodyrenobody
    @renobodyrenobody 2 ปีที่แล้ว

    Ha thanks for your video, gonna try with the Pi400. Just an idea: I cannot see (I am so ooold) anything on the portainer in web browser part, I suggest you zoom in a bit. Anyway, thanks again!

  • @jmccamb
    @jmccamb 3 ปีที่แล้ว

    Thank you for this. Do you know if a Pi 2 or 3b+ will be able to handle this?

  • @SimonYTC
    @SimonYTC 2 ปีที่แล้ว

    Great! Worked perfectly!

  • @zsquresh
    @zsquresh 3 ปีที่แล้ว +1

    Great! Quick and precise!

  • @nepsky
    @nepsky 3 ปีที่แล้ว

    Looking forward to seeing more similar contents in the futures. Thank you.
    Regards,
    Your old Subscriber.

  • @selvin9845
    @selvin9845 2 ปีที่แล้ว

    @SpaceRex thank you very much for creating this type of videos, very helpful. 😎👍 ((SUBSCRIBED))

  • @GilBlumberg
    @GilBlumberg 2 ปีที่แล้ว

    Brilliant, thanks for sharing

  • @awardblvr
    @awardblvr 2 ปีที่แล้ว

    Questions: 1. How do I make sure any container I deploy on Portainer/docker with web access is visible externally (Ie. on my home LAN only, of course, not port-forwarded outside .. just inside my LAN)
    2. How do I set permissions and ownership on various Portainer volumes/directories, etc to allow me to touch those folders from a general Ras Pi login?
    3. What is a "Bind" dir and what are the various modes of "connected networks"? Thanks!!!

  • @danielnagy6809
    @danielnagy6809 2 ปีที่แล้ว +1

    At 7:50 i get a message, “unable to find image portainer/portainer-ce:linux-arm locally.
    Any solution for this?

    • @SRCN999
      @SRCN999 2 ปีที่แล้ว +2

      sudo docker pull portainer/portainer-ce:latest
      sudo docker run -d -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

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

    Can I use this tutorial for my raspberry pi 2 B v1.1 running dietpi?

  • @WeekendDIYProjecs
    @WeekendDIYProjecs 2 ปีที่แล้ว

    Thanks for sharing !

  • @theuptaker
    @theuptaker 2 ปีที่แล้ว

    One more question. I’ve got this running on my RPI using your video so thank you. Now I’m wondering if these same scripts will work on my Mac using terminal? Want to run an AMD container and seeing that OS X is Linux it might work?

    • @SpaceRexWill
      @SpaceRexWill  2 ปีที่แล้ว

      You should be able to get portioner on your Mac. It will need a different build of portioner but (not ARM)

  • @omarcruz6326
    @omarcruz6326 2 ปีที่แล้ว

    Great Video, Sir.

  • @MrStefanokj
    @MrStefanokj ปีที่แล้ว

    Is there an alternative to portainer for arm v6 processors? Because I have a rasberry pi zero w and portainer is not supported :(

  • @zk_6312
    @zk_6312 ปีที่แล้ว

    Interesting video, I have never heard of portainer or even docker until recently. How does docker and portainer handle system commands that need the sudo command? For instance, I am running a 3D printer application called Octoprint, but it needs to use the system commands for shutting down, rebooting, and restarting the octoprint service. So far I have not figured out how to do this so the commands don't do anything. Looking at the docker logs it says docker does not recognize or can't find the sudo command.

  • @MuhammadHussain-qs5gp
    @MuhammadHussain-qs5gp ปีที่แล้ว

    Great Video.
    Any video which can guide how to install rasbarryPi on Synology Docker Container ?

  • @riggsron
    @riggsron ปีที่แล้ว

    Thank you, thank you, thank you. Not only how but why Docker.

  • @mikk0706
    @mikk0706 2 ปีที่แล้ว +1

    Thank you so much.

  • @imvipeness
    @imvipeness 2 ปีที่แล้ว +2

    I get this error when following your exact instructions:
    linux-arm: Pulling from portainer/portainer-ce
    no matching manifest for linux/arm64/v8 in the manifest list entries

    • @golvellius6855
      @golvellius6855 2 ปีที่แล้ว +2

      same trying to find out the solution right now

    • @WTPodcast
      @WTPodcast 2 ปีที่แล้ว +3

      @@golvellius6855 another user replied in these comments and it worked for me:
      sudo docker pull portainer/portainer-ce:latest
      and remember to change it here as well:
      code to install Portainer : sudo docker run -d -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

    • @golvellius6855
      @golvellius6855 2 ปีที่แล้ว +1

      @@WTPodcast yes thank you! It works

  • @tommytigerpants
    @tommytigerpants 3 ปีที่แล้ว +1

    When running the 'sudo docker' command, it returns that 'no matching manifest for linux/arm64/v8 in the manifest list entries' - any advice on this please?

    • @plu2
      @plu2 2 ปีที่แล้ว +1

      sudo docker pull portainer/portainer-ce:latest
      and remember to change it here as well:
      code to install Portainer : sudo docker run -d -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

  • @philiptalbert458
    @philiptalbert458 2 ปีที่แล้ว

    Would you consider a video on setting up unbound on a raspberry pi?

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

    pull access denied for pihole, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
    Showing this while trying to pull any image. Not being able to run anything.

  • @manuelprivado
    @manuelprivado 2 ปีที่แล้ว

    Gracias por el video. Segui los pasos y me funciono! Raspberry Pi CM4 8Gb Lite

  • @enderpearl5971
    @enderpearl5971 ปีที่แล้ว

    i've been seeking for remote workstation . thanks alot !

  • @krstech1269
    @krstech1269 ปีที่แล้ว

    Thank you, good energy...
    How about a webserver: Apache Tomcat?

  • @kevinhsin630
    @kevinhsin630 ปีที่แล้ว

    I had troubles using the sudo docker r and sudo docker rm portainer command. I went about having to do docker stop portainer, then sudo docker rm portainer to remove the container.

  • @BrianThomas
    @BrianThomas 3 ปีที่แล้ว

    Great video. Question: How would this work if I have 8 Pi's in a cluster and I want to spin up applications in containers as needed? Will portioner support that?

    • @ArunKumar001
      @ArunKumar001 ปีที่แล้ว +1

      You should try docker swarm or kubernetes. Portainer is only a gui for docker and docker runs on one host only.

  • @samone5618
    @samone5618 3 ปีที่แล้ว

    I like the quick method on updating the Docker but I got this error at the end "Failure unable to initiate communications with endpoint" how to resolve this or else I have to delete the whole thing and search another set up. Thanks buddy

  • @pwnograffik
    @pwnograffik 2 ปีที่แล้ว

    thanks, great info!

  • @pedr0_m198
    @pedr0_m198 ปีที่แล้ว

    worked, thanks

  • @Ryan-ul8yf
    @Ryan-ul8yf ปีที่แล้ว

    what is the command to remove the container? I made the same mistake you did in the video and now im stuck..

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

    Thank for your video

  • @mjeshurun
    @mjeshurun 3 ปีที่แล้ว

    Thank you, SpaceRex , for a great tutorial.
    Can I use the curl command you included to install Docker on Raspberry Pi OS 64bit?
    or should I use a different curl command for the 64bit OS?

    • @sammyjenkin
      @sammyjenkin 2 ปีที่แล้ว +10

      curl command will work for 64bit OS.. but you will need to change the image to docker pull portainer/portainer-ce:alpine

    • @TEKENGLOBAL
      @TEKENGLOBAL 2 ปีที่แล้ว +3

      @@sammyjenkin I wanted to take a few moments to personally thank you for this key information. As how to get 64 bit Portainer installed on the latest 64 bit OS. I must have read and wasted two days just to find this valuable information!
      The fact the official websites don't offer this key information is a: FAIL!
      Thank You!

    • @sammyjenkin
      @sammyjenkin 2 ปีที่แล้ว +2

      @@TEKENGLOBAL No problem, glad to have helped.

  • @StellarDudes
    @StellarDudes 3 ปีที่แล้ว

    hi there! kept getting " Error response from daemon: failed to create endpoint portainer on network bridge: failed to add the host (veth 0695a4) sandbox (veth 2cd0e4) pair interfaces: operation not supported." but many people said to reboot and good to go but that hasnt worked for me , any suggestions ?

  • @robertbeatty4542
    @robertbeatty4542 3 ปีที่แล้ว

    Great video! Do you have any idea why I can't load portainer from another PC? I can only load it from the Pi

    • @SpaceRexWill
      @SpaceRexWill  3 ปีที่แล้ว

      If I had to guess your portainer might be set to local host only

  • @matejsokolec2973
    @matejsokolec2973 2 ปีที่แล้ว +1

    For you guys running 64 bit versions of raspbian the pull may fail.
    What will work is this: docker pull portainer/portainer-ce:linux-arm64

    • @KenPryor
      @KenPryor 2 ปีที่แล้ว

      Thank you for this!

  • @knoopx
    @knoopx 2 ปีที่แล้ว

    v is for volume not variable, docker.sock is passed to portainer so portainer can manage host's docker via unix sockets.

  • @Ramserik
    @Ramserik 3 ปีที่แล้ว

    Thank you. Great one.

  • @JD-sb7mq
    @JD-sb7mq 2 ปีที่แล้ว

    so im trying to pull the HOOBS image from dockerio and I keep getting a timeout error I don’t know how to fix. The first time I got this error when I was pulling the portainer image but rebooting my pi fixed it.
    Could someone explain what I need to do to fix that?

  • @ismailelayachi9337
    @ismailelayachi9337 3 ปีที่แล้ว

    thank you. very interesting.

  • @joshuathomas512
    @joshuathomas512 2 ปีที่แล้ว

    Some questions, I'm trying to run multiple os's, like ubuntu and retropie through berryboot, and apps, like openmediavault, OpenVPN, pihole, and plex on my pi 4 4gb at once. I tried running all on a single sd card and found some compatibility issues, so I decided to use two cards instead, one for os's and another for programs. Do I go about the latter by first installing docker on rpi os, and then installing said apps into containers? Because I'm also seeing methods of installing docker onto openmediavault for some reason..

    • @SpaceRexWill
      @SpaceRexWill  2 ปีที่แล้ว

      You are going to want to pick one OS per pi. You can install docker stuff on OMV

  • @sbschuppel8552
    @sbschuppel8552 3 ปีที่แล้ว

    Watching and looking at the script file. What is :AzureChinaCloud"?

  • @sbschuppel8552
    @sbschuppel8552 3 ปีที่แล้ว

    Can you install Docker & Portainer on RAspberry pi ' Buster "lite"?

  • @joegpapst2129
    @joegpapst2129 ปีที่แล้ว

    this procedure works on Orange pi zero 2?

  • @izmarsel
    @izmarsel ปีที่แล้ว

    ¡Gracias!

  • @pillowism
    @pillowism 3 ปีที่แล้ว

    Would love a tutorial on port forwarding individual dockers so I can access apps online like say a RSS feed app such as freshRSS, i want to be able to access my news feed from across the globe. Thanks in advance and thank you for this tutorial!!

    • @SpaceRexWill
      @SpaceRexWill  3 ปีที่แล้ว +2

      To do this all you really have to do is setup a DDNS server (have a tutorial on it). This will give you a hostname (read: www.google.com) that points to your homes IP address.
      From there you can just port forward from your router to the pi whatever ports are

  • @wisunhi77
    @wisunhi77 3 ปีที่แล้ว

    Great video.

  • @ronm6585
    @ronm6585 2 ปีที่แล้ว

    Thanks.

  • @glenncol
    @glenncol 2 ปีที่แล้ว

    Will this work with Debian with Raspberry Pi Desktop on a NUC

  • @zer0r00t
    @zer0r00t 3 ปีที่แล้ว +1

    Very helpful but may I suggest explicitly stating capital letters and flags for people who follow tutorials over audio only

  • @kevinhughes9801
    @kevinhughes9801 3 ปีที่แล้ว

    Great vid thanks

  • @daves4026
    @daves4026 2 ปีที่แล้ว

    More docker with mariadb lamp server. Also cctv home NVR with docker please

  • @fate2022
    @fate2022 3 ปีที่แล้ว

    so how do you ad something like android using docker, or can you even do that?

  • @chicoleno007
    @chicoleno007 ปีที่แล้ว

    Great video. New sub to the channel. How about on how to put mqtt and homebridge

  • @helloukw
    @helloukw ปีที่แล้ว

    For error "docker: Error response from daemon: failed to create endpoint portainer on network bridge: failed to add the host" you just need to run command sudo reboot in order to reset your rPI. After that you can run sudo docker rm portainer and try again the portainer command.

  • @matthewreid9502
    @matthewreid9502 3 ปีที่แล้ว

    As an aside, and a bit of a noob question, how did you get your Pi accessed on your browser?

    • @SpaceRexWill
      @SpaceRexWill  3 ปีที่แล้ว

      This is through portainer! It creates a web UO

    • @matthewreid9502
      @matthewreid9502 3 ปีที่แล้ว

      @@SpaceRexWill got it sorted now lad! Thanks for the reply!

  • @mo1tard743
    @mo1tard743 ปีที่แล้ว

    i gave up copying the long command string from the video.. Too easy to make a mistake and not knowing if when I mess up I screw up my system. I suggest you put the entire command in the notes for folks to copy. Good night!

  • @44santhoshkumar41
    @44santhoshkumar41 3 ปีที่แล้ว

    thank you