Hello, fellow Linux users!

My question is in the titel: What is a good approach to deploy docker images on a Raspberry Pi and run them?

To give you more context: The Raspberry Pi runs already an Apache server for letsencrypt and as a reverse proxy, and my home grown server should be deployed in a docker image.

To my understanding, one way to achieve this would be to push all sources over to the Raspberry Pi, build the docker image on the Raspberry Pi, give the docker image a ‘latest’ tag and use Systemd with Docker or Podman to execute the image.

My questions:

  • Has anyone here had a similar problem but used a different approach to achieve this?
  • Has anyone here automated this whole pipeline that in a perfect world, I just push updated sources to the Raspberry Pi, the new docker image gets build and Docker/Podman automatically pick up the new image?
  • I would also be happy to be pointed at any available resources (websites/books) which explain how to do this.

At the moment I am using Raspbian 12 with a Raspberry Pi Zero 2 W and the whole setup works with home grown servers which are simply deployed as binaries and executed via systemd. My Docker knowledge is mostly from a developer perspective, so I know nearly nothing about deploying Docker on a production machine. (Which means, if there is a super obvious way to do this I might not even be aware this way exists.)

  • assaultpotato@sh.itjust.works
    link
    fedilink
    arrow-up
    4
    ·
    edit-2
    1 day ago

    You can export images to tarballs and import them to your local docker daemon if you want.

    Not sure how podman manages local images.


    Idea:

    1. Setup inotifywait on your sources directory and rsync to keep directories in sync, and on change, build and run latest image
    2. Setup inotifywait on your image tarball directory/file and on change import and run latest
    3. Mount your source directory to a docker server image that supports hot reloading.
    • wolf@lemmy.zipOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 day ago

      Wow, thanks a lot! Your answer is exactly what I hoped for when posting on Lemmy: I didn’t even know the docker-tarball thingy is a thing, it fits my problem space very nice in combination with cross building and it seems as easy as it can be. Excellent! :-)