* Data container for demonstration 
  Contains [[https://github.com/hohn/mrva-open-source-download.git][mrva-open-source-download]] repo and some downloads.

  This container has several non-trivial build prerequisites which is why it
  exists in the first place.  The [[*Building the container][Building the container]] instructions are intended
  for building it /after/ much work has been done, to make it easy to share that
  work with others.

  If you just want to use the container, see [[*Using the container][Using the container]]

** Using the container
   To get and test this image, run the container via the following
   #+BEGIN_SRC sh 
     docker pull ghcr.io/hohn/mrvadata:0.1.24
     docker run --rm -it --name test-mrvadata ghcr.io/hohn/mrvadata:0.1.24 sh
   #+END_SRC

   Inside the container, check the contents via
   #+BEGIN_SRC sh 
     ls /data/mrvacommander/qldbtools/*
     ls /data/mrvacommander/dbstore-data/*
   #+END_SRC

   This should be something of the form
   #+BEGIN_SRC text
     / # ls /data/mrvacommander/qldbtools/*

     cp-dbs-to-upload.txt       db-info-1.csv              gh-mrva-selection.json
     cp-gh-mrva-selection.json  db-info-2.csv              selection-full-info
     cp-vscode-selection.json   db-info-3.csv              vscode-selection.json

     / # ls /data/mrvacommander/dbstore-data/*

     BoomingTech$Piccoloctsj6d7177.zip           mawww$kakounectsjc54fab.zip
     KhronosGroup$OpenXR-SDKctsj984ee6.zip       microsoft$node-native-keymapctsj4cc9a2.zip
     OpenRCT2$OpenRCT2ctsj975d7c.zip             nem0$LumixEnginectsjfab756.zip
     StanfordLegion$legionctsj39cbe4.zip         pocoproject$pococtsj26b932.zip
     USCiLab$cerealctsj264953.zip                quickfix$quickfixctsjebfd13.zip
     WinMerge$winmergectsj101305.zip             rui314$moldctsjfec16a.zip
     draios$sysdigctsj12c02d.zip                 swig$swigctsj78bcd3.zip
     gildor2$UEViewerctsjfefdd8.zip              tdlib$telegram-bot-apictsj8529d9.zip
     git-for-windows$gitctsjb7c2bd.zip           timescale$timescaledbctsjf617cf.zip
     google$orbitctsj9bbeaf.zip                  xoreaxeaxeax$movfuscatorctsj8f7e5b.zip
     libfuse$libfusectsj7a66a4.zip               xrootd$xrootdctsje4b745.zip
     luigirizzo$netmapctsj6417fa.zip

   #+END_SRC



** Building the container

   The Dockerfile is used to make an image contain data; it uses busybox as
   base.

   Steps to build this image from a preloaded minio instance[fn:1].

   - Prepare data.  This requires that a minio instance has already been populated
     and will be documented in the future.
     # TODO
     #+BEGIN_SRC sh 
       cd ~/work-gh/mrva/mrvacommander/client/containers/mrvadata/ && \
           rm -fR tmp && \
           mkdir tmp
       cp -r ../../../dbstore-data   tmp
       cp -r ../../qldbtools/scratch tmp
     #+END_SRC

   - Make image
     #+BEGIN_SRC sh 
       cd ~/work-gh/mrva/mrvacommander/client/containers/mrvadata/ 
       docker build -t mrvadata .
     #+END_SRC

   - Tag and Push to GHCR
     #+BEGIN_SRC sh 
       echo $GHCR_GITHUB_TOKEN | docker login ghcr.io -u hohn --password-stdin

       cd ~/work-gh/mrva/mrvacommander/client/containers/mrvadata
       docker tag mrvadata ghcr.io/hohn/mrvadata:0.1.24
       docker push ghcr.io/hohn/mrvadata:0.1.24
     #+END_SRC

* Footnotes

[fn:1] This is itself effort, hence the creation of this image. 
