about summary refs log tree commit diff
Error: user-error ("Org export aborted. Unable to resolve link: \"introduction\" See `org-export-with-broken-links'") signal(user-error ("Org export aborted. Unable to resolve link: \"introduction\"\nSee `org-export-with-broken-links'")) user-error("Org export aborted. Unable to resolve link: %S\nSee `org-export-with-broken-links'" "introduction") org-export-data((link (:standard-properties [115 nil 132 144 146 0 nil nil nil nil nil nil nil nil # nil nil (paragraph (:standard-properties [115 115 115 147 147 0 nil nil nil nil nil nil nil nil # nil nil (item (:standard-properties [113 113 115 147 147 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) (plain-list (:standard-properties [113 113 113 259 260 1 nil planning nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) (section (:standard-properties [113 113 113 260 260 0 nil section nil nil nil 113 260 nil # nil nil (headline (:standard-properties [35 35 113 260 260 0 (:title) nil nil nil nil 115 258 1 # nil nil (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 35 35 0 nil first-section nil nil nil 1 35 nil # nil nil #30]) (keyword (:standard-properties [1 1 nil nil 35 1 nil top-comment nil nil nil nil nil nil # nil nil #33] :key "TITLE" :value "Genenetwork2 Dockerized"))) #25 (headline (:standard-properties [260 260 276 926 926 0 (:title) nil nil nil nil 278 924 1 # nil nil #30] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #35))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [276 276 276 926 926 0 nil section nil nil nil 276 926 nil # nil nil #35]) (paragraph (:standard-properties [276 276 276 599 600 1 nil planning nil nil nil nil nil nil # nil nil #38]) #("The CI(Continuous Integration) system for Genenetwork2 uses " 0 60 (:parent #41)) (link (:standard-properties [336 nil 375 389 391 0 nil nil nil nil nil nil nil nil # nil nil #41] :type "https" :type-explicit-p t :path "//github.com/features/actions" :format bracket :raw-link "https://github.com/features/actions" :application nil :search-option nil) #("Github\nActions" 0 14 (:parent #45))) #(". As such, it's important to have a way to run tests using\nfacilities provided by GUIX in a reproducible way. This project\nleverages GUIX to generate a docker container from which the unittests\nare ran from.\n" 0 208 (:parent #41))) (paragraph (:standard-properties [600 600 600 829 830 1 nil nil nil nil nil nil nil nil # nil nil #38]) #("Find instructions on how to set docker up inside GUIX " 0 54 (:parent #42)) (link (:standard-properties [654 nil 732 736 738 0 nil nil nil nil nil nil nil nil # nil nil #42] :type "https" :type-explicit-p t :path "//github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :application nil :search-option nil) #("here" 0 4 (:parent #46))) #(". This\ndocument will not get into that. It's assumed that you have a working\ndocker setup.\n" 0 91 (:parent #42))) (paragraph (:standard-properties [830 830 830 925 926 1 nil nil nil nil nil nil nil nil # nil nil #38]) #("The rest of this document outlines how the docker container used in\nthe CI builds was created.\n" 0 95 (:parent #43))))) (headline (:standard-properties [926 926 956 2234 2234 0 (:title) nil nil nil nil 958 2232 1 # nil nil #30] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 28) t] :title (#("Creating the Docker Images" 0 26 (:parent #36))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [956 956 956 2234 2234 0 nil section nil nil nil 956 2234 nil # nil nil #36]) (paragraph (:standard-properties [956 956 956 1070 1071 1 nil planning nil nil nil nil nil nil # nil nil #39]) #("The general idea is that GUIX is used to generate a set of binaries,\nwhich will be added to a base mariaDB image.\n" 0 114 (:parent #42))) (paragraph (:standard-properties [1071 1071 1071 1116 1117 1 nil nil nil nil nil nil nil nil # nil nil #39]) #("First create the gn2 tar archive by running:\n" 0 45 (:parent #43))) (src-block (:standard-properties [1117 1117 nil nil 1343 1 nil nil nil nil nil nil nil nil # nil nil #39] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 215) t])) (paragraph (:standard-properties [1343 1343 1343 1386 1387 1 nil nil nil nil nil nil nil nil # nil nil #39]) #("The output will look something similar to:\n" 0 43 (:parent #45))) (fixed-width (:standard-properties [1387 1387 nil nil 1454 2 nil nil nil nil nil nil nil nil # nil nil #39] :value "/gnu/store/x3m77vwaqcwba24p5s4lrb7w2ii16lj9-tarball-pack.tar.gz")) (paragraph (:standard-properties [1454 1454 1454 1639 1640 1 nil nil nil nil nil nil nil nil # nil nil #39]) #("Now create a folder from which will host the following dockerfile. You\ncan name this file Dockerfile. Note that mariadb is the base image\nsince it already has mariadb installed for us.\n" 0 185 (:parent #47))) (src-block (:standard-properties [1640 1640 nil nil 1887 1 nil nil nil nil nil nil nil nil # nil nil #39] :language "conf" :switches nil :parameters ":mkdirp yes :tangle ~/docker/Dockerfile" :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (57 236) t])) (paragraph (:standard-properties [1887 1887 1887 1934 1935 1 nil nil nil nil nil nil nil nil # nil nil #39]) #("Build the image(Note the fullstop at the end):\n" 0 47 (:parent #49))) (fixed-width (:standard-properties [1935 1935 nil nil 1995 2 nil nil nil nil nil nil nil nil # nil nil #39] :value "sudo docker build -t genenetwork2:latest -f Dockerfile .")) (paragraph (:standard-properties [1995 1995 1995 2048 2049 1 nil nil nil nil nil nil nil nil # nil nil #39]) #("To load the image interactively you've just created:\n" 0 53 (:parent #51))) (fixed-width (:standard-properties [2049 2049 nil nil 2094 2 nil nil nil nil nil nil nil nil # nil nil #39] :value "docker run -ti \"genenetwork2:latest\" bash")) (paragraph (:standard-properties [2094 2094 2094 2180 2181 1 nil nil nil nil nil nil nil nil # nil nil #39]) #("Assuming you have a docker instance running, you could always run\ncommands in it e.g:\n" 0 86 (:parent #53))) (fixed-width (:standard-properties [2181 2181 nil nil 2234 2 nil nil nil nil nil nil nil nil # nil nil #39] :value "docker run \"genenetwork2:latest\" python --version")))) (headline (:standard-properties [2234 2234 2258 2857 2857 0 (:title) nil nil nil nil 2260 2855 1 # nil nil #30] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 22) t] :title (#("Pushing to DockerHub" 0 20 (:parent #37))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [2258 2258 2258 2857 2857 0 nil section nil nil nil 2258 2857 nil # nil nil #37]) (paragraph (:standard-properties [2258 2258 2258 2364 2365 1 nil planning nil nil nil nil nil nil # nil nil #40]) #("We use DockerHub to store the docker images from which we use on our\nCI environment using Github Actions.\n" 0 106 (:parent #43))) (paragraph (:standard-properties [2365 2365 2365 2486 2487 1 nil nil nil nil nil nil nil nil # nil nil #40]) #("To push to dockerhub, first get the image name by running " 0 58 (:parent #44)) (verbatim (:standard-properties [2423 nil nil nil 2438 0 nil nil nil nil nil nil nil nil # nil nil #44] :value [org-element-deferred org-element--substring (1 14) t])) #(". Push to dockerhub using a command similar to:\n" 0 48 (:parent #44))) (fixed-width (:standard-properties [2487 2487 nil nil 2534 2 nil nil nil nil nil nil nil nil # nil nil #40] :value "docker push bonfacekilz/genenetwork2:latest")) (paragraph (:standard-properties [2534 2534 2534 2576 2577 1 nil nil nil nil nil nil nil nil # nil nil #40]) #("Right now, we have 2 images on DockerHub:\n" 0 42 (:parent #46))) (plain-list (:standard-properties [2577 2577 2577 2857 2857 0 nil nil nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #40] :type unordered) (item (:standard-properties [2577 2577 2579 2741 2741 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #47] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2579 2579 2579 2741 2741 0 nil nil nil nil nil nil nil nil # nil nil #50]) (link (:standard-properties [2579 nil nil nil 2652 0 nil nil nil nil nil nil nil nil # nil nil #53] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python2 version of gn2. Don't use this. Please use the\n python3 image!\n" 0 89 (:parent #53)))) (item (:standard-properties [2741 2741 2743 2857 2857 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #47] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2743 2743 2743 2857 2857 0 nil nil nil nil nil nil nil nil # nil nil #51]) (link (:standard-properties [2743 nil nil nil 2816 0 nil nil nil nil nil nil nil nil # nil nil #54] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python3 version of gn2.\n" 0 41 (:parent #54))))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #25))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) #20)]) #15)] :type unordered) #10 (item (:standard-properties [147 147 149 209 209 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #15] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [149 149 149 209 209 0 nil nil nil nil nil nil nil nil # nil nil #19]) (link (:standard-properties [149 nil 180 206 208 0 nil nil nil nil nil nil nil nil # nil nil #22] :type "custom-id" :type-explicit-p nil :path "creating-the-docker-images" :format bracket :raw-link "#creating-the-docker-images" :application nil :search-option nil) #("Creating the Docker Images" 0 26 (:parent #25))) #("\n" 0 1 (:parent #22)))) (item (:standard-properties [209 209 211 259 259 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #15] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [211 211 211 259 259 0 nil nil nil nil nil nil nil nil # nil nil #20]) (link (:standard-properties [211 nil 236 256 258 0 nil nil nil nil nil nil nil nil # nil nil #23] :type "custom-id" :type-explicit-p nil :path "pushing-to-dockerhub" :format bracket :raw-link "#pushing-to-dockerhub" :application nil :search-option nil) #("Pushing to DockerHub" 0 20 (:parent #26))) #("\n" 0 1 (:parent #23)))))] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) #5)]) #0 #("\n" 0 1 (:parent #5)))] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #0))) (:export-options (body-only) :back-end #s(org-export-backend :name html :parent nil :transcoders ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :options ((:html-doctype "HTML_DOCTYPE" nil org-html-doctype) (:html-container "HTML_CONTAINER" nil org-html-container-element) (:html-content-class "HTML_CONTENT_CLASS" nil org-html-content-class) (:description "DESCRIPTION" nil nil newline) (:keywords "KEYWORDS" nil nil space) (:html-html5-fancy nil "html5-fancy" org-html-html5-fancy) (:html-link-use-abs-url nil "html-link-use-abs-url" org-html-link-use-abs-url) (:html-link-home "HTML_LINK_HOME" nil org-html-link-home) (:html-link-up "HTML_LINK_UP" nil org-html-link-up) (:html-mathjax "HTML_MATHJAX" nil "" space) (:html-equation-reference-format "HTML_EQUATION_REFERENCE_FORMAT" nil org-html-equation-reference-format t) (:html-postamble nil "html-postamble" org-html-postamble) (:html-preamble nil "html-preamble" org-html-preamble) (:html-head "HTML_HEAD" nil org-html-head newline) (:html-head-extra "HTML_HEAD_EXTRA" nil org-html-head-extra newline) (:subtitle "SUBTITLE" nil nil parse) (:html-head-include-default-style nil "html-style" org-html-head-include-default-style) (:html-head-include-scripts nil "html-scripts" org-html-head-include-scripts) (:html-allow-name-attribute-in-anchors nil nil org-html-allow-name-attribute-in-anchors) (:html-divs nil nil org-html-divs) (:html-checkbox-type nil nil org-html-checkbox-type) (:html-extension nil nil org-html-extension) (:html-footnote-format nil nil org-html-footnote-format) (:html-footnote-separator nil nil org-html-footnote-separator) (:html-footnotes-section nil nil org-html-footnotes-section) (:html-format-drawer-function nil nil org-html-format-drawer-function) (:html-format-headline-function nil nil org-html-format-headline-function) (:html-format-inlinetask-function nil nil org-html-format-inlinetask-function) (:html-home/up-format nil nil org-html-home/up-format) (:html-indent nil nil org-html-indent) (:html-infojs-options nil nil org-html-infojs-options) (:html-infojs-template nil nil org-html-infojs-template) (:html-inline-image-rules nil nil org-html-inline-image-rules) (:html-link-org-files-as-html nil nil org-html-link-org-files-as-html) (:html-mathjax-options nil nil org-html-mathjax-options) (:html-mathjax-template nil nil org-html-mathjax-template) (:html-metadata-timestamp-format nil nil org-html-metadata-timestamp-format) (:html-postamble-format nil nil org-html-postamble-format) (:html-preamble-format nil nil org-html-preamble-format) (:html-prefer-user-labels nil nil org-html-prefer-user-labels) (:html-self-link-headlines nil nil org-html-self-link-headlines) (:html-table-align-individual-fields nil nil org-html-table-align-individual-fields) (:html-table-caption-above nil nil org-html-table-caption-above) (:html-table-data-tags nil nil org-html-table-data-tags) (:html-table-header-tags nil nil org-html-table-header-tags) (:html-table-use-header-tags-for-first-column nil nil org-html-table-use-header-tags-for-first-column) (:html-tag-class-prefix nil nil org-html-tag-class-prefix) (:html-text-markup-alist nil nil org-html-text-markup-alist) (:html-todo-kwd-class-prefix nil nil org-html-todo-kwd-class-prefix) (:html-toplevel-hlevel nil nil org-html-toplevel-hlevel) (:html-use-infojs nil nil org-html-use-infojs) (:html-validation-link nil nil org-html-validation-link) (:html-viewport nil nil org-html-viewport) (:html-inline-images nil nil org-html-inline-images) (:html-table-attributes nil nil org-html-table-default-attributes) (:html-table-row-open-tag nil nil org-html-table-row-open-tag) (:html-table-row-close-tag nil nil org-html-table-row-close-tag) (:html-xml-declaration nil nil org-html-xml-declaration) (:html-wrap-src-lines nil nil org-html-wrap-src-lines) (:html-klipsify-src nil nil org-html-klipsify-src) (:html-klipse-css nil nil org-html-klipse-css) (:html-klipse-js nil nil org-html-klipse-js) (:html-klipse-selection-script nil nil org-html-klipse-selection-script) (:infojs-opt "INFOJS_OPT" nil nil) (:creator "CREATOR" nil org-html-creator-string) (:with-latex nil "tex" org-html-with-latex) (:latex-header "LATEX_HEADER" nil nil newline)) :filters ((:filter-options . org-html-infojs-install-script) (:filter-parse-tree . org-html-image-link-filter) (:filter-final-output . org-html-final-function)) :blocks nil :menu (104 "Export to HTML" ((72 "As HTML buffer" org-html-export-as-html) (104 "As HTML file" org-html-export-to-html) (111 "As HTML file and open" (lambda (a s v b) (if a (org-html-export-to-html t s v b) (org-open-file (org-html-export-to-html nil s v b)))))))) :translate-alist ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :exported-data # :input-buffer " *temp*" :input-file nil :html-doctype "xhtml-strict" :html-container "div" :html-content-class "content" :description nil :keywords nil :html-html5-fancy nil :html-link-use-abs-url nil :html-link-home "" :html-link-up "" :html-mathjax "" :html-equation-reference-format "\\eqref{%s}" :html-postamble auto :html-preamble t :html-head "" :html-head-extra "" :subtitle nil :html-head-include-default-style t :html-head-include-scripts nil :html-allow-name-attribute-in-anchors nil :html-divs ((preamble "div" "preamble") (content "div" "content") (postamble "div" "postamble")) :html-checkbox-type ascii :html-extension "html" :html-footnote-format "%s" :html-footnote-separator ", " :html-footnotes-section "
\n

%s:

\n
\n%s\n
\n
" :html-format-drawer-function #f(compiled-function (name contents) #) :html-format-headline-function org-html-format-headline-default-function :html-format-inlinetask-function org-html-format-inlinetask-default-function :html-home/up-format "
\n UP \n |\n HOME \n
" :html-indent nil :html-infojs-options ((path . "https://orgmode.org/org-info.js") (view . "info") (toc . :with-toc) (ftoc . "0") (tdepth . "max") (sdepth . "max") (mouse . "underline") (buttons . "0") (ltoc . "1") (up . :html-link-up) (home . :html-link-home)) :html-infojs-template "\n\n" :html-inline-image-rules (("file" . "\\(?:\\.\\(?:avif\\|gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("http" . "\\(?:\\.\\(?:avif\\|gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("https" . "\\(?:\\.\\(?:avif\\|gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)")) :html-link-org-files-as-html t :html-mathjax-options ((path "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js") (scale 1.0) (align "center") (font "mathjax-modern") (overflow "overflow") (tags "ams") (indent "0em") (multlinewidth "85%") (tagindent ".8em") (tagside "right")) :html-mathjax-template "\n\n\n" :html-metadata-timestamp-format "%Y-%m-%d %a %H:%M" :html-postamble-format (("en" "

Author: %a (%e)

\n

Date: %d

\n

%c

\n

%v

")) :html-preamble-format (("en" "")) :html-prefer-user-labels nil :html-self-link-headlines nil :html-table-align-individual-fields t :html-table-caption-above t :html-table-data-tags ("" . "") :html-table-header-tags ("" . "") :html-table-use-header-tags-for-first-column nil :html-tag-class-prefix "" :html-text-markup-alist ((bold . "%s") (code . "%s") (italic . "%s") (strike-through . "%s") (underline . "%s") (verbatim . "%s")) :html-todo-kwd-class-prefix "" :html-toplevel-hlevel 2 :html-use-infojs when-configured :html-validation-link "Validate" :html-viewport ((width "device-width") (initial-scale "1") (minimum-scale "") (maximum-scale "") (user-scalable "")) :html-inline-images t :html-table-attributes (:border "2" :cellspacing "0" :cellpadding "6" :rules "groups" :frame "hsides") :html-table-row-open-tag "" :html-table-row-close-tag "" :html-xml-declaration (("html" . "") ("php" . "\"; ?>")) :html-wrap-src-lines nil :html-klipsify-src nil :html-klipse-css "https://storage.googleapis.com/app.klipse.tech/css/codemirror.css" :html-klipse-js "https://storage.googleapis.com/app.klipse.tech/plugin_prod/js/klipse_plugin.min.js" :html-klipse-selection-script "window.klipse_settings = {selector_eval_html: '.src-html',\n selector_eval_js: '.src-js',\n selector_eval_python_client: '.src-python',\n selector_eval_scheme: '.src-scheme',\n selector: '.src-clojure',\n selector_eval_ruby: '.src-ruby'};" :infojs-opt nil :creator "Emacs 30.2 (Org mode 9.7.11)" :with-latex t :latex-header nil :title (#("Genenetwork2 Dockerized" 0 23 (:parent #148))) :date nil :author (#("unknown" 0 7 (:parent #152))) :email "unknown@genenetwork-development" :language "en" :select-tags ("export") :exclude-tags ("noexport") :headline-levels 3 :preserve-breaks nil :section-numbers nil :time-stamp-file t :with-archived-trees headline :with-author t :expand-links t :with-broken-links nil :with-clocks nil :with-creator nil :with-date t :with-drawers (not "LOGBOOK") :with-email nil :with-emphasize t :with-entities t :with-fixed-width t :with-footnotes t :with-inlinetasks t :with-planning nil :with-priority nil :with-properties nil :with-smart-quotes nil :with-special-strings t :with-special-rows nil :with-statistics-cookies t :with-sub-superscript t :with-toc nil :with-tables t :with-tags t :with-tasks t :with-timestamps t :with-title t :with-todo-keywords t :with-cite-processors t :cite-export (basic nil nil) :bibliography nil :filter-body nil :filter-bold nil :filter-babel-call nil :filter-center-block nil :filter-clock nil :filter-code nil :filter-diary-sexp nil :filter-drawer nil :filter-dynamic-block nil :filter-entity nil :filter-example-block nil :filter-export-block nil :filter-export-snippet nil :filter-final-output (org-html-final-function) :filter-fixed-width nil :filter-footnote-definition nil :filter-footnote-reference nil :filter-headline nil :filter-horizontal-rule nil :filter-inline-babel-call nil :filter-inline-src-block nil :filter-inlinetask nil :filter-italic nil :filter-item nil :filter-keyword nil :filter-latex-environment nil :filter-latex-fragment nil :filter-line-break nil :filter-link nil :filter-node-property nil :filter-options (org-html-infojs-install-script) :filter-paragraph nil :filter-parse-tree (org-html-image-link-filter) :filter-plain-list nil :filter-plain-text nil :filter-planning nil :filter-property-drawer nil :filter-quote-block nil :filter-radio-target nil :filter-section nil :filter-special-block nil :filter-src-block nil :filter-statistics-cookie nil :filter-strike-through nil :filter-subscript nil :filter-superscript nil :filter-table nil :filter-table-cell nil :filter-table-row nil :filter-target nil :filter-timestamp nil :filter-underline nil :filter-verbatim nil :filter-verse-block nil :ignore-list nil :parse-tree (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 35 35 0 nil first-section nil nil nil 1 35 nil # nil nil #344]) (keyword (:standard-properties [1 1 nil nil 35 1 nil top-comment nil nil nil nil nil nil # nil nil #347] :key "TITLE" :value "Genenetwork2 Dockerized"))) (headline (:standard-properties [35 35 113 260 260 0 (:title) nil nil nil nil 115 258 1 # nil nil #344] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #348))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [113 113 113 260 260 0 nil section nil nil nil 113 260 nil # nil nil #348]) (plain-list (:standard-properties [113 113 113 259 260 1 nil planning nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #351] :type unordered) (item (:standard-properties [113 113 115 147 147 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #354] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [115 115 115 147 147 0 nil nil nil nil nil nil nil nil # nil nil #357]) (link (:standard-properties [115 nil 132 144 146 0 nil nil nil nil nil nil nil nil # nil nil #360] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #363))) #("\n" 0 1 (:parent #360)))) (item (:standard-properties [147 147 149 209 209 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #354] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [149 149 149 209 209 0 nil nil nil nil nil nil nil nil # nil nil #358]) (link (:standard-properties [149 nil 180 206 208 0 nil nil nil nil nil nil nil nil # nil nil #361] :type "custom-id" :type-explicit-p nil :path "creating-the-docker-images" :format bracket :raw-link "#creating-the-docker-images" :application nil :search-option nil) #("Creating the Docker Images" 0 26 (:parent #364))) #("\n" 0 1 (:parent #361)))) (item (:standard-properties [209 209 211 259 259 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #354] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [211 211 211 259 259 0 nil nil nil nil nil nil nil nil # nil nil #359]) (link (:standard-properties [211 nil 236 256 258 0 nil nil nil nil nil nil nil nil # nil nil #362] :type "custom-id" :type-explicit-p nil :path "pushing-to-dockerhub" :format bracket :raw-link "#pushing-to-dockerhub" :application nil :search-option nil) #("Pushing to DockerHub" 0 20 (:parent #365))) #("\n" 0 1 (:parent #362))))))) (headline (:standard-properties [260 260 276 926 926 0 (:title) nil nil nil nil 278 924 1 # nil nil #344] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #349))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [276 276 276 926 926 0 nil section nil nil nil 276 926 nil # nil nil #349]) (paragraph (:standard-properties [276 276 276 599 600 1 nil planning nil nil nil nil nil nil # nil nil #352]) #("The CI(Continuous Integration) system for Genenetwork2 uses " 0 60 (:parent #355)) (link (:standard-properties [336 nil 375 389 391 0 nil nil nil nil nil nil nil nil # nil nil #355] :type "https" :type-explicit-p t :path "//github.com/features/actions" :format bracket :raw-link "https://github.com/features/actions" :application nil :search-option nil) #("Github\nActions" 0 14 (:parent #359))) #(". As such, it's important to have a way to run tests using\nfacilities provided by GUIX in a reproducible way. This project\nleverages GUIX to generate a docker container from which the unittests\nare ran from.\n" 0 208 (:parent #355))) (paragraph (:standard-properties [600 600 600 829 830 1 nil nil nil nil nil nil nil nil # nil nil #352]) #("Find instructions on how to set docker up inside GUIX " 0 54 (:parent #356)) (link (:standard-properties [654 nil 732 736 738 0 nil nil nil nil nil nil nil nil # nil nil #356] :type "https" :type-explicit-p t :path "//github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :application nil :search-option nil) #("here" 0 4 (:parent #360))) #(". This\ndocument will not get into that. It's assumed that you have a working\ndocker setup.\n" 0 91 (:parent #356))) (paragraph (:standard-properties [830 830 830 925 926 1 nil nil nil nil nil nil nil nil # nil nil #352]) #("The rest of this document outlines how the docker container used in\nthe CI builds was created.\n" 0 95 (:parent #357))))) (headline (:standard-properties [926 926 956 2234 2234 0 (:title) nil nil nil nil 958 2232 1 # nil nil #344] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 28) t] :title (#("Creating the Docker Images" 0 26 (:parent #350))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [956 956 956 2234 2234 0 nil section nil nil nil 956 2234 nil # nil nil #350]) (paragraph (:standard-properties [956 956 956 1070 1071 1 nil planning nil nil nil nil nil nil # nil nil #353]) #("The general idea is that GUIX is used to generate a set of binaries,\nwhich will be added to a base mariaDB image.\n" 0 114 (:parent #356))) (paragraph (:standard-properties [1071 1071 1071 1116 1117 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("First create the gn2 tar archive by running:\n" 0 45 (:parent #357))) (src-block (:standard-properties [1117 1117 nil nil 1343 1 nil nil nil nil nil nil nil nil # nil nil #353] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 215) t])) (paragraph (:standard-properties [1343 1343 1343 1386 1387 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("The output will look something similar to:\n" 0 43 (:parent #359))) (fixed-width (:standard-properties [1387 1387 nil nil 1454 2 nil nil nil nil nil nil nil nil # nil nil #353] :value "/gnu/store/x3m77vwaqcwba24p5s4lrb7w2ii16lj9-tarball-pack.tar.gz")) (paragraph (:standard-properties [1454 1454 1454 1639 1640 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("Now create a folder from which will host the following dockerfile. You\ncan name this file Dockerfile. Note that mariadb is the base image\nsince it already has mariadb installed for us.\n" 0 185 (:parent #361))) (src-block (:standard-properties [1640 1640 nil nil 1887 1 nil nil nil nil nil nil nil nil # nil nil #353] :language "conf" :switches nil :parameters ":mkdirp yes :tangle ~/docker/Dockerfile" :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (57 236) t])) (paragraph (:standard-properties [1887 1887 1887 1934 1935 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("Build the image(Note the fullstop at the end):\n" 0 47 (:parent #363))) (fixed-width (:standard-properties [1935 1935 nil nil 1995 2 nil nil nil nil nil nil nil nil # nil nil #353] :value "sudo docker build -t genenetwork2:latest -f Dockerfile .")) (paragraph (:standard-properties [1995 1995 1995 2048 2049 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("To load the image interactively you've just created:\n" 0 53 (:parent #365))) (fixed-width (:standard-properties [2049 2049 nil nil 2094 2 nil nil nil nil nil nil nil nil # nil nil #353] :value "docker run -ti \"genenetwork2:latest\" bash")) (paragraph (:standard-properties [2094 2094 2094 2180 2181 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("Assuming you have a docker instance running, you could always run\ncommands in it e.g:\n" 0 86 (:parent #367))) (fixed-width (:standard-properties [2181 2181 nil nil 2234 2 nil nil nil nil nil nil nil nil # nil nil #353] :value "docker run \"genenetwork2:latest\" python --version")))) (headline (:standard-properties [2234 2234 2258 2857 2857 0 (:title) nil nil nil nil 2260 2855 1 # nil nil #344] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 22) t] :title (#("Pushing to DockerHub" 0 20 (:parent #351))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [2258 2258 2258 2857 2857 0 nil section nil nil nil 2258 2857 nil # nil nil #351]) (paragraph (:standard-properties [2258 2258 2258 2364 2365 1 nil planning nil nil nil nil nil nil # nil nil #354]) #("We use DockerHub to store the docker images from which we use on our\nCI environment using Github Actions.\n" 0 106 (:parent #357))) (paragraph (:standard-properties [2365 2365 2365 2486 2487 1 nil nil nil nil nil nil nil nil # nil nil #354]) #("To push to dockerhub, first get the image name by running " 0 58 (:parent #358)) (verbatim (:standard-properties [2423 nil nil nil 2438 0 nil nil nil nil nil nil nil nil # nil nil #358] :value [org-element-deferred org-element--substring (1 14) t])) #(". Push to dockerhub using a command similar to:\n" 0 48 (:parent #358))) (fixed-width (:standard-properties [2487 2487 nil nil 2534 2 nil nil nil nil nil nil nil nil # nil nil #354] :value "docker push bonfacekilz/genenetwork2:latest")) (paragraph (:standard-properties [2534 2534 2534 2576 2577 1 nil nil nil nil nil nil nil nil # nil nil #354]) #("Right now, we have 2 images on DockerHub:\n" 0 42 (:parent #360))) (plain-list (:standard-properties [2577 2577 2577 2857 2857 0 nil nil nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #354] :type unordered) (item (:standard-properties [2577 2577 2579 2741 2741 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #361] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2579 2579 2579 2741 2741 0 nil nil nil nil nil nil nil nil # nil nil #364]) (link (:standard-properties [2579 nil nil nil 2652 0 nil nil nil nil nil nil nil nil # nil nil #367] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python2 version of gn2. Don't use this. Please use the\n python3 image!\n" 0 89 (:parent #367)))) (item (:standard-properties [2741 2741 2743 2857 2857 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #361] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2743 2743 2743 2857 2857 0 nil nil nil nil nil nil nil nil # nil nil #365]) (link (:standard-properties [2743 nil nil nil 2816 0 nil nil nil nil nil nil nil nil # nil nil #368] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python3 version of gn2.\n" 0 41 (:parent #368)))))))) :headline-offset 0 :headline-numbering nil :id-alist nil :citations nil :id-local-cache #)) #f(compiled-function (element) #)((link (:standard-properties [115 nil 132 144 146 0 nil nil nil nil nil nil nil nil # nil nil (paragraph (:standard-properties [115 115 115 147 147 0 nil nil nil nil nil nil nil nil # nil nil (item (:standard-properties [113 113 115 147 147 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) (plain-list (:standard-properties [113 113 113 259 260 1 nil planning nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) (section (:standard-properties [113 113 113 260 260 0 nil section nil nil nil 113 260 nil # nil nil (headline (:standard-properties [35 35 113 260 260 0 (:title) nil nil nil nil 115 258 1 # nil nil (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 35 35 0 nil first-section nil nil nil 1 35 nil # nil nil #30]) (keyword (:standard-properties [1 1 nil nil 35 1 nil top-comment nil nil nil nil nil nil # nil nil #33] :key "TITLE" :value "Genenetwork2 Dockerized"))) #25 (headline (:standard-properties [260 260 276 926 926 0 (:title) nil nil nil nil 278 924 1 # nil nil #30] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #35))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [276 276 276 926 926 0 nil section nil nil nil 276 926 nil # nil nil #35]) (paragraph (:standard-properties [276 276 276 599 600 1 nil planning nil nil nil nil nil nil # nil nil #38]) #("The CI(Continuous Integration) system for Genenetwork2 uses " 0 60 (:parent #41)) (link (:standard-properties [336 nil 375 389 391 0 nil nil nil nil nil nil nil nil # nil nil #41] :type "https" :type-explicit-p t :path "//github.com/features/actions" :format bracket :raw-link "https://github.com/features/actions" :application nil :search-option nil) #("Github\nActions" 0 14 (:parent #45))) #(". As such, it's important to have a way to run tests using\nfacilities provided by GUIX in a reproducible way. This project\nleverages GUIX to generate a docker container from which the unittests\nare ran from.\n" 0 208 (:parent #41))) (paragraph (:standard-properties [600 600 600 829 830 1 nil nil nil nil nil nil nil nil # nil nil #38]) #("Find instructions on how to set docker up inside GUIX " 0 54 (:parent #42)) (link (:standard-properties [654 nil 732 736 738 0 nil nil nil nil nil nil nil nil # nil nil #42] :type "https" :type-explicit-p t :path "//github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :application nil :search-option nil) #("here" 0 4 (:parent #46))) #(". This\ndocument will not get into that. It's assumed that you have a working\ndocker setup.\n" 0 91 (:parent #42))) (paragraph (:standard-properties [830 830 830 925 926 1 nil nil nil nil nil nil nil nil # nil nil #38]) #("The rest of this document outlines how the docker container used in\nthe CI builds was created.\n" 0 95 (:parent #43))))) (headline (:standard-properties [926 926 956 2234 2234 0 (:title) nil nil nil nil 958 2232 1 # nil nil #30] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 28) t] :title (#("Creating the Docker Images" 0 26 (:parent #36))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [956 956 956 2234 2234 0 nil section nil nil nil 956 2234 nil # nil nil #36]) (paragraph (:standard-properties [956 956 956 1070 1071 1 nil planning nil nil nil nil nil nil # nil nil #39]) #("The general idea is that GUIX is used to generate a set of binaries,\nwhich will be added to a base mariaDB image.\n" 0 114 (:parent #42))) (paragraph (:standard-properties [1071 1071 1071 1116 1117 1 nil nil nil nil nil nil nil nil # nil nil #39]) #("First create the gn2 tar archive by running:\n" 0 45 (:parent #43))) (src-block (:standard-properties [1117 1117 nil nil 1343 1 nil nil nil nil nil nil nil nil # nil nil #39] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 215) t])) (paragraph (:standard-properties [1343 1343 1343 1386 1387 1 nil nil nil nil nil nil nil nil # nil nil #39]) #("The output will look something similar to:\n" 0 43 (:parent #45))) (fixed-width (:standard-properties [1387 1387 nil nil 1454 2 nil nil nil nil nil nil nil nil # nil nil #39] :value "/gnu/store/x3m77vwaqcwba24p5s4lrb7w2ii16lj9-tarball-pack.tar.gz")) (paragraph (:standard-properties [1454 1454 1454 1639 1640 1 nil nil nil nil nil nil nil nil # nil nil #39]) #("Now create a folder from which will host the following dockerfile. You\ncan name this file Dockerfile. Note that mariadb is the base image\nsince it already has mariadb installed for us.\n" 0 185 (:parent #47))) (src-block (:standard-properties [1640 1640 nil nil 1887 1 nil nil nil nil nil nil nil nil # nil nil #39] :language "conf" :switches nil :parameters ":mkdirp yes :tangle ~/docker/Dockerfile" :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (57 236) t])) (paragraph (:standard-properties [1887 1887 1887 1934 1935 1 nil nil nil nil nil nil nil nil # nil nil #39]) #("Build the image(Note the fullstop at the end):\n" 0 47 (:parent #49))) (fixed-width (:standard-properties [1935 1935 nil nil 1995 2 nil nil nil nil nil nil nil nil # nil nil #39] :value "sudo docker build -t genenetwork2:latest -f Dockerfile .")) (paragraph (:standard-properties [1995 1995 1995 2048 2049 1 nil nil nil nil nil nil nil nil # nil nil #39]) #("To load the image interactively you've just created:\n" 0 53 (:parent #51))) (fixed-width (:standard-properties [2049 2049 nil nil 2094 2 nil nil nil nil nil nil nil nil # nil nil #39] :value "docker run -ti \"genenetwork2:latest\" bash")) (paragraph (:standard-properties [2094 2094 2094 2180 2181 1 nil nil nil nil nil nil nil nil # nil nil #39]) #("Assuming you have a docker instance running, you could always run\ncommands in it e.g:\n" 0 86 (:parent #53))) (fixed-width (:standard-properties [2181 2181 nil nil 2234 2 nil nil nil nil nil nil nil nil # nil nil #39] :value "docker run \"genenetwork2:latest\" python --version")))) (headline (:standard-properties [2234 2234 2258 2857 2857 0 (:title) nil nil nil nil 2260 2855 1 # nil nil #30] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 22) t] :title (#("Pushing to DockerHub" 0 20 (:parent #37))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [2258 2258 2258 2857 2857 0 nil section nil nil nil 2258 2857 nil # nil nil #37]) (paragraph (:standard-properties [2258 2258 2258 2364 2365 1 nil planning nil nil nil nil nil nil # nil nil #40]) #("We use DockerHub to store the docker images from which we use on our\nCI environment using Github Actions.\n" 0 106 (:parent #43))) (paragraph (:standard-properties [2365 2365 2365 2486 2487 1 nil nil nil nil nil nil nil nil # nil nil #40]) #("To push to dockerhub, first get the image name by running " 0 58 (:parent #44)) (verbatim (:standard-properties [2423 nil nil nil 2438 0 nil nil nil nil nil nil nil nil # nil nil #44] :value [org-element-deferred org-element--substring (1 14) t])) #(". Push to dockerhub using a command similar to:\n" 0 48 (:parent #44))) (fixed-width (:standard-properties [2487 2487 nil nil 2534 2 nil nil nil nil nil nil nil nil # nil nil #40] :value "docker push bonfacekilz/genenetwork2:latest")) (paragraph (:standard-properties [2534 2534 2534 2576 2577 1 nil nil nil nil nil nil nil nil # nil nil #40]) #("Right now, we have 2 images on DockerHub:\n" 0 42 (:parent #46))) (plain-list (:standard-properties [2577 2577 2577 2857 2857 0 nil nil nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #40] :type unordered) (item (:standard-properties [2577 2577 2579 2741 2741 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #47] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2579 2579 2579 2741 2741 0 nil nil nil nil nil nil nil nil # nil nil #50]) (link (:standard-properties [2579 nil nil nil 2652 0 nil nil nil nil nil nil nil nil # nil nil #53] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python2 version of gn2. Don't use this. Please use the\n python3 image!\n" 0 89 (:parent #53)))) (item (:standard-properties [2741 2741 2743 2857 2857 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #47] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2743 2743 2743 2857 2857 0 nil nil nil nil nil nil nil nil # nil nil #51]) (link (:standard-properties [2743 nil nil nil 2816 0 nil nil nil nil nil nil nil nil # nil nil #54] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python3 version of gn2.\n" 0 41 (:parent #54))))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #25))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) #20)]) #15)] :type unordered) #10 (item (:standard-properties [147 147 149 209 209 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #15] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [149 149 149 209 209 0 nil nil nil nil nil nil nil nil # nil nil #19]) (link (:standard-properties [149 nil 180 206 208 0 nil nil nil nil nil nil nil nil # nil nil #22] :type "custom-id" :type-explicit-p nil :path "creating-the-docker-images" :format bracket :raw-link "#creating-the-docker-images" :application nil :search-option nil) #("Creating the Docker Images" 0 26 (:parent #25))) #("\n" 0 1 (:parent #22)))) (item (:standard-properties [209 209 211 259 259 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #15] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [211 211 211 259 259 0 nil nil nil nil nil nil nil nil # nil nil #20]) (link (:standard-properties [211 nil 236 256 258 0 nil nil nil nil nil nil nil nil # nil nil #23] :type "custom-id" :type-explicit-p nil :path "pushing-to-dockerhub" :format bracket :raw-link "#pushing-to-dockerhub" :application nil :search-option nil) #("Pushing to DockerHub" 0 20 (:parent #26))) #("\n" 0 1 (:parent #23)))))] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) #5)]) #0 #("\n" 0 1 (:parent #5)))] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #0)))) mapconcat(#f(compiled-function (element) #) ((link (:standard-properties [115 nil 132 144 146 0 nil nil nil nil nil nil nil nil # nil nil (paragraph (:standard-properties [115 115 115 147 147 0 nil nil nil nil nil nil nil nil # nil nil (item (:standard-properties [113 113 115 147 147 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) (plain-list (:standard-properties [113 113 113 259 260 1 nil planning nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) (section (:standard-properties [113 113 113 260 260 0 nil section nil nil nil 113 260 nil # nil nil (headline (:standard-properties [35 35 113 260 260 0 (:title) nil nil nil nil 115 258 1 # nil nil (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 35 35 0 nil first-section nil nil nil 1 35 nil # nil nil #31]) (keyword (:standard-properties [1 1 nil nil 35 1 nil top-comment nil nil nil nil nil nil # nil nil #34] :key "TITLE" :value "Genenetwork2 Dockerized"))) #26 (headline (:standard-properties [260 260 276 926 926 0 (:title) nil nil nil nil 278 924 1 # nil nil #31] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #36))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [276 276 276 926 926 0 nil section nil nil nil 276 926 nil # nil nil #36]) (paragraph (:standard-properties [276 276 276 599 600 1 nil planning nil nil nil nil nil nil # nil nil #39]) #("The CI(Continuous Integration) system for Genenetwork2 uses " 0 60 (:parent #42)) (link (:standard-properties [336 nil 375 389 391 0 nil nil nil nil nil nil nil nil # nil nil #42] :type "https" :type-explicit-p t :path "//github.com/features/actions" :format bracket :raw-link "https://github.com/features/actions" :application nil :search-option nil) #("Github\nActions" 0 14 (:parent #46))) #(". As such, it's important to have a way to run tests using\nfacilities provided by GUIX in a reproducible way. This project\nleverages GUIX to generate a docker container from which the unittests\nare ran from.\n" 0 208 (:parent #42))) (paragraph (:standard-properties [600 600 600 829 830 1 nil nil nil nil nil nil nil nil # nil nil #39]) #("Find instructions on how to set docker up inside GUIX " 0 54 (:parent #43)) (link (:standard-properties [654 nil 732 736 738 0 nil nil nil nil nil nil nil nil # nil nil #43] :type "https" :type-explicit-p t :path "//github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :application nil :search-option nil) #("here" 0 4 (:parent #47))) #(". This\ndocument will not get into that. It's assumed that you have a working\ndocker setup.\n" 0 91 (:parent #43))) (paragraph (:standard-properties [830 830 830 925 926 1 nil nil nil nil nil nil nil nil # nil nil #39]) #("The rest of this document outlines how the docker container used in\nthe CI builds was created.\n" 0 95 (:parent #44))))) (headline (:standard-properties [926 926 956 2234 2234 0 (:title) nil nil nil nil 958 2232 1 # nil nil #31] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 28) t] :title (#("Creating the Docker Images" 0 26 (:parent #37))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [956 956 956 2234 2234 0 nil section nil nil nil 956 2234 nil # nil nil #37]) (paragraph (:standard-properties [956 956 956 1070 1071 1 nil planning nil nil nil nil nil nil # nil nil #40]) #("The general idea is that GUIX is used to generate a set of binaries,\nwhich will be added to a base mariaDB image.\n" 0 114 (:parent #43))) (paragraph (:standard-properties [1071 1071 1071 1116 1117 1 nil nil nil nil nil nil nil nil # nil nil #40]) #("First create the gn2 tar archive by running:\n" 0 45 (:parent #44))) (src-block (:standard-properties [1117 1117 nil nil 1343 1 nil nil nil nil nil nil nil nil # nil nil #40] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 215) t])) (paragraph (:standard-properties [1343 1343 1343 1386 1387 1 nil nil nil nil nil nil nil nil # nil nil #40]) #("The output will look something similar to:\n" 0 43 (:parent #46))) (fixed-width (:standard-properties [1387 1387 nil nil 1454 2 nil nil nil nil nil nil nil nil # nil nil #40] :value "/gnu/store/x3m77vwaqcwba24p5s4lrb7w2ii16lj9-tarball-pack.tar.gz")) (paragraph (:standard-properties [1454 1454 1454 1639 1640 1 nil nil nil nil nil nil nil nil # nil nil #40]) #("Now create a folder from which will host the following dockerfile. You\ncan name this file Dockerfile. Note that mariadb is the base image\nsince it already has mariadb installed for us.\n" 0 185 (:parent #48))) (src-block (:standard-properties [1640 1640 nil nil 1887 1 nil nil nil nil nil nil nil nil # nil nil #40] :language "conf" :switches nil :parameters ":mkdirp yes :tangle ~/docker/Dockerfile" :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (57 236) t])) (paragraph (:standard-properties [1887 1887 1887 1934 1935 1 nil nil nil nil nil nil nil nil # nil nil #40]) #("Build the image(Note the fullstop at the end):\n" 0 47 (:parent #50))) (fixed-width (:standard-properties [1935 1935 nil nil 1995 2 nil nil nil nil nil nil nil nil # nil nil #40] :value "sudo docker build -t genenetwork2:latest -f Dockerfile .")) (paragraph (:standard-properties [1995 1995 1995 2048 2049 1 nil nil nil nil nil nil nil nil # nil nil #40]) #("To load the image interactively you've just created:\n" 0 53 (:parent #52))) (fixed-width (:standard-properties [2049 2049 nil nil 2094 2 nil nil nil nil nil nil nil nil # nil nil #40] :value "docker run -ti \"genenetwork2:latest\" bash")) (paragraph (:standard-properties [2094 2094 2094 2180 2181 1 nil nil nil nil nil nil nil nil # nil nil #40]) #("Assuming you have a docker instance running, you could always run\ncommands in it e.g:\n" 0 86 (:parent #54))) (fixed-width (:standard-properties [2181 2181 nil nil 2234 2 nil nil nil nil nil nil nil nil # nil nil #40] :value "docker run \"genenetwork2:latest\" python --version")))) (headline (:standard-properties [2234 2234 2258 2857 2857 0 (:title) nil nil nil nil 2260 2855 1 # nil nil #31] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 22) t] :title (#("Pushing to DockerHub" 0 20 (:parent #38))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [2258 2258 2258 2857 2857 0 nil section nil nil nil 2258 2857 nil # nil nil #38]) (paragraph (:standard-properties [2258 2258 2258 2364 2365 1 nil planning nil nil nil nil nil nil # nil nil #41]) #("We use DockerHub to store the docker images from which we use on our\nCI environment using Github Actions.\n" 0 106 (:parent #44))) (paragraph (:standard-properties [2365 2365 2365 2486 2487 1 nil nil nil nil nil nil nil nil # nil nil #41]) #("To push to dockerhub, first get the image name by running " 0 58 (:parent #45)) (verbatim (:standard-properties [2423 nil nil nil 2438 0 nil nil nil nil nil nil nil nil # nil nil #45] :value [org-element-deferred org-element--substring (1 14) t])) #(". Push to dockerhub using a command similar to:\n" 0 48 (:parent #45))) (fixed-width (:standard-properties [2487 2487 nil nil 2534 2 nil nil nil nil nil nil nil nil # nil nil #41] :value "docker push bonfacekilz/genenetwork2:latest")) (paragraph (:standard-properties [2534 2534 2534 2576 2577 1 nil nil nil nil nil nil nil nil # nil nil #41]) #("Right now, we have 2 images on DockerHub:\n" 0 42 (:parent #47))) (plain-list (:standard-properties [2577 2577 2577 2857 2857 0 nil nil nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #41] :type unordered) (item (:standard-properties [2577 2577 2579 2741 2741 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #48] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2579 2579 2579 2741 2741 0 nil nil nil nil nil nil nil nil # nil nil #51]) (link (:standard-properties [2579 nil nil nil 2652 0 nil nil nil nil nil nil nil nil # nil nil #54] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python2 version of gn2. Don't use this. Please use the\n python3 image!\n" 0 89 (:parent #54)))) (item (:standard-properties [2741 2741 2743 2857 2857 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #48] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2743 2743 2743 2857 2857 0 nil nil nil nil nil nil nil nil # nil nil #52]) (link (:standard-properties [2743 nil nil nil 2816 0 nil nil nil nil nil nil nil nil # nil nil #55] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python3 version of gn2.\n" 0 41 (:parent #55))))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #26))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) #21)]) #16)] :type unordered) #11 (item (:standard-properties [147 147 149 209 209 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #16] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [149 149 149 209 209 0 nil nil nil nil nil nil nil nil # nil nil #20]) (link (:standard-properties [149 nil 180 206 208 0 nil nil nil nil nil nil nil nil # nil nil #23] :type "custom-id" :type-explicit-p nil :path "creating-the-docker-images" :format bracket :raw-link "#creating-the-docker-images" :application nil :search-option nil) #("Creating the Docker Images" 0 26 (:parent #26))) #("\n" 0 1 (:parent #23)))) (item (:standard-properties [209 209 211 259 259 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #16] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [211 211 211 259 259 0 nil nil nil nil nil nil nil nil # nil nil #21]) (link (:standard-properties [211 nil 236 256 258 0 nil nil nil nil nil nil nil nil # nil nil #24] :type "custom-id" :type-explicit-p nil :path "pushing-to-dockerhub" :format bracket :raw-link "#pushing-to-dockerhub" :application nil :search-option nil) #("Pushing to DockerHub" 0 20 (:parent #27))) #("\n" 0 1 (:parent #24)))))] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) #6)]) . #0)] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #1))) #("\n" 0 1 (:parent (paragraph (:standard-properties [115 115 115 147 147 0 nil nil nil nil nil nil nil nil # nil nil (item (:standard-properties [113 113 115 147 147 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) (plain-list (:standard-properties [113 113 113 259 260 1 nil planning nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) (section (:standard-properties [113 113 113 260 260 0 nil section nil nil nil 113 260 nil # nil nil (headline (:standard-properties [35 35 113 260 260 0 (:title) nil nil nil nil 115 258 1 # nil nil (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 35 35 0 nil first-section nil nil nil 1 35 nil # nil nil #30]) (keyword (:standard-properties [1 1 nil nil 35 1 nil top-comment nil nil nil nil nil nil # nil nil #33] :key "TITLE" :value "Genenetwork2 Dockerized"))) #25 (headline (:standard-properties [260 260 276 926 926 0 (:title) nil nil nil nil 278 924 1 # nil nil #30] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #35))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [276 276 276 926 926 0 nil section nil nil nil 276 926 nil # nil nil #35]) (paragraph (:standard-properties [276 276 276 599 600 1 nil planning nil nil nil nil nil nil # nil nil #38]) #("The CI(Continuous Integration) system for Genenetwork2 uses " 0 60 (:parent #41)) (link (:standard-properties [336 nil 375 389 391 0 nil nil nil nil nil nil nil nil # nil nil #41] :type "https" :type-explicit-p t :path "//github.com/features/actions" :format bracket :raw-link "https://github.com/features/actions" :application nil :search-option nil) #("Github\nActions" 0 14 (:parent #45))) #(". As such, it's important to have a way to run tests using\nfacilities provided by GUIX in a reproducible way. This project\nleverages GUIX to generate a docker container from which the unittests\nare ran from.\n" 0 208 (:parent #41))) (paragraph (:standard-properties [600 600 600 829 830 1 nil nil nil nil nil nil nil nil # nil nil #38]) #("Find instructions on how to set docker up inside GUIX " 0 54 (:parent #42)) (link (:standard-properties [654 nil 732 736 738 0 nil nil nil nil nil nil nil nil # nil nil #42] :type "https" :type-explicit-p t :path "//github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :application nil :search-option nil) #("here" 0 4 (:parent #46))) #(". This\ndocument will not get into that. It's assumed that you have a working\ndocker setup.\n" 0 91 (:parent #42))) (paragraph (:standard-properties [830 830 830 925 926 1 nil nil nil nil nil nil nil nil # nil nil #38]) #("The rest of this document outlines how the docker container used in\nthe CI builds was created.\n" 0 95 (:parent #43))))) (headline (:standard-properties [926 926 956 2234 2234 0 (:title) nil nil nil nil 958 2232 1 # nil nil #30] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 28) t] :title (#("Creating the Docker Images" 0 26 (:parent #36))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [956 956 956 2234 2234 0 nil section nil nil nil 956 2234 nil # nil nil #36]) (paragraph (:standard-properties [956 956 956 1070 1071 1 nil planning nil nil nil nil nil nil # nil nil #39]) #("The general idea is that GUIX is used to generate a set of binaries,\nwhich will be added to a base mariaDB image.\n" 0 114 (:parent #42))) (paragraph (:standard-properties [1071 1071 1071 1116 1117 1 nil nil nil nil nil nil nil nil # nil nil #39]) #("First create the gn2 tar archive by running:\n" 0 45 (:parent #43))) (src-block (:standard-properties [1117 1117 nil nil 1343 1 nil nil nil nil nil nil nil nil # nil nil #39] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 215) t])) (paragraph (:standard-properties [1343 1343 1343 1386 1387 1 nil nil nil nil nil nil nil nil # nil nil #39]) #("The output will look something similar to:\n" 0 43 (:parent #45))) (fixed-width (:standard-properties [1387 1387 nil nil 1454 2 nil nil nil nil nil nil nil nil # nil nil #39] :value "/gnu/store/x3m77vwaqcwba24p5s4lrb7w2ii16lj9-tarball-pack.tar.gz")) (paragraph (:standard-properties [1454 1454 1454 1639 1640 1 nil nil nil nil nil nil nil nil # nil nil #39]) #("Now create a folder from which will host the following dockerfile. You\ncan name this file Dockerfile. Note that mariadb is the base image\nsince it already has mariadb installed for us.\n" 0 185 (:parent #47))) (src-block (:standard-properties [1640 1640 nil nil 1887 1 nil nil nil nil nil nil nil nil # nil nil #39] :language "conf" :switches nil :parameters ":mkdirp yes :tangle ~/docker/Dockerfile" :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (57 236) t])) (paragraph (:standard-properties [1887 1887 1887 1934 1935 1 nil nil nil nil nil nil nil nil # nil nil #39]) #("Build the image(Note the fullstop at the end):\n" 0 47 (:parent #49))) (fixed-width (:standard-properties [1935 1935 nil nil 1995 2 nil nil nil nil nil nil nil nil # nil nil #39] :value "sudo docker build -t genenetwork2:latest -f Dockerfile .")) (paragraph (:standard-properties [1995 1995 1995 2048 2049 1 nil nil nil nil nil nil nil nil # nil nil #39]) #("To load the image interactively you've just created:\n" 0 53 (:parent #51))) (fixed-width (:standard-properties [2049 2049 nil nil 2094 2 nil nil nil nil nil nil nil nil # nil nil #39] :value "docker run -ti \"genenetwork2:latest\" bash")) (paragraph (:standard-properties [2094 2094 2094 2180 2181 1 nil nil nil nil nil nil nil nil # nil nil #39]) #("Assuming you have a docker instance running, you could always run\ncommands in it e.g:\n" 0 86 (:parent #53))) (fixed-width (:standard-properties [2181 2181 nil nil 2234 2 nil nil nil nil nil nil nil nil # nil nil #39] :value "docker run \"genenetwork2:latest\" python --version")))) (headline (:standard-properties [2234 2234 2258 2857 2857 0 (:title) nil nil nil nil 2260 2855 1 # nil nil #30] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 22) t] :title (#("Pushing to DockerHub" 0 20 (:parent #37))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [2258 2258 2258 2857 2857 0 nil section nil nil nil 2258 2857 nil # nil nil #37]) (paragraph (:standard-properties [2258 2258 2258 2364 2365 1 nil planning nil nil nil nil nil nil # nil nil #40]) #("We use DockerHub to store the docker images from which we use on our\nCI environment using Github Actions.\n" 0 106 (:parent #43))) (paragraph (:standard-properties [2365 2365 2365 2486 2487 1 nil nil nil nil nil nil nil nil # nil nil #40]) #("To push to dockerhub, first get the image name by running " 0 58 (:parent #44)) (verbatim (:standard-properties [2423 nil nil nil 2438 0 nil nil nil nil nil nil nil nil # nil nil #44] :value [org-element-deferred org-element--substring (1 14) t])) #(". Push to dockerhub using a command similar to:\n" 0 48 (:parent #44))) (fixed-width (:standard-properties [2487 2487 nil nil 2534 2 nil nil nil nil nil nil nil nil # nil nil #40] :value "docker push bonfacekilz/genenetwork2:latest")) (paragraph (:standard-properties [2534 2534 2534 2576 2577 1 nil nil nil nil nil nil nil nil # nil nil #40]) #("Right now, we have 2 images on DockerHub:\n" 0 42 (:parent #46))) (plain-list (:standard-properties [2577 2577 2577 2857 2857 0 nil nil nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #40] :type unordered) (item (:standard-properties [2577 2577 2579 2741 2741 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #47] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2579 2579 2579 2741 2741 0 nil nil nil nil nil nil nil nil # nil nil #50]) (link (:standard-properties [2579 nil nil nil 2652 0 nil nil nil nil nil nil nil nil # nil nil #53] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python2 version of gn2. Don't use this. Please use the\n python3 image!\n" 0 89 (:parent #53)))) (item (:standard-properties [2741 2741 2743 2857 2857 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #47] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2743 2743 2743 2857 2857 0 nil nil nil nil nil nil nil nil # nil nil #51]) (link (:standard-properties [2743 nil nil nil 2816 0 nil nil nil nil nil nil nil nil # nil nil #54] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python3 version of gn2.\n" 0 41 (:parent #54))))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #25))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) #20)]) #15)] :type unordered) #10 (item (:standard-properties [147 147 149 209 209 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #15] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [149 149 149 209 209 0 nil nil nil nil nil nil nil nil # nil nil #19]) (link (:standard-properties [149 nil 180 206 208 0 nil nil nil nil nil nil nil nil # nil nil #22] :type "custom-id" :type-explicit-p nil :path "creating-the-docker-images" :format bracket :raw-link "#creating-the-docker-images" :application nil :search-option nil) #("Creating the Docker Images" 0 26 (:parent #25))) #("\n" 0 1 (:parent #22)))) (item (:standard-properties [209 209 211 259 259 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #15] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [211 211 211 259 259 0 nil nil nil nil nil nil nil nil # nil nil #20]) (link (:standard-properties [211 nil 236 256 258 0 nil nil nil nil nil nil nil nil # nil nil #23] :type "custom-id" :type-explicit-p nil :path "pushing-to-dockerhub" :format bracket :raw-link "#pushing-to-dockerhub" :application nil :search-option nil) #("Pushing to DockerHub" 0 20 (:parent #26))) #("\n" 0 1 (:parent #23)))))] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) #5)]) . #0)))) "") org-export-data((paragraph (:standard-properties [115 115 115 147 147 0 nil nil nil nil nil nil nil nil # nil nil (item (:standard-properties [113 113 115 147 147 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) (plain-list (:standard-properties [113 113 113 259 260 1 nil planning nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) (section (:standard-properties [113 113 113 260 260 0 nil section nil nil nil 113 260 nil # nil nil (headline (:standard-properties [35 35 113 260 260 0 (:title) nil nil nil nil 115 258 1 # nil nil (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 35 35 0 nil first-section nil nil nil 1 35 nil # nil nil #25]) (keyword (:standard-properties [1 1 nil nil 35 1 nil top-comment nil nil nil nil nil nil # nil nil #28] :key "TITLE" :value "Genenetwork2 Dockerized"))) #20 (headline (:standard-properties [260 260 276 926 926 0 (:title) nil nil nil nil 278 924 1 # nil nil #25] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #30))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [276 276 276 926 926 0 nil section nil nil nil 276 926 nil # nil nil #30]) (paragraph (:standard-properties [276 276 276 599 600 1 nil planning nil nil nil nil nil nil # nil nil #33]) #("The CI(Continuous Integration) system for Genenetwork2 uses " 0 60 (:parent #36)) (link (:standard-properties [336 nil 375 389 391 0 nil nil nil nil nil nil nil nil # nil nil #36] :type "https" :type-explicit-p t :path "//github.com/features/actions" :format bracket :raw-link "https://github.com/features/actions" :application nil :search-option nil) #("Github\nActions" 0 14 (:parent #40))) #(". As such, it's important to have a way to run tests using\nfacilities provided by GUIX in a reproducible way. This project\nleverages GUIX to generate a docker container from which the unittests\nare ran from.\n" 0 208 (:parent #36))) (paragraph (:standard-properties [600 600 600 829 830 1 nil nil nil nil nil nil nil nil # nil nil #33]) #("Find instructions on how to set docker up inside GUIX " 0 54 (:parent #37)) (link (:standard-properties [654 nil 732 736 738 0 nil nil nil nil nil nil nil nil # nil nil #37] :type "https" :type-explicit-p t :path "//github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :application nil :search-option nil) #("here" 0 4 (:parent #41))) #(". This\ndocument will not get into that. It's assumed that you have a working\ndocker setup.\n" 0 91 (:parent #37))) (paragraph (:standard-properties [830 830 830 925 926 1 nil nil nil nil nil nil nil nil # nil nil #33]) #("The rest of this document outlines how the docker container used in\nthe CI builds was created.\n" 0 95 (:parent #38))))) (headline (:standard-properties [926 926 956 2234 2234 0 (:title) nil nil nil nil 958 2232 1 # nil nil #25] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 28) t] :title (#("Creating the Docker Images" 0 26 (:parent #31))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [956 956 956 2234 2234 0 nil section nil nil nil 956 2234 nil # nil nil #31]) (paragraph (:standard-properties [956 956 956 1070 1071 1 nil planning nil nil nil nil nil nil # nil nil #34]) #("The general idea is that GUIX is used to generate a set of binaries,\nwhich will be added to a base mariaDB image.\n" 0 114 (:parent #37))) (paragraph (:standard-properties [1071 1071 1071 1116 1117 1 nil nil nil nil nil nil nil nil # nil nil #34]) #("First create the gn2 tar archive by running:\n" 0 45 (:parent #38))) (src-block (:standard-properties [1117 1117 nil nil 1343 1 nil nil nil nil nil nil nil nil # nil nil #34] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 215) t])) (paragraph (:standard-properties [1343 1343 1343 1386 1387 1 nil nil nil nil nil nil nil nil # nil nil #34]) #("The output will look something similar to:\n" 0 43 (:parent #40))) (fixed-width (:standard-properties [1387 1387 nil nil 1454 2 nil nil nil nil nil nil nil nil # nil nil #34] :value "/gnu/store/x3m77vwaqcwba24p5s4lrb7w2ii16lj9-tarball-pack.tar.gz")) (paragraph (:standard-properties [1454 1454 1454 1639 1640 1 nil nil nil nil nil nil nil nil # nil nil #34]) #("Now create a folder from which will host the following dockerfile. You\ncan name this file Dockerfile. Note that mariadb is the base image\nsince it already has mariadb installed for us.\n" 0 185 (:parent #42))) (src-block (:standard-properties [1640 1640 nil nil 1887 1 nil nil nil nil nil nil nil nil # nil nil #34] :language "conf" :switches nil :parameters ":mkdirp yes :tangle ~/docker/Dockerfile" :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (57 236) t])) (paragraph (:standard-properties [1887 1887 1887 1934 1935 1 nil nil nil nil nil nil nil nil # nil nil #34]) #("Build the image(Note the fullstop at the end):\n" 0 47 (:parent #44))) (fixed-width (:standard-properties [1935 1935 nil nil 1995 2 nil nil nil nil nil nil nil nil # nil nil #34] :value "sudo docker build -t genenetwork2:latest -f Dockerfile .")) (paragraph (:standard-properties [1995 1995 1995 2048 2049 1 nil nil nil nil nil nil nil nil # nil nil #34]) #("To load the image interactively you've just created:\n" 0 53 (:parent #46))) (fixed-width (:standard-properties [2049 2049 nil nil 2094 2 nil nil nil nil nil nil nil nil # nil nil #34] :value "docker run -ti \"genenetwork2:latest\" bash")) (paragraph (:standard-properties [2094 2094 2094 2180 2181 1 nil nil nil nil nil nil nil nil # nil nil #34]) #("Assuming you have a docker instance running, you could always run\ncommands in it e.g:\n" 0 86 (:parent #48))) (fixed-width (:standard-properties [2181 2181 nil nil 2234 2 nil nil nil nil nil nil nil nil # nil nil #34] :value "docker run \"genenetwork2:latest\" python --version")))) (headline (:standard-properties [2234 2234 2258 2857 2857 0 (:title) nil nil nil nil 2260 2855 1 # nil nil #25] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 22) t] :title (#("Pushing to DockerHub" 0 20 (:parent #32))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [2258 2258 2258 2857 2857 0 nil section nil nil nil 2258 2857 nil # nil nil #32]) (paragraph (:standard-properties [2258 2258 2258 2364 2365 1 nil planning nil nil nil nil nil nil # nil nil #35]) #("We use DockerHub to store the docker images from which we use on our\nCI environment using Github Actions.\n" 0 106 (:parent #38))) (paragraph (:standard-properties [2365 2365 2365 2486 2487 1 nil nil nil nil nil nil nil nil # nil nil #35]) #("To push to dockerhub, first get the image name by running " 0 58 (:parent #39)) (verbatim (:standard-properties [2423 nil nil nil 2438 0 nil nil nil nil nil nil nil nil # nil nil #39] :value [org-element-deferred org-element--substring (1 14) t])) #(". Push to dockerhub using a command similar to:\n" 0 48 (:parent #39))) (fixed-width (:standard-properties [2487 2487 nil nil 2534 2 nil nil nil nil nil nil nil nil # nil nil #35] :value "docker push bonfacekilz/genenetwork2:latest")) (paragraph (:standard-properties [2534 2534 2534 2576 2577 1 nil nil nil nil nil nil nil nil # nil nil #35]) #("Right now, we have 2 images on DockerHub:\n" 0 42 (:parent #41))) (plain-list (:standard-properties [2577 2577 2577 2857 2857 0 nil nil nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #35] :type unordered) (item (:standard-properties [2577 2577 2579 2741 2741 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #42] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2579 2579 2579 2741 2741 0 nil nil nil nil nil nil nil nil # nil nil #45]) (link (:standard-properties [2579 nil nil nil 2652 0 nil nil nil nil nil nil nil nil # nil nil #48] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python2 version of gn2. Don't use this. Please use the\n python3 image!\n" 0 89 (:parent #48)))) (item (:standard-properties [2741 2741 2743 2857 2857 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #42] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2743 2743 2743 2857 2857 0 nil nil nil nil nil nil nil nil # nil nil #46]) (link (:standard-properties [2743 nil nil nil 2816 0 nil nil nil nil nil nil nil nil # nil nil #49] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python3 version of gn2.\n" 0 41 (:parent #49))))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #20))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) #15)]) #10)] :type unordered) #5 (item (:standard-properties [147 147 149 209 209 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #10] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [149 149 149 209 209 0 nil nil nil nil nil nil nil nil # nil nil #14]) (link (:standard-properties [149 nil 180 206 208 0 nil nil nil nil nil nil nil nil # nil nil #17] :type "custom-id" :type-explicit-p nil :path "creating-the-docker-images" :format bracket :raw-link "#creating-the-docker-images" :application nil :search-option nil) #("Creating the Docker Images" 0 26 (:parent #20))) #("\n" 0 1 (:parent #17)))) (item (:standard-properties [209 209 211 259 259 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #10] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [211 211 211 259 259 0 nil nil nil nil nil nil nil nil # nil nil #15]) (link (:standard-properties [211 nil 236 256 258 0 nil nil nil nil nil nil nil nil # nil nil #18] :type "custom-id" :type-explicit-p nil :path "pushing-to-dockerhub" :format bracket :raw-link "#pushing-to-dockerhub" :application nil :search-option nil) #("Pushing to DockerHub" 0 20 (:parent #21))) #("\n" 0 1 (:parent #18)))))] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) #0)]) (link (:standard-properties [115 nil 132 144 146 0 nil nil nil nil nil nil nil nil # nil nil #0] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #3))) #("\n" 0 1 (:parent #0))) (:export-options (body-only) :back-end #s(org-export-backend :name html :parent nil :transcoders ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :options ((:html-doctype "HTML_DOCTYPE" nil org-html-doctype) (:html-container "HTML_CONTAINER" nil org-html-container-element) (:html-content-class "HTML_CONTENT_CLASS" nil org-html-content-class) (:description "DESCRIPTION" nil nil newline) (:keywords "KEYWORDS" nil nil space) (:html-html5-fancy nil "html5-fancy" org-html-html5-fancy) (:html-link-use-abs-url nil "html-link-use-abs-url" org-html-link-use-abs-url) (:html-link-home "HTML_LINK_HOME" nil org-html-link-home) (:html-link-up "HTML_LINK_UP" nil org-html-link-up) (:html-mathjax "HTML_MATHJAX" nil "" space) (:html-equation-reference-format "HTML_EQUATION_REFERENCE_FORMAT" nil org-html-equation-reference-format t) (:html-postamble nil "html-postamble" org-html-postamble) (:html-preamble nil "html-preamble" org-html-preamble) (:html-head "HTML_HEAD" nil org-html-head newline) (:html-head-extra "HTML_HEAD_EXTRA" nil org-html-head-extra newline) (:subtitle "SUBTITLE" nil nil parse) (:html-head-include-default-style nil "html-style" org-html-head-include-default-style) (:html-head-include-scripts nil "html-scripts" org-html-head-include-scripts) (:html-allow-name-attribute-in-anchors nil nil org-html-allow-name-attribute-in-anchors) (:html-divs nil nil org-html-divs) (:html-checkbox-type nil nil org-html-checkbox-type) (:html-extension nil nil org-html-extension) (:html-footnote-format nil nil org-html-footnote-format) (:html-footnote-separator nil nil org-html-footnote-separator) (:html-footnotes-section nil nil org-html-footnotes-section) (:html-format-drawer-function nil nil org-html-format-drawer-function) (:html-format-headline-function nil nil org-html-format-headline-function) (:html-format-inlinetask-function nil nil org-html-format-inlinetask-function) (:html-home/up-format nil nil org-html-home/up-format) (:html-indent nil nil org-html-indent) (:html-infojs-options nil nil org-html-infojs-options) (:html-infojs-template nil nil org-html-infojs-template) (:html-inline-image-rules nil nil org-html-inline-image-rules) (:html-link-org-files-as-html nil nil org-html-link-org-files-as-html) (:html-mathjax-options nil nil org-html-mathjax-options) (:html-mathjax-template nil nil org-html-mathjax-template) (:html-metadata-timestamp-format nil nil org-html-metadata-timestamp-format) (:html-postamble-format nil nil org-html-postamble-format) (:html-preamble-format nil nil org-html-preamble-format) (:html-prefer-user-labels nil nil org-html-prefer-user-labels) (:html-self-link-headlines nil nil org-html-self-link-headlines) (:html-table-align-individual-fields nil nil org-html-table-align-individual-fields) (:html-table-caption-above nil nil org-html-table-caption-above) (:html-table-data-tags nil nil org-html-table-data-tags) (:html-table-header-tags nil nil org-html-table-header-tags) (:html-table-use-header-tags-for-first-column nil nil org-html-table-use-header-tags-for-first-column) (:html-tag-class-prefix nil nil org-html-tag-class-prefix) (:html-text-markup-alist nil nil org-html-text-markup-alist) (:html-todo-kwd-class-prefix nil nil org-html-todo-kwd-class-prefix) (:html-toplevel-hlevel nil nil org-html-toplevel-hlevel) (:html-use-infojs nil nil org-html-use-infojs) (:html-validation-link nil nil org-html-validation-link) (:html-viewport nil nil org-html-viewport) (:html-inline-images nil nil org-html-inline-images) (:html-table-attributes nil nil org-html-table-default-attributes) (:html-table-row-open-tag nil nil org-html-table-row-open-tag) (:html-table-row-close-tag nil nil org-html-table-row-close-tag) (:html-xml-declaration nil nil org-html-xml-declaration) (:html-wrap-src-lines nil nil org-html-wrap-src-lines) (:html-klipsify-src nil nil org-html-klipsify-src) (:html-klipse-css nil nil org-html-klipse-css) (:html-klipse-js nil nil org-html-klipse-js) (:html-klipse-selection-script nil nil org-html-klipse-selection-script) (:infojs-opt "INFOJS_OPT" nil nil) (:creator "CREATOR" nil org-html-creator-string) (:with-latex nil "tex" org-html-with-latex) (:latex-header "LATEX_HEADER" nil nil newline)) :filters ((:filter-options . org-html-infojs-install-script) (:filter-parse-tree . org-html-image-link-filter) (:filter-final-output . org-html-final-function)) :blocks nil :menu (104 "Export to HTML" ((72 "As HTML buffer" org-html-export-as-html) (104 "As HTML file" org-html-export-to-html) (111 "As HTML file and open" (lambda (a s v b) (if a (org-html-export-to-html t s v b) (org-open-file (org-html-export-to-html nil s v b)))))))) :translate-alist ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :exported-data # :input-buffer " *temp*" :input-file nil :html-doctype "xhtml-strict" :html-container "div" :html-content-class "content" :description nil :keywords nil :html-html5-fancy nil :html-link-use-abs-url nil :html-link-home "" :html-link-up "" :html-mathjax "" :html-equation-reference-format "\\eqref{%s}" :html-postamble auto :html-preamble t :html-head "" :html-head-extra "" :subtitle nil :html-head-include-default-style t :html-head-include-scripts nil :html-allow-name-attribute-in-anchors nil :html-divs ((preamble "div" "preamble") (content "div" "content") (postamble "div" "postamble")) :html-checkbox-type ascii :html-extension "html" :html-footnote-format "%s" :html-footnote-separator ", " :html-footnotes-section "
\n

%s:

\n
\n%s\n
\n
" :html-format-drawer-function #f(compiled-function (name contents) #) :html-format-headline-function org-html-format-headline-default-function :html-format-inlinetask-function org-html-format-inlinetask-default-function :html-home/up-format "
\n UP \n |\n HOME \n
" :html-indent nil :html-infojs-options ((path . "https://orgmode.org/org-info.js") (view . "info") (toc . :with-toc) (ftoc . "0") (tdepth . "max") (sdepth . "max") (mouse . "underline") (buttons . "0") (ltoc . "1") (up . :html-link-up) (home . :html-link-home)) :html-infojs-template "\n\n" :html-inline-image-rules (("file" . "\\(?:\\.\\(?:avif\\|gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("http" . "\\(?:\\.\\(?:avif\\|gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("https" . "\\(?:\\.\\(?:avif\\|gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)")) :html-link-org-files-as-html t :html-mathjax-options ((path "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js") (scale 1.0) (align "center") (font "mathjax-modern") (overflow "overflow") (tags "ams") (indent "0em") (multlinewidth "85%") (tagindent ".8em") (tagside "right")) :html-mathjax-template "\n\n\n" :html-metadata-timestamp-format "%Y-%m-%d %a %H:%M" :html-postamble-format (("en" "

Author: %a (%e)

\n

Date: %d

\n

%c

\n

%v

")) :html-preamble-format (("en" "")) :html-prefer-user-labels nil :html-self-link-headlines nil :html-table-align-individual-fields t :html-table-caption-above t :html-table-data-tags ("" . "") :html-table-header-tags ("" . "") :html-table-use-header-tags-for-first-column nil :html-tag-class-prefix "" :html-text-markup-alist ((bold . "%s") (code . "%s") (italic . "%s") (strike-through . "%s") (underline . "%s") (verbatim . "%s")) :html-todo-kwd-class-prefix "" :html-toplevel-hlevel 2 :html-use-infojs when-configured :html-validation-link "Validate" :html-viewport ((width "device-width") (initial-scale "1") (minimum-scale "") (maximum-scale "") (user-scalable "")) :html-inline-images t :html-table-attributes (:border "2" :cellspacing "0" :cellpadding "6" :rules "groups" :frame "hsides") :html-table-row-open-tag "" :html-table-row-close-tag "" :html-xml-declaration (("html" . "") ("php" . "\"; ?>")) :html-wrap-src-lines nil :html-klipsify-src nil :html-klipse-css "https://storage.googleapis.com/app.klipse.tech/css/codemirror.css" :html-klipse-js "https://storage.googleapis.com/app.klipse.tech/plugin_prod/js/klipse_plugin.min.js" :html-klipse-selection-script "window.klipse_settings = {selector_eval_html: '.src-html',\n selector_eval_js: '.src-js',\n selector_eval_python_client: '.src-python',\n selector_eval_scheme: '.src-scheme',\n selector: '.src-clojure',\n selector_eval_ruby: '.src-ruby'};" :infojs-opt nil :creator "Emacs 30.2 (Org mode 9.7.11)" :with-latex t :latex-header nil :title (#("Genenetwork2 Dockerized" 0 23 (:parent #148))) :date nil :author (#("unknown" 0 7 (:parent #152))) :email "unknown@genenetwork-development" :language "en" :select-tags ("export") :exclude-tags ("noexport") :headline-levels 3 :preserve-breaks nil :section-numbers nil :time-stamp-file t :with-archived-trees headline :with-author t :expand-links t :with-broken-links nil :with-clocks nil :with-creator nil :with-date t :with-drawers (not "LOGBOOK") :with-email nil :with-emphasize t :with-entities t :with-fixed-width t :with-footnotes t :with-inlinetasks t :with-planning nil :with-priority nil :with-properties nil :with-smart-quotes nil :with-special-strings t :with-special-rows nil :with-statistics-cookies t :with-sub-superscript t :with-toc nil :with-tables t :with-tags t :with-tasks t :with-timestamps t :with-title t :with-todo-keywords t :with-cite-processors t :cite-export (basic nil nil) :bibliography nil :filter-body nil :filter-bold nil :filter-babel-call nil :filter-center-block nil :filter-clock nil :filter-code nil :filter-diary-sexp nil :filter-drawer nil :filter-dynamic-block nil :filter-entity nil :filter-example-block nil :filter-export-block nil :filter-export-snippet nil :filter-final-output (org-html-final-function) :filter-fixed-width nil :filter-footnote-definition nil :filter-footnote-reference nil :filter-headline nil :filter-horizontal-rule nil :filter-inline-babel-call nil :filter-inline-src-block nil :filter-inlinetask nil :filter-italic nil :filter-item nil :filter-keyword nil :filter-latex-environment nil :filter-latex-fragment nil :filter-line-break nil :filter-link nil :filter-node-property nil :filter-options (org-html-infojs-install-script) :filter-paragraph nil :filter-parse-tree (org-html-image-link-filter) :filter-plain-list nil :filter-plain-text nil :filter-planning nil :filter-property-drawer nil :filter-quote-block nil :filter-radio-target nil :filter-section nil :filter-special-block nil :filter-src-block nil :filter-statistics-cookie nil :filter-strike-through nil :filter-subscript nil :filter-superscript nil :filter-table nil :filter-table-cell nil :filter-table-row nil :filter-target nil :filter-timestamp nil :filter-underline nil :filter-verbatim nil :filter-verse-block nil :ignore-list nil :parse-tree (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 35 35 0 nil first-section nil nil nil 1 35 nil # nil nil #344]) (keyword (:standard-properties [1 1 nil nil 35 1 nil top-comment nil nil nil nil nil nil # nil nil #347] :key "TITLE" :value "Genenetwork2 Dockerized"))) (headline (:standard-properties [35 35 113 260 260 0 (:title) nil nil nil nil 115 258 1 # nil nil #344] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #348))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [113 113 113 260 260 0 nil section nil nil nil 113 260 nil # nil nil #348]) (plain-list (:standard-properties [113 113 113 259 260 1 nil planning nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #351] :type unordered) (item (:standard-properties [113 113 115 147 147 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #354] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [115 115 115 147 147 0 nil nil nil nil nil nil nil nil # nil nil #357]) (link (:standard-properties [115 nil 132 144 146 0 nil nil nil nil nil nil nil nil # nil nil #360] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #363))) #("\n" 0 1 (:parent #360)))) (item (:standard-properties [147 147 149 209 209 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #354] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [149 149 149 209 209 0 nil nil nil nil nil nil nil nil # nil nil #358]) (link (:standard-properties [149 nil 180 206 208 0 nil nil nil nil nil nil nil nil # nil nil #361] :type "custom-id" :type-explicit-p nil :path "creating-the-docker-images" :format bracket :raw-link "#creating-the-docker-images" :application nil :search-option nil) #("Creating the Docker Images" 0 26 (:parent #364))) #("\n" 0 1 (:parent #361)))) (item (:standard-properties [209 209 211 259 259 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #354] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [211 211 211 259 259 0 nil nil nil nil nil nil nil nil # nil nil #359]) (link (:standard-properties [211 nil 236 256 258 0 nil nil nil nil nil nil nil nil # nil nil #362] :type "custom-id" :type-explicit-p nil :path "pushing-to-dockerhub" :format bracket :raw-link "#pushing-to-dockerhub" :application nil :search-option nil) #("Pushing to DockerHub" 0 20 (:parent #365))) #("\n" 0 1 (:parent #362))))))) (headline (:standard-properties [260 260 276 926 926 0 (:title) nil nil nil nil 278 924 1 # nil nil #344] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #349))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [276 276 276 926 926 0 nil section nil nil nil 276 926 nil # nil nil #349]) (paragraph (:standard-properties [276 276 276 599 600 1 nil planning nil nil nil nil nil nil # nil nil #352]) #("The CI(Continuous Integration) system for Genenetwork2 uses " 0 60 (:parent #355)) (link (:standard-properties [336 nil 375 389 391 0 nil nil nil nil nil nil nil nil # nil nil #355] :type "https" :type-explicit-p t :path "//github.com/features/actions" :format bracket :raw-link "https://github.com/features/actions" :application nil :search-option nil) #("Github\nActions" 0 14 (:parent #359))) #(". As such, it's important to have a way to run tests using\nfacilities provided by GUIX in a reproducible way. This project\nleverages GUIX to generate a docker container from which the unittests\nare ran from.\n" 0 208 (:parent #355))) (paragraph (:standard-properties [600 600 600 829 830 1 nil nil nil nil nil nil nil nil # nil nil #352]) #("Find instructions on how to set docker up inside GUIX " 0 54 (:parent #356)) (link (:standard-properties [654 nil 732 736 738 0 nil nil nil nil nil nil nil nil # nil nil #356] :type "https" :type-explicit-p t :path "//github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :application nil :search-option nil) #("here" 0 4 (:parent #360))) #(". This\ndocument will not get into that. It's assumed that you have a working\ndocker setup.\n" 0 91 (:parent #356))) (paragraph (:standard-properties [830 830 830 925 926 1 nil nil nil nil nil nil nil nil # nil nil #352]) #("The rest of this document outlines how the docker container used in\nthe CI builds was created.\n" 0 95 (:parent #357))))) (headline (:standard-properties [926 926 956 2234 2234 0 (:title) nil nil nil nil 958 2232 1 # nil nil #344] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 28) t] :title (#("Creating the Docker Images" 0 26 (:parent #350))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [956 956 956 2234 2234 0 nil section nil nil nil 956 2234 nil # nil nil #350]) (paragraph (:standard-properties [956 956 956 1070 1071 1 nil planning nil nil nil nil nil nil # nil nil #353]) #("The general idea is that GUIX is used to generate a set of binaries,\nwhich will be added to a base mariaDB image.\n" 0 114 (:parent #356))) (paragraph (:standard-properties [1071 1071 1071 1116 1117 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("First create the gn2 tar archive by running:\n" 0 45 (:parent #357))) (src-block (:standard-properties [1117 1117 nil nil 1343 1 nil nil nil nil nil nil nil nil # nil nil #353] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 215) t])) (paragraph (:standard-properties [1343 1343 1343 1386 1387 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("The output will look something similar to:\n" 0 43 (:parent #359))) (fixed-width (:standard-properties [1387 1387 nil nil 1454 2 nil nil nil nil nil nil nil nil # nil nil #353] :value "/gnu/store/x3m77vwaqcwba24p5s4lrb7w2ii16lj9-tarball-pack.tar.gz")) (paragraph (:standard-properties [1454 1454 1454 1639 1640 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("Now create a folder from which will host the following dockerfile. You\ncan name this file Dockerfile. Note that mariadb is the base image\nsince it already has mariadb installed for us.\n" 0 185 (:parent #361))) (src-block (:standard-properties [1640 1640 nil nil 1887 1 nil nil nil nil nil nil nil nil # nil nil #353] :language "conf" :switches nil :parameters ":mkdirp yes :tangle ~/docker/Dockerfile" :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (57 236) t])) (paragraph (:standard-properties [1887 1887 1887 1934 1935 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("Build the image(Note the fullstop at the end):\n" 0 47 (:parent #363))) (fixed-width (:standard-properties [1935 1935 nil nil 1995 2 nil nil nil nil nil nil nil nil # nil nil #353] :value "sudo docker build -t genenetwork2:latest -f Dockerfile .")) (paragraph (:standard-properties [1995 1995 1995 2048 2049 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("To load the image interactively you've just created:\n" 0 53 (:parent #365))) (fixed-width (:standard-properties [2049 2049 nil nil 2094 2 nil nil nil nil nil nil nil nil # nil nil #353] :value "docker run -ti \"genenetwork2:latest\" bash")) (paragraph (:standard-properties [2094 2094 2094 2180 2181 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("Assuming you have a docker instance running, you could always run\ncommands in it e.g:\n" 0 86 (:parent #367))) (fixed-width (:standard-properties [2181 2181 nil nil 2234 2 nil nil nil nil nil nil nil nil # nil nil #353] :value "docker run \"genenetwork2:latest\" python --version")))) (headline (:standard-properties [2234 2234 2258 2857 2857 0 (:title) nil nil nil nil 2260 2855 1 # nil nil #344] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 22) t] :title (#("Pushing to DockerHub" 0 20 (:parent #351))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [2258 2258 2258 2857 2857 0 nil section nil nil nil 2258 2857 nil # nil nil #351]) (paragraph (:standard-properties [2258 2258 2258 2364 2365 1 nil planning nil nil nil nil nil nil # nil nil #354]) #("We use DockerHub to store the docker images from which we use on our\nCI environment using Github Actions.\n" 0 106 (:parent #357))) (paragraph (:standard-properties [2365 2365 2365 2486 2487 1 nil nil nil nil nil nil nil nil # nil nil #354]) #("To push to dockerhub, first get the image name by running " 0 58 (:parent #358)) (verbatim (:standard-properties [2423 nil nil nil 2438 0 nil nil nil nil nil nil nil nil # nil nil #358] :value [org-element-deferred org-element--substring (1 14) t])) #(". Push to dockerhub using a command similar to:\n" 0 48 (:parent #358))) (fixed-width (:standard-properties [2487 2487 nil nil 2534 2 nil nil nil nil nil nil nil nil # nil nil #354] :value "docker push bonfacekilz/genenetwork2:latest")) (paragraph (:standard-properties [2534 2534 2534 2576 2577 1 nil nil nil nil nil nil nil nil # nil nil #354]) #("Right now, we have 2 images on DockerHub:\n" 0 42 (:parent #360))) (plain-list (:standard-properties [2577 2577 2577 2857 2857 0 nil nil nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #354] :type unordered) (item (:standard-properties [2577 2577 2579 2741 2741 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #361] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2579 2579 2579 2741 2741 0 nil nil nil nil nil nil nil nil # nil nil #364]) (link (:standard-properties [2579 nil nil nil 2652 0 nil nil nil nil nil nil nil nil # nil nil #367] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python2 version of gn2. Don't use this. Please use the\n python3 image!\n" 0 89 (:parent #367)))) (item (:standard-properties [2741 2741 2743 2857 2857 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #361] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2743 2743 2743 2857 2857 0 nil nil nil nil nil nil nil nil # nil nil #365]) (link (:standard-properties [2743 nil nil nil 2816 0 nil nil nil nil nil nil nil nil # nil nil #368] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python3 version of gn2.\n" 0 41 (:parent #368)))))))) :headline-offset 0 :headline-numbering nil :id-alist nil :citations nil :id-local-cache #)) #f(compiled-function (element) #)((paragraph (:standard-properties [115 115 115 147 147 0 nil nil nil nil nil nil nil nil # nil nil (item (:standard-properties [113 113 115 147 147 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) (plain-list (:standard-properties [113 113 113 259 260 1 nil planning nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) (section (:standard-properties [113 113 113 260 260 0 nil section nil nil nil 113 260 nil # nil nil (headline (:standard-properties [35 35 113 260 260 0 (:title) nil nil nil nil 115 258 1 # nil nil (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 35 35 0 nil first-section nil nil nil 1 35 nil # nil nil #25]) (keyword (:standard-properties [1 1 nil nil 35 1 nil top-comment nil nil nil nil nil nil # nil nil #28] :key "TITLE" :value "Genenetwork2 Dockerized"))) #20 (headline (:standard-properties [260 260 276 926 926 0 (:title) nil nil nil nil 278 924 1 # nil nil #25] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #30))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [276 276 276 926 926 0 nil section nil nil nil 276 926 nil # nil nil #30]) (paragraph (:standard-properties [276 276 276 599 600 1 nil planning nil nil nil nil nil nil # nil nil #33]) #("The CI(Continuous Integration) system for Genenetwork2 uses " 0 60 (:parent #36)) (link (:standard-properties [336 nil 375 389 391 0 nil nil nil nil nil nil nil nil # nil nil #36] :type "https" :type-explicit-p t :path "//github.com/features/actions" :format bracket :raw-link "https://github.com/features/actions" :application nil :search-option nil) #("Github\nActions" 0 14 (:parent #40))) #(". As such, it's important to have a way to run tests using\nfacilities provided by GUIX in a reproducible way. This project\nleverages GUIX to generate a docker container from which the unittests\nare ran from.\n" 0 208 (:parent #36))) (paragraph (:standard-properties [600 600 600 829 830 1 nil nil nil nil nil nil nil nil # nil nil #33]) #("Find instructions on how to set docker up inside GUIX " 0 54 (:parent #37)) (link (:standard-properties [654 nil 732 736 738 0 nil nil nil nil nil nil nil nil # nil nil #37] :type "https" :type-explicit-p t :path "//github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :application nil :search-option nil) #("here" 0 4 (:parent #41))) #(". This\ndocument will not get into that. It's assumed that you have a working\ndocker setup.\n" 0 91 (:parent #37))) (paragraph (:standard-properties [830 830 830 925 926 1 nil nil nil nil nil nil nil nil # nil nil #33]) #("The rest of this document outlines how the docker container used in\nthe CI builds was created.\n" 0 95 (:parent #38))))) (headline (:standard-properties [926 926 956 2234 2234 0 (:title) nil nil nil nil 958 2232 1 # nil nil #25] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 28) t] :title (#("Creating the Docker Images" 0 26 (:parent #31))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [956 956 956 2234 2234 0 nil section nil nil nil 956 2234 nil # nil nil #31]) (paragraph (:standard-properties [956 956 956 1070 1071 1 nil planning nil nil nil nil nil nil # nil nil #34]) #("The general idea is that GUIX is used to generate a set of binaries,\nwhich will be added to a base mariaDB image.\n" 0 114 (:parent #37))) (paragraph (:standard-properties [1071 1071 1071 1116 1117 1 nil nil nil nil nil nil nil nil # nil nil #34]) #("First create the gn2 tar archive by running:\n" 0 45 (:parent #38))) (src-block (:standard-properties [1117 1117 nil nil 1343 1 nil nil nil nil nil nil nil nil # nil nil #34] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 215) t])) (paragraph (:standard-properties [1343 1343 1343 1386 1387 1 nil nil nil nil nil nil nil nil # nil nil #34]) #("The output will look something similar to:\n" 0 43 (:parent #40))) (fixed-width (:standard-properties [1387 1387 nil nil 1454 2 nil nil nil nil nil nil nil nil # nil nil #34] :value "/gnu/store/x3m77vwaqcwba24p5s4lrb7w2ii16lj9-tarball-pack.tar.gz")) (paragraph (:standard-properties [1454 1454 1454 1639 1640 1 nil nil nil nil nil nil nil nil # nil nil #34]) #("Now create a folder from which will host the following dockerfile. You\ncan name this file Dockerfile. Note that mariadb is the base image\nsince it already has mariadb installed for us.\n" 0 185 (:parent #42))) (src-block (:standard-properties [1640 1640 nil nil 1887 1 nil nil nil nil nil nil nil nil # nil nil #34] :language "conf" :switches nil :parameters ":mkdirp yes :tangle ~/docker/Dockerfile" :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (57 236) t])) (paragraph (:standard-properties [1887 1887 1887 1934 1935 1 nil nil nil nil nil nil nil nil # nil nil #34]) #("Build the image(Note the fullstop at the end):\n" 0 47 (:parent #44))) (fixed-width (:standard-properties [1935 1935 nil nil 1995 2 nil nil nil nil nil nil nil nil # nil nil #34] :value "sudo docker build -t genenetwork2:latest -f Dockerfile .")) (paragraph (:standard-properties [1995 1995 1995 2048 2049 1 nil nil nil nil nil nil nil nil # nil nil #34]) #("To load the image interactively you've just created:\n" 0 53 (:parent #46))) (fixed-width (:standard-properties [2049 2049 nil nil 2094 2 nil nil nil nil nil nil nil nil # nil nil #34] :value "docker run -ti \"genenetwork2:latest\" bash")) (paragraph (:standard-properties [2094 2094 2094 2180 2181 1 nil nil nil nil nil nil nil nil # nil nil #34]) #("Assuming you have a docker instance running, you could always run\ncommands in it e.g:\n" 0 86 (:parent #48))) (fixed-width (:standard-properties [2181 2181 nil nil 2234 2 nil nil nil nil nil nil nil nil # nil nil #34] :value "docker run \"genenetwork2:latest\" python --version")))) (headline (:standard-properties [2234 2234 2258 2857 2857 0 (:title) nil nil nil nil 2260 2855 1 # nil nil #25] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 22) t] :title (#("Pushing to DockerHub" 0 20 (:parent #32))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [2258 2258 2258 2857 2857 0 nil section nil nil nil 2258 2857 nil # nil nil #32]) (paragraph (:standard-properties [2258 2258 2258 2364 2365 1 nil planning nil nil nil nil nil nil # nil nil #35]) #("We use DockerHub to store the docker images from which we use on our\nCI environment using Github Actions.\n" 0 106 (:parent #38))) (paragraph (:standard-properties [2365 2365 2365 2486 2487 1 nil nil nil nil nil nil nil nil # nil nil #35]) #("To push to dockerhub, first get the image name by running " 0 58 (:parent #39)) (verbatim (:standard-properties [2423 nil nil nil 2438 0 nil nil nil nil nil nil nil nil # nil nil #39] :value [org-element-deferred org-element--substring (1 14) t])) #(". Push to dockerhub using a command similar to:\n" 0 48 (:parent #39))) (fixed-width (:standard-properties [2487 2487 nil nil 2534 2 nil nil nil nil nil nil nil nil # nil nil #35] :value "docker push bonfacekilz/genenetwork2:latest")) (paragraph (:standard-properties [2534 2534 2534 2576 2577 1 nil nil nil nil nil nil nil nil # nil nil #35]) #("Right now, we have 2 images on DockerHub:\n" 0 42 (:parent #41))) (plain-list (:standard-properties [2577 2577 2577 2857 2857 0 nil nil nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #35] :type unordered) (item (:standard-properties [2577 2577 2579 2741 2741 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #42] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2579 2579 2579 2741 2741 0 nil nil nil nil nil nil nil nil # nil nil #45]) (link (:standard-properties [2579 nil nil nil 2652 0 nil nil nil nil nil nil nil nil # nil nil #48] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python2 version of gn2. Don't use this. Please use the\n python3 image!\n" 0 89 (:parent #48)))) (item (:standard-properties [2741 2741 2743 2857 2857 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #42] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2743 2743 2743 2857 2857 0 nil nil nil nil nil nil nil nil # nil nil #46]) (link (:standard-properties [2743 nil nil nil 2816 0 nil nil nil nil nil nil nil nil # nil nil #49] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python3 version of gn2.\n" 0 41 (:parent #49))))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #20))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) #15)]) #10)] :type unordered) #5 (item (:standard-properties [147 147 149 209 209 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #10] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [149 149 149 209 209 0 nil nil nil nil nil nil nil nil # nil nil #14]) (link (:standard-properties [149 nil 180 206 208 0 nil nil nil nil nil nil nil nil # nil nil #17] :type "custom-id" :type-explicit-p nil :path "creating-the-docker-images" :format bracket :raw-link "#creating-the-docker-images" :application nil :search-option nil) #("Creating the Docker Images" 0 26 (:parent #20))) #("\n" 0 1 (:parent #17)))) (item (:standard-properties [209 209 211 259 259 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #10] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [211 211 211 259 259 0 nil nil nil nil nil nil nil nil # nil nil #15]) (link (:standard-properties [211 nil 236 256 258 0 nil nil nil nil nil nil nil nil # nil nil #18] :type "custom-id" :type-explicit-p nil :path "pushing-to-dockerhub" :format bracket :raw-link "#pushing-to-dockerhub" :application nil :search-option nil) #("Pushing to DockerHub" 0 20 (:parent #21))) #("\n" 0 1 (:parent #18)))))] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) #0)]) (link (:standard-properties [115 nil 132 144 146 0 nil nil nil nil nil nil nil nil # nil nil #0] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #3))) #("\n" 0 1 (:parent #0)))) mapconcat(#f(compiled-function (element) #) ((paragraph (:standard-properties [115 115 115 147 147 0 nil nil nil nil nil nil nil nil # nil nil (item (:standard-properties [113 113 115 147 147 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) (plain-list (:standard-properties [113 113 113 259 260 1 nil planning nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) (section (:standard-properties [113 113 113 260 260 0 nil section nil nil nil 113 260 nil # nil nil (headline (:standard-properties [35 35 113 260 260 0 (:title) nil nil nil nil 115 258 1 # nil nil (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 35 35 0 nil first-section nil nil nil 1 35 nil # nil nil #26]) (keyword (:standard-properties [1 1 nil nil 35 1 nil top-comment nil nil nil nil nil nil # nil nil #29] :key "TITLE" :value "Genenetwork2 Dockerized"))) #21 (headline (:standard-properties [260 260 276 926 926 0 (:title) nil nil nil nil 278 924 1 # nil nil #26] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #31))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [276 276 276 926 926 0 nil section nil nil nil 276 926 nil # nil nil #31]) (paragraph (:standard-properties [276 276 276 599 600 1 nil planning nil nil nil nil nil nil # nil nil #34]) #("The CI(Continuous Integration) system for Genenetwork2 uses " 0 60 (:parent #37)) (link (:standard-properties [336 nil 375 389 391 0 nil nil nil nil nil nil nil nil # nil nil #37] :type "https" :type-explicit-p t :path "//github.com/features/actions" :format bracket :raw-link "https://github.com/features/actions" :application nil :search-option nil) #("Github\nActions" 0 14 (:parent #41))) #(". As such, it's important to have a way to run tests using\nfacilities provided by GUIX in a reproducible way. This project\nleverages GUIX to generate a docker container from which the unittests\nare ran from.\n" 0 208 (:parent #37))) (paragraph (:standard-properties [600 600 600 829 830 1 nil nil nil nil nil nil nil nil # nil nil #34]) #("Find instructions on how to set docker up inside GUIX " 0 54 (:parent #38)) (link (:standard-properties [654 nil 732 736 738 0 nil nil nil nil nil nil nil nil # nil nil #38] :type "https" :type-explicit-p t :path "//github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :application nil :search-option nil) #("here" 0 4 (:parent #42))) #(". This\ndocument will not get into that. It's assumed that you have a working\ndocker setup.\n" 0 91 (:parent #38))) (paragraph (:standard-properties [830 830 830 925 926 1 nil nil nil nil nil nil nil nil # nil nil #34]) #("The rest of this document outlines how the docker container used in\nthe CI builds was created.\n" 0 95 (:parent #39))))) (headline (:standard-properties [926 926 956 2234 2234 0 (:title) nil nil nil nil 958 2232 1 # nil nil #26] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 28) t] :title (#("Creating the Docker Images" 0 26 (:parent #32))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [956 956 956 2234 2234 0 nil section nil nil nil 956 2234 nil # nil nil #32]) (paragraph (:standard-properties [956 956 956 1070 1071 1 nil planning nil nil nil nil nil nil # nil nil #35]) #("The general idea is that GUIX is used to generate a set of binaries,\nwhich will be added to a base mariaDB image.\n" 0 114 (:parent #38))) (paragraph (:standard-properties [1071 1071 1071 1116 1117 1 nil nil nil nil nil nil nil nil # nil nil #35]) #("First create the gn2 tar archive by running:\n" 0 45 (:parent #39))) (src-block (:standard-properties [1117 1117 nil nil 1343 1 nil nil nil nil nil nil nil nil # nil nil #35] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 215) t])) (paragraph (:standard-properties [1343 1343 1343 1386 1387 1 nil nil nil nil nil nil nil nil # nil nil #35]) #("The output will look something similar to:\n" 0 43 (:parent #41))) (fixed-width (:standard-properties [1387 1387 nil nil 1454 2 nil nil nil nil nil nil nil nil # nil nil #35] :value "/gnu/store/x3m77vwaqcwba24p5s4lrb7w2ii16lj9-tarball-pack.tar.gz")) (paragraph (:standard-properties [1454 1454 1454 1639 1640 1 nil nil nil nil nil nil nil nil # nil nil #35]) #("Now create a folder from which will host the following dockerfile. You\ncan name this file Dockerfile. Note that mariadb is the base image\nsince it already has mariadb installed for us.\n" 0 185 (:parent #43))) (src-block (:standard-properties [1640 1640 nil nil 1887 1 nil nil nil nil nil nil nil nil # nil nil #35] :language "conf" :switches nil :parameters ":mkdirp yes :tangle ~/docker/Dockerfile" :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (57 236) t])) (paragraph (:standard-properties [1887 1887 1887 1934 1935 1 nil nil nil nil nil nil nil nil # nil nil #35]) #("Build the image(Note the fullstop at the end):\n" 0 47 (:parent #45))) (fixed-width (:standard-properties [1935 1935 nil nil 1995 2 nil nil nil nil nil nil nil nil # nil nil #35] :value "sudo docker build -t genenetwork2:latest -f Dockerfile .")) (paragraph (:standard-properties [1995 1995 1995 2048 2049 1 nil nil nil nil nil nil nil nil # nil nil #35]) #("To load the image interactively you've just created:\n" 0 53 (:parent #47))) (fixed-width (:standard-properties [2049 2049 nil nil 2094 2 nil nil nil nil nil nil nil nil # nil nil #35] :value "docker run -ti \"genenetwork2:latest\" bash")) (paragraph (:standard-properties [2094 2094 2094 2180 2181 1 nil nil nil nil nil nil nil nil # nil nil #35]) #("Assuming you have a docker instance running, you could always run\ncommands in it e.g:\n" 0 86 (:parent #49))) (fixed-width (:standard-properties [2181 2181 nil nil 2234 2 nil nil nil nil nil nil nil nil # nil nil #35] :value "docker run \"genenetwork2:latest\" python --version")))) (headline (:standard-properties [2234 2234 2258 2857 2857 0 (:title) nil nil nil nil 2260 2855 1 # nil nil #26] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 22) t] :title (#("Pushing to DockerHub" 0 20 (:parent #33))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [2258 2258 2258 2857 2857 0 nil section nil nil nil 2258 2857 nil # nil nil #33]) (paragraph (:standard-properties [2258 2258 2258 2364 2365 1 nil planning nil nil nil nil nil nil # nil nil #36]) #("We use DockerHub to store the docker images from which we use on our\nCI environment using Github Actions.\n" 0 106 (:parent #39))) (paragraph (:standard-properties [2365 2365 2365 2486 2487 1 nil nil nil nil nil nil nil nil # nil nil #36]) #("To push to dockerhub, first get the image name by running " 0 58 (:parent #40)) (verbatim (:standard-properties [2423 nil nil nil 2438 0 nil nil nil nil nil nil nil nil # nil nil #40] :value [org-element-deferred org-element--substring (1 14) t])) #(". Push to dockerhub using a command similar to:\n" 0 48 (:parent #40))) (fixed-width (:standard-properties [2487 2487 nil nil 2534 2 nil nil nil nil nil nil nil nil # nil nil #36] :value "docker push bonfacekilz/genenetwork2:latest")) (paragraph (:standard-properties [2534 2534 2534 2576 2577 1 nil nil nil nil nil nil nil nil # nil nil #36]) #("Right now, we have 2 images on DockerHub:\n" 0 42 (:parent #42))) (plain-list (:standard-properties [2577 2577 2577 2857 2857 0 nil nil nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #36] :type unordered) (item (:standard-properties [2577 2577 2579 2741 2741 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #43] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2579 2579 2579 2741 2741 0 nil nil nil nil nil nil nil nil # nil nil #46]) (link (:standard-properties [2579 nil nil nil 2652 0 nil nil nil nil nil nil nil nil # nil nil #49] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python2 version of gn2. Don't use this. Please use the\n python3 image!\n" 0 89 (:parent #49)))) (item (:standard-properties [2741 2741 2743 2857 2857 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #43] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2743 2743 2743 2857 2857 0 nil nil nil nil nil nil nil nil # nil nil #47]) (link (:standard-properties [2743 nil nil nil 2816 0 nil nil nil nil nil nil nil nil # nil nil #50] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python3 version of gn2.\n" 0 41 (:parent #50))))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #21))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) #16)]) #11)] :type unordered) #6 (item (:standard-properties [147 147 149 209 209 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #11] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [149 149 149 209 209 0 nil nil nil nil nil nil nil nil # nil nil #15]) (link (:standard-properties [149 nil 180 206 208 0 nil nil nil nil nil nil nil nil # nil nil #18] :type "custom-id" :type-explicit-p nil :path "creating-the-docker-images" :format bracket :raw-link "#creating-the-docker-images" :application nil :search-option nil) #("Creating the Docker Images" 0 26 (:parent #21))) #("\n" 0 1 (:parent #18)))) (item (:standard-properties [209 209 211 259 259 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #11] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [211 211 211 259 259 0 nil nil nil nil nil nil nil nil # nil nil #16]) (link (:standard-properties [211 nil 236 256 258 0 nil nil nil nil nil nil nil nil # nil nil #19] :type "custom-id" :type-explicit-p nil :path "pushing-to-dockerhub" :format bracket :raw-link "#pushing-to-dockerhub" :application nil :search-option nil) #("Pushing to DockerHub" 0 20 (:parent #22))) #("\n" 0 1 (:parent #19)))))] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) . #0)]) (link (:standard-properties [115 nil 132 144 146 0 nil nil nil nil nil nil nil nil # nil nil #1] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #4))) #("\n" 0 1 (:parent #1)))) "") org-export-data((item (:standard-properties [113 113 115 147 147 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) (plain-list (:standard-properties [113 113 113 259 260 1 nil planning nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) (section (:standard-properties [113 113 113 260 260 0 nil section nil nil nil 113 260 nil # nil nil (headline (:standard-properties [35 35 113 260 260 0 (:title) nil nil nil nil 115 258 1 # nil nil (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 35 35 0 nil first-section nil nil nil 1 35 nil # nil nil #20]) (keyword (:standard-properties [1 1 nil nil 35 1 nil top-comment nil nil nil nil nil nil # nil nil #23] :key "TITLE" :value "Genenetwork2 Dockerized"))) #15 (headline (:standard-properties [260 260 276 926 926 0 (:title) nil nil nil nil 278 924 1 # nil nil #20] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #25))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [276 276 276 926 926 0 nil section nil nil nil 276 926 nil # nil nil #25]) (paragraph (:standard-properties [276 276 276 599 600 1 nil planning nil nil nil nil nil nil # nil nil #28]) #("The CI(Continuous Integration) system for Genenetwork2 uses " 0 60 (:parent #31)) (link (:standard-properties [336 nil 375 389 391 0 nil nil nil nil nil nil nil nil # nil nil #31] :type "https" :type-explicit-p t :path "//github.com/features/actions" :format bracket :raw-link "https://github.com/features/actions" :application nil :search-option nil) #("Github\nActions" 0 14 (:parent #35))) #(". As such, it's important to have a way to run tests using\nfacilities provided by GUIX in a reproducible way. This project\nleverages GUIX to generate a docker container from which the unittests\nare ran from.\n" 0 208 (:parent #31))) (paragraph (:standard-properties [600 600 600 829 830 1 nil nil nil nil nil nil nil nil # nil nil #28]) #("Find instructions on how to set docker up inside GUIX " 0 54 (:parent #32)) (link (:standard-properties [654 nil 732 736 738 0 nil nil nil nil nil nil nil nil # nil nil #32] :type "https" :type-explicit-p t :path "//github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :application nil :search-option nil) #("here" 0 4 (:parent #36))) #(". This\ndocument will not get into that. It's assumed that you have a working\ndocker setup.\n" 0 91 (:parent #32))) (paragraph (:standard-properties [830 830 830 925 926 1 nil nil nil nil nil nil nil nil # nil nil #28]) #("The rest of this document outlines how the docker container used in\nthe CI builds was created.\n" 0 95 (:parent #33))))) (headline (:standard-properties [926 926 956 2234 2234 0 (:title) nil nil nil nil 958 2232 1 # nil nil #20] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 28) t] :title (#("Creating the Docker Images" 0 26 (:parent #26))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [956 956 956 2234 2234 0 nil section nil nil nil 956 2234 nil # nil nil #26]) (paragraph (:standard-properties [956 956 956 1070 1071 1 nil planning nil nil nil nil nil nil # nil nil #29]) #("The general idea is that GUIX is used to generate a set of binaries,\nwhich will be added to a base mariaDB image.\n" 0 114 (:parent #32))) (paragraph (:standard-properties [1071 1071 1071 1116 1117 1 nil nil nil nil nil nil nil nil # nil nil #29]) #("First create the gn2 tar archive by running:\n" 0 45 (:parent #33))) (src-block (:standard-properties [1117 1117 nil nil 1343 1 nil nil nil nil nil nil nil nil # nil nil #29] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 215) t])) (paragraph (:standard-properties [1343 1343 1343 1386 1387 1 nil nil nil nil nil nil nil nil # nil nil #29]) #("The output will look something similar to:\n" 0 43 (:parent #35))) (fixed-width (:standard-properties [1387 1387 nil nil 1454 2 nil nil nil nil nil nil nil nil # nil nil #29] :value "/gnu/store/x3m77vwaqcwba24p5s4lrb7w2ii16lj9-tarball-pack.tar.gz")) (paragraph (:standard-properties [1454 1454 1454 1639 1640 1 nil nil nil nil nil nil nil nil # nil nil #29]) #("Now create a folder from which will host the following dockerfile. You\ncan name this file Dockerfile. Note that mariadb is the base image\nsince it already has mariadb installed for us.\n" 0 185 (:parent #37))) (src-block (:standard-properties [1640 1640 nil nil 1887 1 nil nil nil nil nil nil nil nil # nil nil #29] :language "conf" :switches nil :parameters ":mkdirp yes :tangle ~/docker/Dockerfile" :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (57 236) t])) (paragraph (:standard-properties [1887 1887 1887 1934 1935 1 nil nil nil nil nil nil nil nil # nil nil #29]) #("Build the image(Note the fullstop at the end):\n" 0 47 (:parent #39))) (fixed-width (:standard-properties [1935 1935 nil nil 1995 2 nil nil nil nil nil nil nil nil # nil nil #29] :value "sudo docker build -t genenetwork2:latest -f Dockerfile .")) (paragraph (:standard-properties [1995 1995 1995 2048 2049 1 nil nil nil nil nil nil nil nil # nil nil #29]) #("To load the image interactively you've just created:\n" 0 53 (:parent #41))) (fixed-width (:standard-properties [2049 2049 nil nil 2094 2 nil nil nil nil nil nil nil nil # nil nil #29] :value "docker run -ti \"genenetwork2:latest\" bash")) (paragraph (:standard-properties [2094 2094 2094 2180 2181 1 nil nil nil nil nil nil nil nil # nil nil #29]) #("Assuming you have a docker instance running, you could always run\ncommands in it e.g:\n" 0 86 (:parent #43))) (fixed-width (:standard-properties [2181 2181 nil nil 2234 2 nil nil nil nil nil nil nil nil # nil nil #29] :value "docker run \"genenetwork2:latest\" python --version")))) (headline (:standard-properties [2234 2234 2258 2857 2857 0 (:title) nil nil nil nil 2260 2855 1 # nil nil #20] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 22) t] :title (#("Pushing to DockerHub" 0 20 (:parent #27))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [2258 2258 2258 2857 2857 0 nil section nil nil nil 2258 2857 nil # nil nil #27]) (paragraph (:standard-properties [2258 2258 2258 2364 2365 1 nil planning nil nil nil nil nil nil # nil nil #30]) #("We use DockerHub to store the docker images from which we use on our\nCI environment using Github Actions.\n" 0 106 (:parent #33))) (paragraph (:standard-properties [2365 2365 2365 2486 2487 1 nil nil nil nil nil nil nil nil # nil nil #30]) #("To push to dockerhub, first get the image name by running " 0 58 (:parent #34)) (verbatim (:standard-properties [2423 nil nil nil 2438 0 nil nil nil nil nil nil nil nil # nil nil #34] :value [org-element-deferred org-element--substring (1 14) t])) #(". Push to dockerhub using a command similar to:\n" 0 48 (:parent #34))) (fixed-width (:standard-properties [2487 2487 nil nil 2534 2 nil nil nil nil nil nil nil nil # nil nil #30] :value "docker push bonfacekilz/genenetwork2:latest")) (paragraph (:standard-properties [2534 2534 2534 2576 2577 1 nil nil nil nil nil nil nil nil # nil nil #30]) #("Right now, we have 2 images on DockerHub:\n" 0 42 (:parent #36))) (plain-list (:standard-properties [2577 2577 2577 2857 2857 0 nil nil nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #30] :type unordered) (item (:standard-properties [2577 2577 2579 2741 2741 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #37] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2579 2579 2579 2741 2741 0 nil nil nil nil nil nil nil nil # nil nil #40]) (link (:standard-properties [2579 nil nil nil 2652 0 nil nil nil nil nil nil nil nil # nil nil #43] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python2 version of gn2. Don't use this. Please use the\n python3 image!\n" 0 89 (:parent #43)))) (item (:standard-properties [2741 2741 2743 2857 2857 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #37] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2743 2743 2743 2857 2857 0 nil nil nil nil nil nil nil nil # nil nil #41]) (link (:standard-properties [2743 nil nil nil 2816 0 nil nil nil nil nil nil nil nil # nil nil #44] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python3 version of gn2.\n" 0 41 (:parent #44))))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #15))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) #10)]) #5)] :type unordered) #0 (item (:standard-properties [147 147 149 209 209 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #5] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [149 149 149 209 209 0 nil nil nil nil nil nil nil nil # nil nil #9]) (link (:standard-properties [149 nil 180 206 208 0 nil nil nil nil nil nil nil nil # nil nil #12] :type "custom-id" :type-explicit-p nil :path "creating-the-docker-images" :format bracket :raw-link "#creating-the-docker-images" :application nil :search-option nil) #("Creating the Docker Images" 0 26 (:parent #15))) #("\n" 0 1 (:parent #12)))) (item (:standard-properties [209 209 211 259 259 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #5] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [211 211 211 259 259 0 nil nil nil nil nil nil nil nil # nil nil #10]) (link (:standard-properties [211 nil 236 256 258 0 nil nil nil nil nil nil nil nil # nil nil #13] :type "custom-id" :type-explicit-p nil :path "pushing-to-dockerhub" :format bracket :raw-link "#pushing-to-dockerhub" :application nil :search-option nil) #("Pushing to DockerHub" 0 20 (:parent #16))) #("\n" 0 1 (:parent #13)))))] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [115 115 115 147 147 0 nil nil nil nil nil nil nil nil # nil nil #0]) (link (:standard-properties [115 nil 132 144 146 0 nil nil nil nil nil nil nil nil # nil nil #3] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #6))) #("\n" 0 1 (:parent #3)))) (:export-options (body-only) :back-end #s(org-export-backend :name html :parent nil :transcoders ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :options ((:html-doctype "HTML_DOCTYPE" nil org-html-doctype) (:html-container "HTML_CONTAINER" nil org-html-container-element) (:html-content-class "HTML_CONTENT_CLASS" nil org-html-content-class) (:description "DESCRIPTION" nil nil newline) (:keywords "KEYWORDS" nil nil space) (:html-html5-fancy nil "html5-fancy" org-html-html5-fancy) (:html-link-use-abs-url nil "html-link-use-abs-url" org-html-link-use-abs-url) (:html-link-home "HTML_LINK_HOME" nil org-html-link-home) (:html-link-up "HTML_LINK_UP" nil org-html-link-up) (:html-mathjax "HTML_MATHJAX" nil "" space) (:html-equation-reference-format "HTML_EQUATION_REFERENCE_FORMAT" nil org-html-equation-reference-format t) (:html-postamble nil "html-postamble" org-html-postamble) (:html-preamble nil "html-preamble" org-html-preamble) (:html-head "HTML_HEAD" nil org-html-head newline) (:html-head-extra "HTML_HEAD_EXTRA" nil org-html-head-extra newline) (:subtitle "SUBTITLE" nil nil parse) (:html-head-include-default-style nil "html-style" org-html-head-include-default-style) (:html-head-include-scripts nil "html-scripts" org-html-head-include-scripts) (:html-allow-name-attribute-in-anchors nil nil org-html-allow-name-attribute-in-anchors) (:html-divs nil nil org-html-divs) (:html-checkbox-type nil nil org-html-checkbox-type) (:html-extension nil nil org-html-extension) (:html-footnote-format nil nil org-html-footnote-format) (:html-footnote-separator nil nil org-html-footnote-separator) (:html-footnotes-section nil nil org-html-footnotes-section) (:html-format-drawer-function nil nil org-html-format-drawer-function) (:html-format-headline-function nil nil org-html-format-headline-function) (:html-format-inlinetask-function nil nil org-html-format-inlinetask-function) (:html-home/up-format nil nil org-html-home/up-format) (:html-indent nil nil org-html-indent) (:html-infojs-options nil nil org-html-infojs-options) (:html-infojs-template nil nil org-html-infojs-template) (:html-inline-image-rules nil nil org-html-inline-image-rules) (:html-link-org-files-as-html nil nil org-html-link-org-files-as-html) (:html-mathjax-options nil nil org-html-mathjax-options) (:html-mathjax-template nil nil org-html-mathjax-template) (:html-metadata-timestamp-format nil nil org-html-metadata-timestamp-format) (:html-postamble-format nil nil org-html-postamble-format) (:html-preamble-format nil nil org-html-preamble-format) (:html-prefer-user-labels nil nil org-html-prefer-user-labels) (:html-self-link-headlines nil nil org-html-self-link-headlines) (:html-table-align-individual-fields nil nil org-html-table-align-individual-fields) (:html-table-caption-above nil nil org-html-table-caption-above) (:html-table-data-tags nil nil org-html-table-data-tags) (:html-table-header-tags nil nil org-html-table-header-tags) (:html-table-use-header-tags-for-first-column nil nil org-html-table-use-header-tags-for-first-column) (:html-tag-class-prefix nil nil org-html-tag-class-prefix) (:html-text-markup-alist nil nil org-html-text-markup-alist) (:html-todo-kwd-class-prefix nil nil org-html-todo-kwd-class-prefix) (:html-toplevel-hlevel nil nil org-html-toplevel-hlevel) (:html-use-infojs nil nil org-html-use-infojs) (:html-validation-link nil nil org-html-validation-link) (:html-viewport nil nil org-html-viewport) (:html-inline-images nil nil org-html-inline-images) (:html-table-attributes nil nil org-html-table-default-attributes) (:html-table-row-open-tag nil nil org-html-table-row-open-tag) (:html-table-row-close-tag nil nil org-html-table-row-close-tag) (:html-xml-declaration nil nil org-html-xml-declaration) (:html-wrap-src-lines nil nil org-html-wrap-src-lines) (:html-klipsify-src nil nil org-html-klipsify-src) (:html-klipse-css nil nil org-html-klipse-css) (:html-klipse-js nil nil org-html-klipse-js) (:html-klipse-selection-script nil nil org-html-klipse-selection-script) (:infojs-opt "INFOJS_OPT" nil nil) (:creator "CREATOR" nil org-html-creator-string) (:with-latex nil "tex" org-html-with-latex) (:latex-header "LATEX_HEADER" nil nil newline)) :filters ((:filter-options . org-html-infojs-install-script) (:filter-parse-tree . org-html-image-link-filter) (:filter-final-output . org-html-final-function)) :blocks nil :menu (104 "Export to HTML" ((72 "As HTML buffer" org-html-export-as-html) (104 "As HTML file" org-html-export-to-html) (111 "As HTML file and open" (lambda (a s v b) (if a (org-html-export-to-html t s v b) (org-open-file (org-html-export-to-html nil s v b)))))))) :translate-alist ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :exported-data # :input-buffer " *temp*" :input-file nil :html-doctype "xhtml-strict" :html-container "div" :html-content-class "content" :description nil :keywords nil :html-html5-fancy nil :html-link-use-abs-url nil :html-link-home "" :html-link-up "" :html-mathjax "" :html-equation-reference-format "\\eqref{%s}" :html-postamble auto :html-preamble t :html-head "" :html-head-extra "" :subtitle nil :html-head-include-default-style t :html-head-include-scripts nil :html-allow-name-attribute-in-anchors nil :html-divs ((preamble "div" "preamble") (content "div" "content") (postamble "div" "postamble")) :html-checkbox-type ascii :html-extension "html" :html-footnote-format "%s" :html-footnote-separator ", " :html-footnotes-section "
\n

%s:

\n
\n%s\n
\n
" :html-format-drawer-function #f(compiled-function (name contents) #) :html-format-headline-function org-html-format-headline-default-function :html-format-inlinetask-function org-html-format-inlinetask-default-function :html-home/up-format "
\n UP \n |\n HOME \n
" :html-indent nil :html-infojs-options ((path . "https://orgmode.org/org-info.js") (view . "info") (toc . :with-toc) (ftoc . "0") (tdepth . "max") (sdepth . "max") (mouse . "underline") (buttons . "0") (ltoc . "1") (up . :html-link-up) (home . :html-link-home)) :html-infojs-template "\n\n" :html-inline-image-rules (("file" . "\\(?:\\.\\(?:avif\\|gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("http" . "\\(?:\\.\\(?:avif\\|gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("https" . "\\(?:\\.\\(?:avif\\|gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)")) :html-link-org-files-as-html t :html-mathjax-options ((path "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js") (scale 1.0) (align "center") (font "mathjax-modern") (overflow "overflow") (tags "ams") (indent "0em") (multlinewidth "85%") (tagindent ".8em") (tagside "right")) :html-mathjax-template "\n\n\n" :html-metadata-timestamp-format "%Y-%m-%d %a %H:%M" :html-postamble-format (("en" "

Author: %a (%e)

\n

Date: %d

\n

%c

\n

%v

")) :html-preamble-format (("en" "")) :html-prefer-user-labels nil :html-self-link-headlines nil :html-table-align-individual-fields t :html-table-caption-above t :html-table-data-tags ("" . "") :html-table-header-tags ("" . "") :html-table-use-header-tags-for-first-column nil :html-tag-class-prefix "" :html-text-markup-alist ((bold . "%s") (code . "%s") (italic . "%s") (strike-through . "%s") (underline . "%s") (verbatim . "%s")) :html-todo-kwd-class-prefix "" :html-toplevel-hlevel 2 :html-use-infojs when-configured :html-validation-link "Validate" :html-viewport ((width "device-width") (initial-scale "1") (minimum-scale "") (maximum-scale "") (user-scalable "")) :html-inline-images t :html-table-attributes (:border "2" :cellspacing "0" :cellpadding "6" :rules "groups" :frame "hsides") :html-table-row-open-tag "" :html-table-row-close-tag "" :html-xml-declaration (("html" . "") ("php" . "\"; ?>")) :html-wrap-src-lines nil :html-klipsify-src nil :html-klipse-css "https://storage.googleapis.com/app.klipse.tech/css/codemirror.css" :html-klipse-js "https://storage.googleapis.com/app.klipse.tech/plugin_prod/js/klipse_plugin.min.js" :html-klipse-selection-script "window.klipse_settings = {selector_eval_html: '.src-html',\n selector_eval_js: '.src-js',\n selector_eval_python_client: '.src-python',\n selector_eval_scheme: '.src-scheme',\n selector: '.src-clojure',\n selector_eval_ruby: '.src-ruby'};" :infojs-opt nil :creator "Emacs 30.2 (Org mode 9.7.11)" :with-latex t :latex-header nil :title (#("Genenetwork2 Dockerized" 0 23 (:parent #148))) :date nil :author (#("unknown" 0 7 (:parent #152))) :email "unknown@genenetwork-development" :language "en" :select-tags ("export") :exclude-tags ("noexport") :headline-levels 3 :preserve-breaks nil :section-numbers nil :time-stamp-file t :with-archived-trees headline :with-author t :expand-links t :with-broken-links nil :with-clocks nil :with-creator nil :with-date t :with-drawers (not "LOGBOOK") :with-email nil :with-emphasize t :with-entities t :with-fixed-width t :with-footnotes t :with-inlinetasks t :with-planning nil :with-priority nil :with-properties nil :with-smart-quotes nil :with-special-strings t :with-special-rows nil :with-statistics-cookies t :with-sub-superscript t :with-toc nil :with-tables t :with-tags t :with-tasks t :with-timestamps t :with-title t :with-todo-keywords t :with-cite-processors t :cite-export (basic nil nil) :bibliography nil :filter-body nil :filter-bold nil :filter-babel-call nil :filter-center-block nil :filter-clock nil :filter-code nil :filter-diary-sexp nil :filter-drawer nil :filter-dynamic-block nil :filter-entity nil :filter-example-block nil :filter-export-block nil :filter-export-snippet nil :filter-final-output (org-html-final-function) :filter-fixed-width nil :filter-footnote-definition nil :filter-footnote-reference nil :filter-headline nil :filter-horizontal-rule nil :filter-inline-babel-call nil :filter-inline-src-block nil :filter-inlinetask nil :filter-italic nil :filter-item nil :filter-keyword nil :filter-latex-environment nil :filter-latex-fragment nil :filter-line-break nil :filter-link nil :filter-node-property nil :filter-options (org-html-infojs-install-script) :filter-paragraph nil :filter-parse-tree (org-html-image-link-filter) :filter-plain-list nil :filter-plain-text nil :filter-planning nil :filter-property-drawer nil :filter-quote-block nil :filter-radio-target nil :filter-section nil :filter-special-block nil :filter-src-block nil :filter-statistics-cookie nil :filter-strike-through nil :filter-subscript nil :filter-superscript nil :filter-table nil :filter-table-cell nil :filter-table-row nil :filter-target nil :filter-timestamp nil :filter-underline nil :filter-verbatim nil :filter-verse-block nil :ignore-list nil :parse-tree (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 35 35 0 nil first-section nil nil nil 1 35 nil # nil nil #344]) (keyword (:standard-properties [1 1 nil nil 35 1 nil top-comment nil nil nil nil nil nil # nil nil #347] :key "TITLE" :value "Genenetwork2 Dockerized"))) (headline (:standard-properties [35 35 113 260 260 0 (:title) nil nil nil nil 115 258 1 # nil nil #344] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #348))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [113 113 113 260 260 0 nil section nil nil nil 113 260 nil # nil nil #348]) (plain-list (:standard-properties [113 113 113 259 260 1 nil planning nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #351] :type unordered) (item (:standard-properties [113 113 115 147 147 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #354] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [115 115 115 147 147 0 nil nil nil nil nil nil nil nil # nil nil #357]) (link (:standard-properties [115 nil 132 144 146 0 nil nil nil nil nil nil nil nil # nil nil #360] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #363))) #("\n" 0 1 (:parent #360)))) (item (:standard-properties [147 147 149 209 209 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #354] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [149 149 149 209 209 0 nil nil nil nil nil nil nil nil # nil nil #358]) (link (:standard-properties [149 nil 180 206 208 0 nil nil nil nil nil nil nil nil # nil nil #361] :type "custom-id" :type-explicit-p nil :path "creating-the-docker-images" :format bracket :raw-link "#creating-the-docker-images" :application nil :search-option nil) #("Creating the Docker Images" 0 26 (:parent #364))) #("\n" 0 1 (:parent #361)))) (item (:standard-properties [209 209 211 259 259 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #354] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [211 211 211 259 259 0 nil nil nil nil nil nil nil nil # nil nil #359]) (link (:standard-properties [211 nil 236 256 258 0 nil nil nil nil nil nil nil nil # nil nil #362] :type "custom-id" :type-explicit-p nil :path "pushing-to-dockerhub" :format bracket :raw-link "#pushing-to-dockerhub" :application nil :search-option nil) #("Pushing to DockerHub" 0 20 (:parent #365))) #("\n" 0 1 (:parent #362))))))) (headline (:standard-properties [260 260 276 926 926 0 (:title) nil nil nil nil 278 924 1 # nil nil #344] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #349))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [276 276 276 926 926 0 nil section nil nil nil 276 926 nil # nil nil #349]) (paragraph (:standard-properties [276 276 276 599 600 1 nil planning nil nil nil nil nil nil # nil nil #352]) #("The CI(Continuous Integration) system for Genenetwork2 uses " 0 60 (:parent #355)) (link (:standard-properties [336 nil 375 389 391 0 nil nil nil nil nil nil nil nil # nil nil #355] :type "https" :type-explicit-p t :path "//github.com/features/actions" :format bracket :raw-link "https://github.com/features/actions" :application nil :search-option nil) #("Github\nActions" 0 14 (:parent #359))) #(". As such, it's important to have a way to run tests using\nfacilities provided by GUIX in a reproducible way. This project\nleverages GUIX to generate a docker container from which the unittests\nare ran from.\n" 0 208 (:parent #355))) (paragraph (:standard-properties [600 600 600 829 830 1 nil nil nil nil nil nil nil nil # nil nil #352]) #("Find instructions on how to set docker up inside GUIX " 0 54 (:parent #356)) (link (:standard-properties [654 nil 732 736 738 0 nil nil nil nil nil nil nil nil # nil nil #356] :type "https" :type-explicit-p t :path "//github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :application nil :search-option nil) #("here" 0 4 (:parent #360))) #(". This\ndocument will not get into that. It's assumed that you have a working\ndocker setup.\n" 0 91 (:parent #356))) (paragraph (:standard-properties [830 830 830 925 926 1 nil nil nil nil nil nil nil nil # nil nil #352]) #("The rest of this document outlines how the docker container used in\nthe CI builds was created.\n" 0 95 (:parent #357))))) (headline (:standard-properties [926 926 956 2234 2234 0 (:title) nil nil nil nil 958 2232 1 # nil nil #344] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 28) t] :title (#("Creating the Docker Images" 0 26 (:parent #350))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [956 956 956 2234 2234 0 nil section nil nil nil 956 2234 nil # nil nil #350]) (paragraph (:standard-properties [956 956 956 1070 1071 1 nil planning nil nil nil nil nil nil # nil nil #353]) #("The general idea is that GUIX is used to generate a set of binaries,\nwhich will be added to a base mariaDB image.\n" 0 114 (:parent #356))) (paragraph (:standard-properties [1071 1071 1071 1116 1117 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("First create the gn2 tar archive by running:\n" 0 45 (:parent #357))) (src-block (:standard-properties [1117 1117 nil nil 1343 1 nil nil nil nil nil nil nil nil # nil nil #353] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 215) t])) (paragraph (:standard-properties [1343 1343 1343 1386 1387 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("The output will look something similar to:\n" 0 43 (:parent #359))) (fixed-width (:standard-properties [1387 1387 nil nil 1454 2 nil nil nil nil nil nil nil nil # nil nil #353] :value "/gnu/store/x3m77vwaqcwba24p5s4lrb7w2ii16lj9-tarball-pack.tar.gz")) (paragraph (:standard-properties [1454 1454 1454 1639 1640 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("Now create a folder from which will host the following dockerfile. You\ncan name this file Dockerfile. Note that mariadb is the base image\nsince it already has mariadb installed for us.\n" 0 185 (:parent #361))) (src-block (:standard-properties [1640 1640 nil nil 1887 1 nil nil nil nil nil nil nil nil # nil nil #353] :language "conf" :switches nil :parameters ":mkdirp yes :tangle ~/docker/Dockerfile" :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (57 236) t])) (paragraph (:standard-properties [1887 1887 1887 1934 1935 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("Build the image(Note the fullstop at the end):\n" 0 47 (:parent #363))) (fixed-width (:standard-properties [1935 1935 nil nil 1995 2 nil nil nil nil nil nil nil nil # nil nil #353] :value "sudo docker build -t genenetwork2:latest -f Dockerfile .")) (paragraph (:standard-properties [1995 1995 1995 2048 2049 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("To load the image interactively you've just created:\n" 0 53 (:parent #365))) (fixed-width (:standard-properties [2049 2049 nil nil 2094 2 nil nil nil nil nil nil nil nil # nil nil #353] :value "docker run -ti \"genenetwork2:latest\" bash")) (paragraph (:standard-properties [2094 2094 2094 2180 2181 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("Assuming you have a docker instance running, you could always run\ncommands in it e.g:\n" 0 86 (:parent #367))) (fixed-width (:standard-properties [2181 2181 nil nil 2234 2 nil nil nil nil nil nil nil nil # nil nil #353] :value "docker run \"genenetwork2:latest\" python --version")))) (headline (:standard-properties [2234 2234 2258 2857 2857 0 (:title) nil nil nil nil 2260 2855 1 # nil nil #344] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 22) t] :title (#("Pushing to DockerHub" 0 20 (:parent #351))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [2258 2258 2258 2857 2857 0 nil section nil nil nil 2258 2857 nil # nil nil #351]) (paragraph (:standard-properties [2258 2258 2258 2364 2365 1 nil planning nil nil nil nil nil nil # nil nil #354]) #("We use DockerHub to store the docker images from which we use on our\nCI environment using Github Actions.\n" 0 106 (:parent #357))) (paragraph (:standard-properties [2365 2365 2365 2486 2487 1 nil nil nil nil nil nil nil nil # nil nil #354]) #("To push to dockerhub, first get the image name by running " 0 58 (:parent #358)) (verbatim (:standard-properties [2423 nil nil nil 2438 0 nil nil nil nil nil nil nil nil # nil nil #358] :value [org-element-deferred org-element--substring (1 14) t])) #(". Push to dockerhub using a command similar to:\n" 0 48 (:parent #358))) (fixed-width (:standard-properties [2487 2487 nil nil 2534 2 nil nil nil nil nil nil nil nil # nil nil #354] :value "docker push bonfacekilz/genenetwork2:latest")) (paragraph (:standard-properties [2534 2534 2534 2576 2577 1 nil nil nil nil nil nil nil nil # nil nil #354]) #("Right now, we have 2 images on DockerHub:\n" 0 42 (:parent #360))) (plain-list (:standard-properties [2577 2577 2577 2857 2857 0 nil nil nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #354] :type unordered) (item (:standard-properties [2577 2577 2579 2741 2741 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #361] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2579 2579 2579 2741 2741 0 nil nil nil nil nil nil nil nil # nil nil #364]) (link (:standard-properties [2579 nil nil nil 2652 0 nil nil nil nil nil nil nil nil # nil nil #367] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python2 version of gn2. Don't use this. Please use the\n python3 image!\n" 0 89 (:parent #367)))) (item (:standard-properties [2741 2741 2743 2857 2857 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #361] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2743 2743 2743 2857 2857 0 nil nil nil nil nil nil nil nil # nil nil #365]) (link (:standard-properties [2743 nil nil nil 2816 0 nil nil nil nil nil nil nil nil # nil nil #368] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python3 version of gn2.\n" 0 41 (:parent #368)))))))) :headline-offset 0 :headline-numbering nil :id-alist nil :citations nil :id-local-cache #)) #f(compiled-function (element) #)((item (:standard-properties [113 113 115 147 147 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) (plain-list (:standard-properties [113 113 113 259 260 1 nil planning nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) (section (:standard-properties [113 113 113 260 260 0 nil section nil nil nil 113 260 nil # nil nil (headline (:standard-properties [35 35 113 260 260 0 (:title) nil nil nil nil 115 258 1 # nil nil (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 35 35 0 nil first-section nil nil nil 1 35 nil # nil nil #20]) (keyword (:standard-properties [1 1 nil nil 35 1 nil top-comment nil nil nil nil nil nil # nil nil #23] :key "TITLE" :value "Genenetwork2 Dockerized"))) #15 (headline (:standard-properties [260 260 276 926 926 0 (:title) nil nil nil nil 278 924 1 # nil nil #20] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #25))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [276 276 276 926 926 0 nil section nil nil nil 276 926 nil # nil nil #25]) (paragraph (:standard-properties [276 276 276 599 600 1 nil planning nil nil nil nil nil nil # nil nil #28]) #("The CI(Continuous Integration) system for Genenetwork2 uses " 0 60 (:parent #31)) (link (:standard-properties [336 nil 375 389 391 0 nil nil nil nil nil nil nil nil # nil nil #31] :type "https" :type-explicit-p t :path "//github.com/features/actions" :format bracket :raw-link "https://github.com/features/actions" :application nil :search-option nil) #("Github\nActions" 0 14 (:parent #35))) #(". As such, it's important to have a way to run tests using\nfacilities provided by GUIX in a reproducible way. This project\nleverages GUIX to generate a docker container from which the unittests\nare ran from.\n" 0 208 (:parent #31))) (paragraph (:standard-properties [600 600 600 829 830 1 nil nil nil nil nil nil nil nil # nil nil #28]) #("Find instructions on how to set docker up inside GUIX " 0 54 (:parent #32)) (link (:standard-properties [654 nil 732 736 738 0 nil nil nil nil nil nil nil nil # nil nil #32] :type "https" :type-explicit-p t :path "//github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :application nil :search-option nil) #("here" 0 4 (:parent #36))) #(". This\ndocument will not get into that. It's assumed that you have a working\ndocker setup.\n" 0 91 (:parent #32))) (paragraph (:standard-properties [830 830 830 925 926 1 nil nil nil nil nil nil nil nil # nil nil #28]) #("The rest of this document outlines how the docker container used in\nthe CI builds was created.\n" 0 95 (:parent #33))))) (headline (:standard-properties [926 926 956 2234 2234 0 (:title) nil nil nil nil 958 2232 1 # nil nil #20] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 28) t] :title (#("Creating the Docker Images" 0 26 (:parent #26))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [956 956 956 2234 2234 0 nil section nil nil nil 956 2234 nil # nil nil #26]) (paragraph (:standard-properties [956 956 956 1070 1071 1 nil planning nil nil nil nil nil nil # nil nil #29]) #("The general idea is that GUIX is used to generate a set of binaries,\nwhich will be added to a base mariaDB image.\n" 0 114 (:parent #32))) (paragraph (:standard-properties [1071 1071 1071 1116 1117 1 nil nil nil nil nil nil nil nil # nil nil #29]) #("First create the gn2 tar archive by running:\n" 0 45 (:parent #33))) (src-block (:standard-properties [1117 1117 nil nil 1343 1 nil nil nil nil nil nil nil nil # nil nil #29] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 215) t])) (paragraph (:standard-properties [1343 1343 1343 1386 1387 1 nil nil nil nil nil nil nil nil # nil nil #29]) #("The output will look something similar to:\n" 0 43 (:parent #35))) (fixed-width (:standard-properties [1387 1387 nil nil 1454 2 nil nil nil nil nil nil nil nil # nil nil #29] :value "/gnu/store/x3m77vwaqcwba24p5s4lrb7w2ii16lj9-tarball-pack.tar.gz")) (paragraph (:standard-properties [1454 1454 1454 1639 1640 1 nil nil nil nil nil nil nil nil # nil nil #29]) #("Now create a folder from which will host the following dockerfile. You\ncan name this file Dockerfile. Note that mariadb is the base image\nsince it already has mariadb installed for us.\n" 0 185 (:parent #37))) (src-block (:standard-properties [1640 1640 nil nil 1887 1 nil nil nil nil nil nil nil nil # nil nil #29] :language "conf" :switches nil :parameters ":mkdirp yes :tangle ~/docker/Dockerfile" :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (57 236) t])) (paragraph (:standard-properties [1887 1887 1887 1934 1935 1 nil nil nil nil nil nil nil nil # nil nil #29]) #("Build the image(Note the fullstop at the end):\n" 0 47 (:parent #39))) (fixed-width (:standard-properties [1935 1935 nil nil 1995 2 nil nil nil nil nil nil nil nil # nil nil #29] :value "sudo docker build -t genenetwork2:latest -f Dockerfile .")) (paragraph (:standard-properties [1995 1995 1995 2048 2049 1 nil nil nil nil nil nil nil nil # nil nil #29]) #("To load the image interactively you've just created:\n" 0 53 (:parent #41))) (fixed-width (:standard-properties [2049 2049 nil nil 2094 2 nil nil nil nil nil nil nil nil # nil nil #29] :value "docker run -ti \"genenetwork2:latest\" bash")) (paragraph (:standard-properties [2094 2094 2094 2180 2181 1 nil nil nil nil nil nil nil nil # nil nil #29]) #("Assuming you have a docker instance running, you could always run\ncommands in it e.g:\n" 0 86 (:parent #43))) (fixed-width (:standard-properties [2181 2181 nil nil 2234 2 nil nil nil nil nil nil nil nil # nil nil #29] :value "docker run \"genenetwork2:latest\" python --version")))) (headline (:standard-properties [2234 2234 2258 2857 2857 0 (:title) nil nil nil nil 2260 2855 1 # nil nil #20] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 22) t] :title (#("Pushing to DockerHub" 0 20 (:parent #27))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [2258 2258 2258 2857 2857 0 nil section nil nil nil 2258 2857 nil # nil nil #27]) (paragraph (:standard-properties [2258 2258 2258 2364 2365 1 nil planning nil nil nil nil nil nil # nil nil #30]) #("We use DockerHub to store the docker images from which we use on our\nCI environment using Github Actions.\n" 0 106 (:parent #33))) (paragraph (:standard-properties [2365 2365 2365 2486 2487 1 nil nil nil nil nil nil nil nil # nil nil #30]) #("To push to dockerhub, first get the image name by running " 0 58 (:parent #34)) (verbatim (:standard-properties [2423 nil nil nil 2438 0 nil nil nil nil nil nil nil nil # nil nil #34] :value [org-element-deferred org-element--substring (1 14) t])) #(". Push to dockerhub using a command similar to:\n" 0 48 (:parent #34))) (fixed-width (:standard-properties [2487 2487 nil nil 2534 2 nil nil nil nil nil nil nil nil # nil nil #30] :value "docker push bonfacekilz/genenetwork2:latest")) (paragraph (:standard-properties [2534 2534 2534 2576 2577 1 nil nil nil nil nil nil nil nil # nil nil #30]) #("Right now, we have 2 images on DockerHub:\n" 0 42 (:parent #36))) (plain-list (:standard-properties [2577 2577 2577 2857 2857 0 nil nil nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #30] :type unordered) (item (:standard-properties [2577 2577 2579 2741 2741 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #37] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2579 2579 2579 2741 2741 0 nil nil nil nil nil nil nil nil # nil nil #40]) (link (:standard-properties [2579 nil nil nil 2652 0 nil nil nil nil nil nil nil nil # nil nil #43] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python2 version of gn2. Don't use this. Please use the\n python3 image!\n" 0 89 (:parent #43)))) (item (:standard-properties [2741 2741 2743 2857 2857 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #37] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2743 2743 2743 2857 2857 0 nil nil nil nil nil nil nil nil # nil nil #41]) (link (:standard-properties [2743 nil nil nil 2816 0 nil nil nil nil nil nil nil nil # nil nil #44] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python3 version of gn2.\n" 0 41 (:parent #44))))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #15))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) #10)]) #5)] :type unordered) #0 (item (:standard-properties [147 147 149 209 209 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #5] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [149 149 149 209 209 0 nil nil nil nil nil nil nil nil # nil nil #9]) (link (:standard-properties [149 nil 180 206 208 0 nil nil nil nil nil nil nil nil # nil nil #12] :type "custom-id" :type-explicit-p nil :path "creating-the-docker-images" :format bracket :raw-link "#creating-the-docker-images" :application nil :search-option nil) #("Creating the Docker Images" 0 26 (:parent #15))) #("\n" 0 1 (:parent #12)))) (item (:standard-properties [209 209 211 259 259 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #5] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [211 211 211 259 259 0 nil nil nil nil nil nil nil nil # nil nil #10]) (link (:standard-properties [211 nil 236 256 258 0 nil nil nil nil nil nil nil nil # nil nil #13] :type "custom-id" :type-explicit-p nil :path "pushing-to-dockerhub" :format bracket :raw-link "#pushing-to-dockerhub" :application nil :search-option nil) #("Pushing to DockerHub" 0 20 (:parent #16))) #("\n" 0 1 (:parent #13)))))] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [115 115 115 147 147 0 nil nil nil nil nil nil nil nil # nil nil #0]) (link (:standard-properties [115 nil 132 144 146 0 nil nil nil nil nil nil nil nil # nil nil #3] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #6))) #("\n" 0 1 (:parent #3))))) mapconcat(#f(compiled-function (element) #) ((item (:standard-properties [113 113 115 147 147 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) (plain-list (:standard-properties [113 113 113 259 260 1 nil planning nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) (section (:standard-properties [113 113 113 260 260 0 nil section nil nil nil 113 260 nil # nil nil (headline (:standard-properties [35 35 113 260 260 0 (:title) nil nil nil nil 115 258 1 # nil nil (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 35 35 0 nil first-section nil nil nil 1 35 nil # nil nil #21]) (keyword (:standard-properties [1 1 nil nil 35 1 nil top-comment nil nil nil nil nil nil # nil nil #24] :key "TITLE" :value "Genenetwork2 Dockerized"))) #16 (headline (:standard-properties [260 260 276 926 926 0 (:title) nil nil nil nil 278 924 1 # nil nil #21] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #26))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [276 276 276 926 926 0 nil section nil nil nil 276 926 nil # nil nil #26]) (paragraph (:standard-properties [276 276 276 599 600 1 nil planning nil nil nil nil nil nil # nil nil #29]) #("The CI(Continuous Integration) system for Genenetwork2 uses " 0 60 (:parent #32)) (link (:standard-properties [336 nil 375 389 391 0 nil nil nil nil nil nil nil nil # nil nil #32] :type "https" :type-explicit-p t :path "//github.com/features/actions" :format bracket :raw-link "https://github.com/features/actions" :application nil :search-option nil) #("Github\nActions" 0 14 (:parent #36))) #(". As such, it's important to have a way to run tests using\nfacilities provided by GUIX in a reproducible way. This project\nleverages GUIX to generate a docker container from which the unittests\nare ran from.\n" 0 208 (:parent #32))) (paragraph (:standard-properties [600 600 600 829 830 1 nil nil nil nil nil nil nil nil # nil nil #29]) #("Find instructions on how to set docker up inside GUIX " 0 54 (:parent #33)) (link (:standard-properties [654 nil 732 736 738 0 nil nil nil nil nil nil nil nil # nil nil #33] :type "https" :type-explicit-p t :path "//github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :application nil :search-option nil) #("here" 0 4 (:parent #37))) #(". This\ndocument will not get into that. It's assumed that you have a working\ndocker setup.\n" 0 91 (:parent #33))) (paragraph (:standard-properties [830 830 830 925 926 1 nil nil nil nil nil nil nil nil # nil nil #29]) #("The rest of this document outlines how the docker container used in\nthe CI builds was created.\n" 0 95 (:parent #34))))) (headline (:standard-properties [926 926 956 2234 2234 0 (:title) nil nil nil nil 958 2232 1 # nil nil #21] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 28) t] :title (#("Creating the Docker Images" 0 26 (:parent #27))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [956 956 956 2234 2234 0 nil section nil nil nil 956 2234 nil # nil nil #27]) (paragraph (:standard-properties [956 956 956 1070 1071 1 nil planning nil nil nil nil nil nil # nil nil #30]) #("The general idea is that GUIX is used to generate a set of binaries,\nwhich will be added to a base mariaDB image.\n" 0 114 (:parent #33))) (paragraph (:standard-properties [1071 1071 1071 1116 1117 1 nil nil nil nil nil nil nil nil # nil nil #30]) #("First create the gn2 tar archive by running:\n" 0 45 (:parent #34))) (src-block (:standard-properties [1117 1117 nil nil 1343 1 nil nil nil nil nil nil nil nil # nil nil #30] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 215) t])) (paragraph (:standard-properties [1343 1343 1343 1386 1387 1 nil nil nil nil nil nil nil nil # nil nil #30]) #("The output will look something similar to:\n" 0 43 (:parent #36))) (fixed-width (:standard-properties [1387 1387 nil nil 1454 2 nil nil nil nil nil nil nil nil # nil nil #30] :value "/gnu/store/x3m77vwaqcwba24p5s4lrb7w2ii16lj9-tarball-pack.tar.gz")) (paragraph (:standard-properties [1454 1454 1454 1639 1640 1 nil nil nil nil nil nil nil nil # nil nil #30]) #("Now create a folder from which will host the following dockerfile. You\ncan name this file Dockerfile. Note that mariadb is the base image\nsince it already has mariadb installed for us.\n" 0 185 (:parent #38))) (src-block (:standard-properties [1640 1640 nil nil 1887 1 nil nil nil nil nil nil nil nil # nil nil #30] :language "conf" :switches nil :parameters ":mkdirp yes :tangle ~/docker/Dockerfile" :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (57 236) t])) (paragraph (:standard-properties [1887 1887 1887 1934 1935 1 nil nil nil nil nil nil nil nil # nil nil #30]) #("Build the image(Note the fullstop at the end):\n" 0 47 (:parent #40))) (fixed-width (:standard-properties [1935 1935 nil nil 1995 2 nil nil nil nil nil nil nil nil # nil nil #30] :value "sudo docker build -t genenetwork2:latest -f Dockerfile .")) (paragraph (:standard-properties [1995 1995 1995 2048 2049 1 nil nil nil nil nil nil nil nil # nil nil #30]) #("To load the image interactively you've just created:\n" 0 53 (:parent #42))) (fixed-width (:standard-properties [2049 2049 nil nil 2094 2 nil nil nil nil nil nil nil nil # nil nil #30] :value "docker run -ti \"genenetwork2:latest\" bash")) (paragraph (:standard-properties [2094 2094 2094 2180 2181 1 nil nil nil nil nil nil nil nil # nil nil #30]) #("Assuming you have a docker instance running, you could always run\ncommands in it e.g:\n" 0 86 (:parent #44))) (fixed-width (:standard-properties [2181 2181 nil nil 2234 2 nil nil nil nil nil nil nil nil # nil nil #30] :value "docker run \"genenetwork2:latest\" python --version")))) (headline (:standard-properties [2234 2234 2258 2857 2857 0 (:title) nil nil nil nil 2260 2855 1 # nil nil #21] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 22) t] :title (#("Pushing to DockerHub" 0 20 (:parent #28))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [2258 2258 2258 2857 2857 0 nil section nil nil nil 2258 2857 nil # nil nil #28]) (paragraph (:standard-properties [2258 2258 2258 2364 2365 1 nil planning nil nil nil nil nil nil # nil nil #31]) #("We use DockerHub to store the docker images from which we use on our\nCI environment using Github Actions.\n" 0 106 (:parent #34))) (paragraph (:standard-properties [2365 2365 2365 2486 2487 1 nil nil nil nil nil nil nil nil # nil nil #31]) #("To push to dockerhub, first get the image name by running " 0 58 (:parent #35)) (verbatim (:standard-properties [2423 nil nil nil 2438 0 nil nil nil nil nil nil nil nil # nil nil #35] :value [org-element-deferred org-element--substring (1 14) t])) #(". Push to dockerhub using a command similar to:\n" 0 48 (:parent #35))) (fixed-width (:standard-properties [2487 2487 nil nil 2534 2 nil nil nil nil nil nil nil nil # nil nil #31] :value "docker push bonfacekilz/genenetwork2:latest")) (paragraph (:standard-properties [2534 2534 2534 2576 2577 1 nil nil nil nil nil nil nil nil # nil nil #31]) #("Right now, we have 2 images on DockerHub:\n" 0 42 (:parent #37))) (plain-list (:standard-properties [2577 2577 2577 2857 2857 0 nil nil nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #31] :type unordered) (item (:standard-properties [2577 2577 2579 2741 2741 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #38] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2579 2579 2579 2741 2741 0 nil nil nil nil nil nil nil nil # nil nil #41]) (link (:standard-properties [2579 nil nil nil 2652 0 nil nil nil nil nil nil nil nil # nil nil #44] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python2 version of gn2. Don't use this. Please use the\n python3 image!\n" 0 89 (:parent #44)))) (item (:standard-properties [2741 2741 2743 2857 2857 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #38] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2743 2743 2743 2857 2857 0 nil nil nil nil nil nil nil nil # nil nil #42]) (link (:standard-properties [2743 nil nil nil 2816 0 nil nil nil nil nil nil nil nil # nil nil #45] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python3 version of gn2.\n" 0 41 (:parent #45))))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #16))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) #11)]) #6)] :type unordered) . #0)] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [115 115 115 147 147 0 nil nil nil nil nil nil nil nil # nil nil #1]) (link (:standard-properties [115 nil 132 144 146 0 nil nil nil nil nil nil nil nil # nil nil #4] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #7))) #("\n" 0 1 (:parent #4)))) (item (:standard-properties [147 147 149 209 209 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) (plain-list (:standard-properties [113 113 113 259 260 1 nil planning nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) (section (:standard-properties [113 113 113 260 260 0 nil section nil nil nil 113 260 nil # nil nil (headline (:standard-properties [35 35 113 260 260 0 (:title) nil nil nil nil 115 258 1 # nil nil (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 35 35 0 nil first-section nil nil nil 1 35 nil # nil nil #22]) (keyword (:standard-properties [1 1 nil nil 35 1 nil top-comment nil nil nil nil nil nil # nil nil #25] :key "TITLE" :value "Genenetwork2 Dockerized"))) #17 (headline (:standard-properties [260 260 276 926 926 0 (:title) nil nil nil nil 278 924 1 # nil nil #22] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #27))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [276 276 276 926 926 0 nil section nil nil nil 276 926 nil # nil nil #27]) (paragraph (:standard-properties [276 276 276 599 600 1 nil planning nil nil nil nil nil nil # nil nil #30]) #("The CI(Continuous Integration) system for Genenetwork2 uses " 0 60 (:parent #33)) (link (:standard-properties [336 nil 375 389 391 0 nil nil nil nil nil nil nil nil # nil nil #33] :type "https" :type-explicit-p t :path "//github.com/features/actions" :format bracket :raw-link "https://github.com/features/actions" :application nil :search-option nil) #("Github\nActions" 0 14 (:parent #37))) #(". As such, it's important to have a way to run tests using\nfacilities provided by GUIX in a reproducible way. This project\nleverages GUIX to generate a docker container from which the unittests\nare ran from.\n" 0 208 (:parent #33))) (paragraph (:standard-properties [600 600 600 829 830 1 nil nil nil nil nil nil nil nil # nil nil #30]) #("Find instructions on how to set docker up inside GUIX " 0 54 (:parent #34)) (link (:standard-properties [654 nil 732 736 738 0 nil nil nil nil nil nil nil nil # nil nil #34] :type "https" :type-explicit-p t :path "//github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :application nil :search-option nil) #("here" 0 4 (:parent #38))) #(". This\ndocument will not get into that. It's assumed that you have a working\ndocker setup.\n" 0 91 (:parent #34))) (paragraph (:standard-properties [830 830 830 925 926 1 nil nil nil nil nil nil nil nil # nil nil #30]) #("The rest of this document outlines how the docker container used in\nthe CI builds was created.\n" 0 95 (:parent #35))))) (headline (:standard-properties [926 926 956 2234 2234 0 (:title) nil nil nil nil 958 2232 1 # nil nil #22] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 28) t] :title (#("Creating the Docker Images" 0 26 (:parent #28))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [956 956 956 2234 2234 0 nil section nil nil nil 956 2234 nil # nil nil #28]) (paragraph (:standard-properties [956 956 956 1070 1071 1 nil planning nil nil nil nil nil nil # nil nil #31]) #("The general idea is that GUIX is used to generate a set of binaries,\nwhich will be added to a base mariaDB image.\n" 0 114 (:parent #34))) (paragraph (:standard-properties [1071 1071 1071 1116 1117 1 nil nil nil nil nil nil nil nil # nil nil #31]) #("First create the gn2 tar archive by running:\n" 0 45 (:parent #35))) (src-block (:standard-properties [1117 1117 nil nil 1343 1 nil nil nil nil nil nil nil nil # nil nil #31] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 215) t])) (paragraph (:standard-properties [1343 1343 1343 1386 1387 1 nil nil nil nil nil nil nil nil # nil nil #31]) #("The output will look something similar to:\n" 0 43 (:parent #37))) (fixed-width (:standard-properties [1387 1387 nil nil 1454 2 nil nil nil nil nil nil nil nil # nil nil #31] :value "/gnu/store/x3m77vwaqcwba24p5s4lrb7w2ii16lj9-tarball-pack.tar.gz")) (paragraph (:standard-properties [1454 1454 1454 1639 1640 1 nil nil nil nil nil nil nil nil # nil nil #31]) #("Now create a folder from which will host the following dockerfile. You\ncan name this file Dockerfile. Note that mariadb is the base image\nsince it already has mariadb installed for us.\n" 0 185 (:parent #39))) (src-block (:standard-properties [1640 1640 nil nil 1887 1 nil nil nil nil nil nil nil nil # nil nil #31] :language "conf" :switches nil :parameters ":mkdirp yes :tangle ~/docker/Dockerfile" :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (57 236) t])) (paragraph (:standard-properties [1887 1887 1887 1934 1935 1 nil nil nil nil nil nil nil nil # nil nil #31]) #("Build the image(Note the fullstop at the end):\n" 0 47 (:parent #41))) (fixed-width (:standard-properties [1935 1935 nil nil 1995 2 nil nil nil nil nil nil nil nil # nil nil #31] :value "sudo docker build -t genenetwork2:latest -f Dockerfile .")) (paragraph (:standard-properties [1995 1995 1995 2048 2049 1 nil nil nil nil nil nil nil nil # nil nil #31]) #("To load the image interactively you've just created:\n" 0 53 (:parent #43))) (fixed-width (:standard-properties [2049 2049 nil nil 2094 2 nil nil nil nil nil nil nil nil # nil nil #31] :value "docker run -ti \"genenetwork2:latest\" bash")) (paragraph (:standard-properties [2094 2094 2094 2180 2181 1 nil nil nil nil nil nil nil nil # nil nil #31]) #("Assuming you have a docker instance running, you could always run\ncommands in it e.g:\n" 0 86 (:parent #45))) (fixed-width (:standard-properties [2181 2181 nil nil 2234 2 nil nil nil nil nil nil nil nil # nil nil #31] :value "docker run \"genenetwork2:latest\" python --version")))) (headline (:standard-properties [2234 2234 2258 2857 2857 0 (:title) nil nil nil nil 2260 2855 1 # nil nil #22] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 22) t] :title (#("Pushing to DockerHub" 0 20 (:parent #29))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [2258 2258 2258 2857 2857 0 nil section nil nil nil 2258 2857 nil # nil nil #29]) (paragraph (:standard-properties [2258 2258 2258 2364 2365 1 nil planning nil nil nil nil nil nil # nil nil #32]) #("We use DockerHub to store the docker images from which we use on our\nCI environment using Github Actions.\n" 0 106 (:parent #35))) (paragraph (:standard-properties [2365 2365 2365 2486 2487 1 nil nil nil nil nil nil nil nil # nil nil #32]) #("To push to dockerhub, first get the image name by running " 0 58 (:parent #36)) (verbatim (:standard-properties [2423 nil nil nil 2438 0 nil nil nil nil nil nil nil nil # nil nil #36] :value [org-element-deferred org-element--substring (1 14) t])) #(". Push to dockerhub using a command similar to:\n" 0 48 (:parent #36))) (fixed-width (:standard-properties [2487 2487 nil nil 2534 2 nil nil nil nil nil nil nil nil # nil nil #32] :value "docker push bonfacekilz/genenetwork2:latest")) (paragraph (:standard-properties [2534 2534 2534 2576 2577 1 nil nil nil nil nil nil nil nil # nil nil #32]) #("Right now, we have 2 images on DockerHub:\n" 0 42 (:parent #38))) (plain-list (:standard-properties [2577 2577 2577 2857 2857 0 nil nil nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #32] :type unordered) (item (:standard-properties [2577 2577 2579 2741 2741 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #39] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2579 2579 2579 2741 2741 0 nil nil nil nil nil nil nil nil # nil nil #42]) (link (:standard-properties [2579 nil nil nil 2652 0 nil nil nil nil nil nil nil nil # nil nil #45] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python2 version of gn2. Don't use this. Please use the\n python3 image!\n" 0 89 (:parent #45)))) (item (:standard-properties [2741 2741 2743 2857 2857 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #39] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2743 2743 2743 2857 2857 0 nil nil nil nil nil nil nil nil # nil nil #43]) (link (:standard-properties [2743 nil nil nil 2816 0 nil nil nil nil nil nil nil nil # nil nil #46] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python3 version of gn2.\n" 0 41 (:parent #46))))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #17))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) #12)]) #7)] :type unordered) . #0)] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [149 149 149 209 209 0 nil nil nil nil nil nil nil nil # nil nil #2]) (link (:standard-properties [149 nil 180 206 208 0 nil nil nil nil nil nil nil nil # nil nil #5] :type "custom-id" :type-explicit-p nil :path "creating-the-docker-images" :format bracket :raw-link "#creating-the-docker-images" :application nil :search-option nil) #("Creating the Docker Images" 0 26 (:parent #8))) #("\n" 0 1 (:parent #5)))) (item (:standard-properties [209 209 211 259 259 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) (plain-list (:standard-properties [113 113 113 259 260 1 nil planning nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) (section (:standard-properties [113 113 113 260 260 0 nil section nil nil nil 113 260 nil # nil nil (headline (:standard-properties [35 35 113 260 260 0 (:title) nil nil nil nil 115 258 1 # nil nil (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 35 35 0 nil first-section nil nil nil 1 35 nil # nil nil #23]) (keyword (:standard-properties [1 1 nil nil 35 1 nil top-comment nil nil nil nil nil nil # nil nil #26] :key "TITLE" :value "Genenetwork2 Dockerized"))) #18 (headline (:standard-properties [260 260 276 926 926 0 (:title) nil nil nil nil 278 924 1 # nil nil #23] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #28))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [276 276 276 926 926 0 nil section nil nil nil 276 926 nil # nil nil #28]) (paragraph (:standard-properties [276 276 276 599 600 1 nil planning nil nil nil nil nil nil # nil nil #31]) #("The CI(Continuous Integration) system for Genenetwork2 uses " 0 60 (:parent #34)) (link (:standard-properties [336 nil 375 389 391 0 nil nil nil nil nil nil nil nil # nil nil #34] :type "https" :type-explicit-p t :path "//github.com/features/actions" :format bracket :raw-link "https://github.com/features/actions" :application nil :search-option nil) #("Github\nActions" 0 14 (:parent #38))) #(". As such, it's important to have a way to run tests using\nfacilities provided by GUIX in a reproducible way. This project\nleverages GUIX to generate a docker container from which the unittests\nare ran from.\n" 0 208 (:parent #34))) (paragraph (:standard-properties [600 600 600 829 830 1 nil nil nil nil nil nil nil nil # nil nil #31]) #("Find instructions on how to set docker up inside GUIX " 0 54 (:parent #35)) (link (:standard-properties [654 nil 732 736 738 0 nil nil nil nil nil nil nil nil # nil nil #35] :type "https" :type-explicit-p t :path "//github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :application nil :search-option nil) #("here" 0 4 (:parent #39))) #(". This\ndocument will not get into that. It's assumed that you have a working\ndocker setup.\n" 0 91 (:parent #35))) (paragraph (:standard-properties [830 830 830 925 926 1 nil nil nil nil nil nil nil nil # nil nil #31]) #("The rest of this document outlines how the docker container used in\nthe CI builds was created.\n" 0 95 (:parent #36))))) (headline (:standard-properties [926 926 956 2234 2234 0 (:title) nil nil nil nil 958 2232 1 # nil nil #23] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 28) t] :title (#("Creating the Docker Images" 0 26 (:parent #29))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [956 956 956 2234 2234 0 nil section nil nil nil 956 2234 nil # nil nil #29]) (paragraph (:standard-properties [956 956 956 1070 1071 1 nil planning nil nil nil nil nil nil # nil nil #32]) #("The general idea is that GUIX is used to generate a set of binaries,\nwhich will be added to a base mariaDB image.\n" 0 114 (:parent #35))) (paragraph (:standard-properties [1071 1071 1071 1116 1117 1 nil nil nil nil nil nil nil nil # nil nil #32]) #("First create the gn2 tar archive by running:\n" 0 45 (:parent #36))) (src-block (:standard-properties [1117 1117 nil nil 1343 1 nil nil nil nil nil nil nil nil # nil nil #32] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 215) t])) (paragraph (:standard-properties [1343 1343 1343 1386 1387 1 nil nil nil nil nil nil nil nil # nil nil #32]) #("The output will look something similar to:\n" 0 43 (:parent #38))) (fixed-width (:standard-properties [1387 1387 nil nil 1454 2 nil nil nil nil nil nil nil nil # nil nil #32] :value "/gnu/store/x3m77vwaqcwba24p5s4lrb7w2ii16lj9-tarball-pack.tar.gz")) (paragraph (:standard-properties [1454 1454 1454 1639 1640 1 nil nil nil nil nil nil nil nil # nil nil #32]) #("Now create a folder from which will host the following dockerfile. You\ncan name this file Dockerfile. Note that mariadb is the base image\nsince it already has mariadb installed for us.\n" 0 185 (:parent #40))) (src-block (:standard-properties [1640 1640 nil nil 1887 1 nil nil nil nil nil nil nil nil # nil nil #32] :language "conf" :switches nil :parameters ":mkdirp yes :tangle ~/docker/Dockerfile" :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (57 236) t])) (paragraph (:standard-properties [1887 1887 1887 1934 1935 1 nil nil nil nil nil nil nil nil # nil nil #32]) #("Build the image(Note the fullstop at the end):\n" 0 47 (:parent #42))) (fixed-width (:standard-properties [1935 1935 nil nil 1995 2 nil nil nil nil nil nil nil nil # nil nil #32] :value "sudo docker build -t genenetwork2:latest -f Dockerfile .")) (paragraph (:standard-properties [1995 1995 1995 2048 2049 1 nil nil nil nil nil nil nil nil # nil nil #32]) #("To load the image interactively you've just created:\n" 0 53 (:parent #44))) (fixed-width (:standard-properties [2049 2049 nil nil 2094 2 nil nil nil nil nil nil nil nil # nil nil #32] :value "docker run -ti \"genenetwork2:latest\" bash")) (paragraph (:standard-properties [2094 2094 2094 2180 2181 1 nil nil nil nil nil nil nil nil # nil nil #32]) #("Assuming you have a docker instance running, you could always run\ncommands in it e.g:\n" 0 86 (:parent #46))) (fixed-width (:standard-properties [2181 2181 nil nil 2234 2 nil nil nil nil nil nil nil nil # nil nil #32] :value "docker run \"genenetwork2:latest\" python --version")))) (headline (:standard-properties [2234 2234 2258 2857 2857 0 (:title) nil nil nil nil 2260 2855 1 # nil nil #23] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 22) t] :title (#("Pushing to DockerHub" 0 20 (:parent #30))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [2258 2258 2258 2857 2857 0 nil section nil nil nil 2258 2857 nil # nil nil #30]) (paragraph (:standard-properties [2258 2258 2258 2364 2365 1 nil planning nil nil nil nil nil nil # nil nil #33]) #("We use DockerHub to store the docker images from which we use on our\nCI environment using Github Actions.\n" 0 106 (:parent #36))) (paragraph (:standard-properties [2365 2365 2365 2486 2487 1 nil nil nil nil nil nil nil nil # nil nil #33]) #("To push to dockerhub, first get the image name by running " 0 58 (:parent #37)) (verbatim (:standard-properties [2423 nil nil nil 2438 0 nil nil nil nil nil nil nil nil # nil nil #37] :value [org-element-deferred org-element--substring (1 14) t])) #(". Push to dockerhub using a command similar to:\n" 0 48 (:parent #37))) (fixed-width (:standard-properties [2487 2487 nil nil 2534 2 nil nil nil nil nil nil nil nil # nil nil #33] :value "docker push bonfacekilz/genenetwork2:latest")) (paragraph (:standard-properties [2534 2534 2534 2576 2577 1 nil nil nil nil nil nil nil nil # nil nil #33]) #("Right now, we have 2 images on DockerHub:\n" 0 42 (:parent #39))) (plain-list (:standard-properties [2577 2577 2577 2857 2857 0 nil nil nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #33] :type unordered) (item (:standard-properties [2577 2577 2579 2741 2741 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #40] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2579 2579 2579 2741 2741 0 nil nil nil nil nil nil nil nil # nil nil #43]) (link (:standard-properties [2579 nil nil nil 2652 0 nil nil nil nil nil nil nil nil # nil nil #46] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python2 version of gn2. Don't use this. Please use the\n python3 image!\n" 0 89 (:parent #46)))) (item (:standard-properties [2741 2741 2743 2857 2857 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #40] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2743 2743 2743 2857 2857 0 nil nil nil nil nil nil nil nil # nil nil #44]) (link (:standard-properties [2743 nil nil nil 2816 0 nil nil nil nil nil nil nil nil # nil nil #47] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python3 version of gn2.\n" 0 41 (:parent #47))))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #18))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) #13)]) #8)] :type unordered) . #0)] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [211 211 211 259 259 0 nil nil nil nil nil nil nil nil # nil nil #3]) (link (:standard-properties [211 nil 236 256 258 0 nil nil nil nil nil nil nil nil # nil nil #6] :type "custom-id" :type-explicit-p nil :path "pushing-to-dockerhub" :format bracket :raw-link "#pushing-to-dockerhub" :application nil :search-option nil) #("Pushing to DockerHub" 0 20 (:parent #9))) #("\n" 0 1 (:parent #6))))) "") org-export-data((plain-list (:standard-properties [113 113 113 259 260 1 nil planning nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) (section (:standard-properties [113 113 113 260 260 0 nil section nil nil nil 113 260 nil # nil nil (headline (:standard-properties [35 35 113 260 260 0 (:title) nil nil nil nil 115 258 1 # nil nil (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 35 35 0 nil first-section nil nil nil 1 35 nil # nil nil #15]) (keyword (:standard-properties [1 1 nil nil 35 1 nil top-comment nil nil nil nil nil nil # nil nil #18] :key "TITLE" :value "Genenetwork2 Dockerized"))) #10 (headline (:standard-properties [260 260 276 926 926 0 (:title) nil nil nil nil 278 924 1 # nil nil #15] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #20))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [276 276 276 926 926 0 nil section nil nil nil 276 926 nil # nil nil #20]) (paragraph (:standard-properties [276 276 276 599 600 1 nil planning nil nil nil nil nil nil # nil nil #23]) #("The CI(Continuous Integration) system for Genenetwork2 uses " 0 60 (:parent #26)) (link (:standard-properties [336 nil 375 389 391 0 nil nil nil nil nil nil nil nil # nil nil #26] :type "https" :type-explicit-p t :path "//github.com/features/actions" :format bracket :raw-link "https://github.com/features/actions" :application nil :search-option nil) #("Github\nActions" 0 14 (:parent #30))) #(". As such, it's important to have a way to run tests using\nfacilities provided by GUIX in a reproducible way. This project\nleverages GUIX to generate a docker container from which the unittests\nare ran from.\n" 0 208 (:parent #26))) (paragraph (:standard-properties [600 600 600 829 830 1 nil nil nil nil nil nil nil nil # nil nil #23]) #("Find instructions on how to set docker up inside GUIX " 0 54 (:parent #27)) (link (:standard-properties [654 nil 732 736 738 0 nil nil nil nil nil nil nil nil # nil nil #27] :type "https" :type-explicit-p t :path "//github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :application nil :search-option nil) #("here" 0 4 (:parent #31))) #(". This\ndocument will not get into that. It's assumed that you have a working\ndocker setup.\n" 0 91 (:parent #27))) (paragraph (:standard-properties [830 830 830 925 926 1 nil nil nil nil nil nil nil nil # nil nil #23]) #("The rest of this document outlines how the docker container used in\nthe CI builds was created.\n" 0 95 (:parent #28))))) (headline (:standard-properties [926 926 956 2234 2234 0 (:title) nil nil nil nil 958 2232 1 # nil nil #15] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 28) t] :title (#("Creating the Docker Images" 0 26 (:parent #21))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [956 956 956 2234 2234 0 nil section nil nil nil 956 2234 nil # nil nil #21]) (paragraph (:standard-properties [956 956 956 1070 1071 1 nil planning nil nil nil nil nil nil # nil nil #24]) #("The general idea is that GUIX is used to generate a set of binaries,\nwhich will be added to a base mariaDB image.\n" 0 114 (:parent #27))) (paragraph (:standard-properties [1071 1071 1071 1116 1117 1 nil nil nil nil nil nil nil nil # nil nil #24]) #("First create the gn2 tar archive by running:\n" 0 45 (:parent #28))) (src-block (:standard-properties [1117 1117 nil nil 1343 1 nil nil nil nil nil nil nil nil # nil nil #24] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 215) t])) (paragraph (:standard-properties [1343 1343 1343 1386 1387 1 nil nil nil nil nil nil nil nil # nil nil #24]) #("The output will look something similar to:\n" 0 43 (:parent #30))) (fixed-width (:standard-properties [1387 1387 nil nil 1454 2 nil nil nil nil nil nil nil nil # nil nil #24] :value "/gnu/store/x3m77vwaqcwba24p5s4lrb7w2ii16lj9-tarball-pack.tar.gz")) (paragraph (:standard-properties [1454 1454 1454 1639 1640 1 nil nil nil nil nil nil nil nil # nil nil #24]) #("Now create a folder from which will host the following dockerfile. You\ncan name this file Dockerfile. Note that mariadb is the base image\nsince it already has mariadb installed for us.\n" 0 185 (:parent #32))) (src-block (:standard-properties [1640 1640 nil nil 1887 1 nil nil nil nil nil nil nil nil # nil nil #24] :language "conf" :switches nil :parameters ":mkdirp yes :tangle ~/docker/Dockerfile" :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (57 236) t])) (paragraph (:standard-properties [1887 1887 1887 1934 1935 1 nil nil nil nil nil nil nil nil # nil nil #24]) #("Build the image(Note the fullstop at the end):\n" 0 47 (:parent #34))) (fixed-width (:standard-properties [1935 1935 nil nil 1995 2 nil nil nil nil nil nil nil nil # nil nil #24] :value "sudo docker build -t genenetwork2:latest -f Dockerfile .")) (paragraph (:standard-properties [1995 1995 1995 2048 2049 1 nil nil nil nil nil nil nil nil # nil nil #24]) #("To load the image interactively you've just created:\n" 0 53 (:parent #36))) (fixed-width (:standard-properties [2049 2049 nil nil 2094 2 nil nil nil nil nil nil nil nil # nil nil #24] :value "docker run -ti \"genenetwork2:latest\" bash")) (paragraph (:standard-properties [2094 2094 2094 2180 2181 1 nil nil nil nil nil nil nil nil # nil nil #24]) #("Assuming you have a docker instance running, you could always run\ncommands in it e.g:\n" 0 86 (:parent #38))) (fixed-width (:standard-properties [2181 2181 nil nil 2234 2 nil nil nil nil nil nil nil nil # nil nil #24] :value "docker run \"genenetwork2:latest\" python --version")))) (headline (:standard-properties [2234 2234 2258 2857 2857 0 (:title) nil nil nil nil 2260 2855 1 # nil nil #15] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 22) t] :title (#("Pushing to DockerHub" 0 20 (:parent #22))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [2258 2258 2258 2857 2857 0 nil section nil nil nil 2258 2857 nil # nil nil #22]) (paragraph (:standard-properties [2258 2258 2258 2364 2365 1 nil planning nil nil nil nil nil nil # nil nil #25]) #("We use DockerHub to store the docker images from which we use on our\nCI environment using Github Actions.\n" 0 106 (:parent #28))) (paragraph (:standard-properties [2365 2365 2365 2486 2487 1 nil nil nil nil nil nil nil nil # nil nil #25]) #("To push to dockerhub, first get the image name by running " 0 58 (:parent #29)) (verbatim (:standard-properties [2423 nil nil nil 2438 0 nil nil nil nil nil nil nil nil # nil nil #29] :value [org-element-deferred org-element--substring (1 14) t])) #(". Push to dockerhub using a command similar to:\n" 0 48 (:parent #29))) (fixed-width (:standard-properties [2487 2487 nil nil 2534 2 nil nil nil nil nil nil nil nil # nil nil #25] :value "docker push bonfacekilz/genenetwork2:latest")) (paragraph (:standard-properties [2534 2534 2534 2576 2577 1 nil nil nil nil nil nil nil nil # nil nil #25]) #("Right now, we have 2 images on DockerHub:\n" 0 42 (:parent #31))) (plain-list (:standard-properties [2577 2577 2577 2857 2857 0 nil nil nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #25] :type unordered) (item (:standard-properties [2577 2577 2579 2741 2741 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #32] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2579 2579 2579 2741 2741 0 nil nil nil nil nil nil nil nil # nil nil #35]) (link (:standard-properties [2579 nil nil nil 2652 0 nil nil nil nil nil nil nil nil # nil nil #38] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python2 version of gn2. Don't use this. Please use the\n python3 image!\n" 0 89 (:parent #38)))) (item (:standard-properties [2741 2741 2743 2857 2857 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #32] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2743 2743 2743 2857 2857 0 nil nil nil nil nil nil nil nil # nil nil #36]) (link (:standard-properties [2743 nil nil nil 2816 0 nil nil nil nil nil nil nil nil # nil nil #39] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python3 version of gn2.\n" 0 41 (:parent #39))))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #10))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) #5)]) #0)] :type unordered) (item (:standard-properties [113 113 115 147 147 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #0] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [115 115 115 147 147 0 nil nil nil nil nil nil nil nil # nil nil #3]) (link (:standard-properties [115 nil 132 144 146 0 nil nil nil nil nil nil nil nil # nil nil #6] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #9))) #("\n" 0 1 (:parent #6)))) (item (:standard-properties [147 147 149 209 209 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #0] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [149 149 149 209 209 0 nil nil nil nil nil nil nil nil # nil nil #4]) (link (:standard-properties [149 nil 180 206 208 0 nil nil nil nil nil nil nil nil # nil nil #7] :type "custom-id" :type-explicit-p nil :path "creating-the-docker-images" :format bracket :raw-link "#creating-the-docker-images" :application nil :search-option nil) #("Creating the Docker Images" 0 26 (:parent #10))) #("\n" 0 1 (:parent #7)))) (item (:standard-properties [209 209 211 259 259 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #0] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [211 211 211 259 259 0 nil nil nil nil nil nil nil nil # nil nil #5]) (link (:standard-properties [211 nil 236 256 258 0 nil nil nil nil nil nil nil nil # nil nil #8] :type "custom-id" :type-explicit-p nil :path "pushing-to-dockerhub" :format bracket :raw-link "#pushing-to-dockerhub" :application nil :search-option nil) #("Pushing to DockerHub" 0 20 (:parent #11))) #("\n" 0 1 (:parent #8))))) (:export-options (body-only) :back-end #s(org-export-backend :name html :parent nil :transcoders ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :options ((:html-doctype "HTML_DOCTYPE" nil org-html-doctype) (:html-container "HTML_CONTAINER" nil org-html-container-element) (:html-content-class "HTML_CONTENT_CLASS" nil org-html-content-class) (:description "DESCRIPTION" nil nil newline) (:keywords "KEYWORDS" nil nil space) (:html-html5-fancy nil "html5-fancy" org-html-html5-fancy) (:html-link-use-abs-url nil "html-link-use-abs-url" org-html-link-use-abs-url) (:html-link-home "HTML_LINK_HOME" nil org-html-link-home) (:html-link-up "HTML_LINK_UP" nil org-html-link-up) (:html-mathjax "HTML_MATHJAX" nil "" space) (:html-equation-reference-format "HTML_EQUATION_REFERENCE_FORMAT" nil org-html-equation-reference-format t) (:html-postamble nil "html-postamble" org-html-postamble) (:html-preamble nil "html-preamble" org-html-preamble) (:html-head "HTML_HEAD" nil org-html-head newline) (:html-head-extra "HTML_HEAD_EXTRA" nil org-html-head-extra newline) (:subtitle "SUBTITLE" nil nil parse) (:html-head-include-default-style nil "html-style" org-html-head-include-default-style) (:html-head-include-scripts nil "html-scripts" org-html-head-include-scripts) (:html-allow-name-attribute-in-anchors nil nil org-html-allow-name-attribute-in-anchors) (:html-divs nil nil org-html-divs) (:html-checkbox-type nil nil org-html-checkbox-type) (:html-extension nil nil org-html-extension) (:html-footnote-format nil nil org-html-footnote-format) (:html-footnote-separator nil nil org-html-footnote-separator) (:html-footnotes-section nil nil org-html-footnotes-section) (:html-format-drawer-function nil nil org-html-format-drawer-function) (:html-format-headline-function nil nil org-html-format-headline-function) (:html-format-inlinetask-function nil nil org-html-format-inlinetask-function) (:html-home/up-format nil nil org-html-home/up-format) (:html-indent nil nil org-html-indent) (:html-infojs-options nil nil org-html-infojs-options) (:html-infojs-template nil nil org-html-infojs-template) (:html-inline-image-rules nil nil org-html-inline-image-rules) (:html-link-org-files-as-html nil nil org-html-link-org-files-as-html) (:html-mathjax-options nil nil org-html-mathjax-options) (:html-mathjax-template nil nil org-html-mathjax-template) (:html-metadata-timestamp-format nil nil org-html-metadata-timestamp-format) (:html-postamble-format nil nil org-html-postamble-format) (:html-preamble-format nil nil org-html-preamble-format) (:html-prefer-user-labels nil nil org-html-prefer-user-labels) (:html-self-link-headlines nil nil org-html-self-link-headlines) (:html-table-align-individual-fields nil nil org-html-table-align-individual-fields) (:html-table-caption-above nil nil org-html-table-caption-above) (:html-table-data-tags nil nil org-html-table-data-tags) (:html-table-header-tags nil nil org-html-table-header-tags) (:html-table-use-header-tags-for-first-column nil nil org-html-table-use-header-tags-for-first-column) (:html-tag-class-prefix nil nil org-html-tag-class-prefix) (:html-text-markup-alist nil nil org-html-text-markup-alist) (:html-todo-kwd-class-prefix nil nil org-html-todo-kwd-class-prefix) (:html-toplevel-hlevel nil nil org-html-toplevel-hlevel) (:html-use-infojs nil nil org-html-use-infojs) (:html-validation-link nil nil org-html-validation-link) (:html-viewport nil nil org-html-viewport) (:html-inline-images nil nil org-html-inline-images) (:html-table-attributes nil nil org-html-table-default-attributes) (:html-table-row-open-tag nil nil org-html-table-row-open-tag) (:html-table-row-close-tag nil nil org-html-table-row-close-tag) (:html-xml-declaration nil nil org-html-xml-declaration) (:html-wrap-src-lines nil nil org-html-wrap-src-lines) (:html-klipsify-src nil nil org-html-klipsify-src) (:html-klipse-css nil nil org-html-klipse-css) (:html-klipse-js nil nil org-html-klipse-js) (:html-klipse-selection-script nil nil org-html-klipse-selection-script) (:infojs-opt "INFOJS_OPT" nil nil) (:creator "CREATOR" nil org-html-creator-string) (:with-latex nil "tex" org-html-with-latex) (:latex-header "LATEX_HEADER" nil nil newline)) :filters ((:filter-options . org-html-infojs-install-script) (:filter-parse-tree . org-html-image-link-filter) (:filter-final-output . org-html-final-function)) :blocks nil :menu (104 "Export to HTML" ((72 "As HTML buffer" org-html-export-as-html) (104 "As HTML file" org-html-export-to-html) (111 "As HTML file and open" (lambda (a s v b) (if a (org-html-export-to-html t s v b) (org-open-file (org-html-export-to-html nil s v b)))))))) :translate-alist ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :exported-data # :input-buffer " *temp*" :input-file nil :html-doctype "xhtml-strict" :html-container "div" :html-content-class "content" :description nil :keywords nil :html-html5-fancy nil :html-link-use-abs-url nil :html-link-home "" :html-link-up "" :html-mathjax "" :html-equation-reference-format "\\eqref{%s}" :html-postamble auto :html-preamble t :html-head "" :html-head-extra "" :subtitle nil :html-head-include-default-style t :html-head-include-scripts nil :html-allow-name-attribute-in-anchors nil :html-divs ((preamble "div" "preamble") (content "div" "content") (postamble "div" "postamble")) :html-checkbox-type ascii :html-extension "html" :html-footnote-format "%s" :html-footnote-separator ", " :html-footnotes-section "
\n

%s:

\n
\n%s\n
\n
" :html-format-drawer-function #f(compiled-function (name contents) #) :html-format-headline-function org-html-format-headline-default-function :html-format-inlinetask-function org-html-format-inlinetask-default-function :html-home/up-format "
\n UP \n |\n HOME \n
" :html-indent nil :html-infojs-options ((path . "https://orgmode.org/org-info.js") (view . "info") (toc . :with-toc) (ftoc . "0") (tdepth . "max") (sdepth . "max") (mouse . "underline") (buttons . "0") (ltoc . "1") (up . :html-link-up) (home . :html-link-home)) :html-infojs-template "\n\n" :html-inline-image-rules (("file" . "\\(?:\\.\\(?:avif\\|gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("http" . "\\(?:\\.\\(?:avif\\|gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("https" . "\\(?:\\.\\(?:avif\\|gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)")) :html-link-org-files-as-html t :html-mathjax-options ((path "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js") (scale 1.0) (align "center") (font "mathjax-modern") (overflow "overflow") (tags "ams") (indent "0em") (multlinewidth "85%") (tagindent ".8em") (tagside "right")) :html-mathjax-template "\n\n\n" :html-metadata-timestamp-format "%Y-%m-%d %a %H:%M" :html-postamble-format (("en" "

Author: %a (%e)

\n

Date: %d

\n

%c

\n

%v

")) :html-preamble-format (("en" "")) :html-prefer-user-labels nil :html-self-link-headlines nil :html-table-align-individual-fields t :html-table-caption-above t :html-table-data-tags ("" . "") :html-table-header-tags ("" . "") :html-table-use-header-tags-for-first-column nil :html-tag-class-prefix "" :html-text-markup-alist ((bold . "%s") (code . "%s") (italic . "%s") (strike-through . "%s") (underline . "%s") (verbatim . "%s")) :html-todo-kwd-class-prefix "" :html-toplevel-hlevel 2 :html-use-infojs when-configured :html-validation-link "Validate" :html-viewport ((width "device-width") (initial-scale "1") (minimum-scale "") (maximum-scale "") (user-scalable "")) :html-inline-images t :html-table-attributes (:border "2" :cellspacing "0" :cellpadding "6" :rules "groups" :frame "hsides") :html-table-row-open-tag "" :html-table-row-close-tag "" :html-xml-declaration (("html" . "") ("php" . "\"; ?>")) :html-wrap-src-lines nil :html-klipsify-src nil :html-klipse-css "https://storage.googleapis.com/app.klipse.tech/css/codemirror.css" :html-klipse-js "https://storage.googleapis.com/app.klipse.tech/plugin_prod/js/klipse_plugin.min.js" :html-klipse-selection-script "window.klipse_settings = {selector_eval_html: '.src-html',\n selector_eval_js: '.src-js',\n selector_eval_python_client: '.src-python',\n selector_eval_scheme: '.src-scheme',\n selector: '.src-clojure',\n selector_eval_ruby: '.src-ruby'};" :infojs-opt nil :creator "Emacs 30.2 (Org mode 9.7.11)" :with-latex t :latex-header nil :title (#("Genenetwork2 Dockerized" 0 23 (:parent #148))) :date nil :author (#("unknown" 0 7 (:parent #152))) :email "unknown@genenetwork-development" :language "en" :select-tags ("export") :exclude-tags ("noexport") :headline-levels 3 :preserve-breaks nil :section-numbers nil :time-stamp-file t :with-archived-trees headline :with-author t :expand-links t :with-broken-links nil :with-clocks nil :with-creator nil :with-date t :with-drawers (not "LOGBOOK") :with-email nil :with-emphasize t :with-entities t :with-fixed-width t :with-footnotes t :with-inlinetasks t :with-planning nil :with-priority nil :with-properties nil :with-smart-quotes nil :with-special-strings t :with-special-rows nil :with-statistics-cookies t :with-sub-superscript t :with-toc nil :with-tables t :with-tags t :with-tasks t :with-timestamps t :with-title t :with-todo-keywords t :with-cite-processors t :cite-export (basic nil nil) :bibliography nil :filter-body nil :filter-bold nil :filter-babel-call nil :filter-center-block nil :filter-clock nil :filter-code nil :filter-diary-sexp nil :filter-drawer nil :filter-dynamic-block nil :filter-entity nil :filter-example-block nil :filter-export-block nil :filter-export-snippet nil :filter-final-output (org-html-final-function) :filter-fixed-width nil :filter-footnote-definition nil :filter-footnote-reference nil :filter-headline nil :filter-horizontal-rule nil :filter-inline-babel-call nil :filter-inline-src-block nil :filter-inlinetask nil :filter-italic nil :filter-item nil :filter-keyword nil :filter-latex-environment nil :filter-latex-fragment nil :filter-line-break nil :filter-link nil :filter-node-property nil :filter-options (org-html-infojs-install-script) :filter-paragraph nil :filter-parse-tree (org-html-image-link-filter) :filter-plain-list nil :filter-plain-text nil :filter-planning nil :filter-property-drawer nil :filter-quote-block nil :filter-radio-target nil :filter-section nil :filter-special-block nil :filter-src-block nil :filter-statistics-cookie nil :filter-strike-through nil :filter-subscript nil :filter-superscript nil :filter-table nil :filter-table-cell nil :filter-table-row nil :filter-target nil :filter-timestamp nil :filter-underline nil :filter-verbatim nil :filter-verse-block nil :ignore-list nil :parse-tree (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 35 35 0 nil first-section nil nil nil 1 35 nil # nil nil #344]) (keyword (:standard-properties [1 1 nil nil 35 1 nil top-comment nil nil nil nil nil nil # nil nil #347] :key "TITLE" :value "Genenetwork2 Dockerized"))) (headline (:standard-properties [35 35 113 260 260 0 (:title) nil nil nil nil 115 258 1 # nil nil #344] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #348))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [113 113 113 260 260 0 nil section nil nil nil 113 260 nil # nil nil #348]) (plain-list (:standard-properties [113 113 113 259 260 1 nil planning nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #351] :type unordered) (item (:standard-properties [113 113 115 147 147 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #354] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [115 115 115 147 147 0 nil nil nil nil nil nil nil nil # nil nil #357]) (link (:standard-properties [115 nil 132 144 146 0 nil nil nil nil nil nil nil nil # nil nil #360] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #363))) #("\n" 0 1 (:parent #360)))) (item (:standard-properties [147 147 149 209 209 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #354] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [149 149 149 209 209 0 nil nil nil nil nil nil nil nil # nil nil #358]) (link (:standard-properties [149 nil 180 206 208 0 nil nil nil nil nil nil nil nil # nil nil #361] :type "custom-id" :type-explicit-p nil :path "creating-the-docker-images" :format bracket :raw-link "#creating-the-docker-images" :application nil :search-option nil) #("Creating the Docker Images" 0 26 (:parent #364))) #("\n" 0 1 (:parent #361)))) (item (:standard-properties [209 209 211 259 259 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #354] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [211 211 211 259 259 0 nil nil nil nil nil nil nil nil # nil nil #359]) (link (:standard-properties [211 nil 236 256 258 0 nil nil nil nil nil nil nil nil # nil nil #362] :type "custom-id" :type-explicit-p nil :path "pushing-to-dockerhub" :format bracket :raw-link "#pushing-to-dockerhub" :application nil :search-option nil) #("Pushing to DockerHub" 0 20 (:parent #365))) #("\n" 0 1 (:parent #362))))))) (headline (:standard-properties [260 260 276 926 926 0 (:title) nil nil nil nil 278 924 1 # nil nil #344] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #349))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [276 276 276 926 926 0 nil section nil nil nil 276 926 nil # nil nil #349]) (paragraph (:standard-properties [276 276 276 599 600 1 nil planning nil nil nil nil nil nil # nil nil #352]) #("The CI(Continuous Integration) system for Genenetwork2 uses " 0 60 (:parent #355)) (link (:standard-properties [336 nil 375 389 391 0 nil nil nil nil nil nil nil nil # nil nil #355] :type "https" :type-explicit-p t :path "//github.com/features/actions" :format bracket :raw-link "https://github.com/features/actions" :application nil :search-option nil) #("Github\nActions" 0 14 (:parent #359))) #(". As such, it's important to have a way to run tests using\nfacilities provided by GUIX in a reproducible way. This project\nleverages GUIX to generate a docker container from which the unittests\nare ran from.\n" 0 208 (:parent #355))) (paragraph (:standard-properties [600 600 600 829 830 1 nil nil nil nil nil nil nil nil # nil nil #352]) #("Find instructions on how to set docker up inside GUIX " 0 54 (:parent #356)) (link (:standard-properties [654 nil 732 736 738 0 nil nil nil nil nil nil nil nil # nil nil #356] :type "https" :type-explicit-p t :path "//github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :application nil :search-option nil) #("here" 0 4 (:parent #360))) #(". This\ndocument will not get into that. It's assumed that you have a working\ndocker setup.\n" 0 91 (:parent #356))) (paragraph (:standard-properties [830 830 830 925 926 1 nil nil nil nil nil nil nil nil # nil nil #352]) #("The rest of this document outlines how the docker container used in\nthe CI builds was created.\n" 0 95 (:parent #357))))) (headline (:standard-properties [926 926 956 2234 2234 0 (:title) nil nil nil nil 958 2232 1 # nil nil #344] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 28) t] :title (#("Creating the Docker Images" 0 26 (:parent #350))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [956 956 956 2234 2234 0 nil section nil nil nil 956 2234 nil # nil nil #350]) (paragraph (:standard-properties [956 956 956 1070 1071 1 nil planning nil nil nil nil nil nil # nil nil #353]) #("The general idea is that GUIX is used to generate a set of binaries,\nwhich will be added to a base mariaDB image.\n" 0 114 (:parent #356))) (paragraph (:standard-properties [1071 1071 1071 1116 1117 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("First create the gn2 tar archive by running:\n" 0 45 (:parent #357))) (src-block (:standard-properties [1117 1117 nil nil 1343 1 nil nil nil nil nil nil nil nil # nil nil #353] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 215) t])) (paragraph (:standard-properties [1343 1343 1343 1386 1387 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("The output will look something similar to:\n" 0 43 (:parent #359))) (fixed-width (:standard-properties [1387 1387 nil nil 1454 2 nil nil nil nil nil nil nil nil # nil nil #353] :value "/gnu/store/x3m77vwaqcwba24p5s4lrb7w2ii16lj9-tarball-pack.tar.gz")) (paragraph (:standard-properties [1454 1454 1454 1639 1640 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("Now create a folder from which will host the following dockerfile. You\ncan name this file Dockerfile. Note that mariadb is the base image\nsince it already has mariadb installed for us.\n" 0 185 (:parent #361))) (src-block (:standard-properties [1640 1640 nil nil 1887 1 nil nil nil nil nil nil nil nil # nil nil #353] :language "conf" :switches nil :parameters ":mkdirp yes :tangle ~/docker/Dockerfile" :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (57 236) t])) (paragraph (:standard-properties [1887 1887 1887 1934 1935 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("Build the image(Note the fullstop at the end):\n" 0 47 (:parent #363))) (fixed-width (:standard-properties [1935 1935 nil nil 1995 2 nil nil nil nil nil nil nil nil # nil nil #353] :value "sudo docker build -t genenetwork2:latest -f Dockerfile .")) (paragraph (:standard-properties [1995 1995 1995 2048 2049 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("To load the image interactively you've just created:\n" 0 53 (:parent #365))) (fixed-width (:standard-properties [2049 2049 nil nil 2094 2 nil nil nil nil nil nil nil nil # nil nil #353] :value "docker run -ti \"genenetwork2:latest\" bash")) (paragraph (:standard-properties [2094 2094 2094 2180 2181 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("Assuming you have a docker instance running, you could always run\ncommands in it e.g:\n" 0 86 (:parent #367))) (fixed-width (:standard-properties [2181 2181 nil nil 2234 2 nil nil nil nil nil nil nil nil # nil nil #353] :value "docker run \"genenetwork2:latest\" python --version")))) (headline (:standard-properties [2234 2234 2258 2857 2857 0 (:title) nil nil nil nil 2260 2855 1 # nil nil #344] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 22) t] :title (#("Pushing to DockerHub" 0 20 (:parent #351))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [2258 2258 2258 2857 2857 0 nil section nil nil nil 2258 2857 nil # nil nil #351]) (paragraph (:standard-properties [2258 2258 2258 2364 2365 1 nil planning nil nil nil nil nil nil # nil nil #354]) #("We use DockerHub to store the docker images from which we use on our\nCI environment using Github Actions.\n" 0 106 (:parent #357))) (paragraph (:standard-properties [2365 2365 2365 2486 2487 1 nil nil nil nil nil nil nil nil # nil nil #354]) #("To push to dockerhub, first get the image name by running " 0 58 (:parent #358)) (verbatim (:standard-properties [2423 nil nil nil 2438 0 nil nil nil nil nil nil nil nil # nil nil #358] :value [org-element-deferred org-element--substring (1 14) t])) #(". Push to dockerhub using a command similar to:\n" 0 48 (:parent #358))) (fixed-width (:standard-properties [2487 2487 nil nil 2534 2 nil nil nil nil nil nil nil nil # nil nil #354] :value "docker push bonfacekilz/genenetwork2:latest")) (paragraph (:standard-properties [2534 2534 2534 2576 2577 1 nil nil nil nil nil nil nil nil # nil nil #354]) #("Right now, we have 2 images on DockerHub:\n" 0 42 (:parent #360))) (plain-list (:standard-properties [2577 2577 2577 2857 2857 0 nil nil nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #354] :type unordered) (item (:standard-properties [2577 2577 2579 2741 2741 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #361] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2579 2579 2579 2741 2741 0 nil nil nil nil nil nil nil nil # nil nil #364]) (link (:standard-properties [2579 nil nil nil 2652 0 nil nil nil nil nil nil nil nil # nil nil #367] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python2 version of gn2. Don't use this. Please use the\n python3 image!\n" 0 89 (:parent #367)))) (item (:standard-properties [2741 2741 2743 2857 2857 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #361] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2743 2743 2743 2857 2857 0 nil nil nil nil nil nil nil nil # nil nil #365]) (link (:standard-properties [2743 nil nil nil 2816 0 nil nil nil nil nil nil nil nil # nil nil #368] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python3 version of gn2.\n" 0 41 (:parent #368)))))))) :headline-offset 0 :headline-numbering nil :id-alist nil :citations nil :id-local-cache #)) #f(compiled-function (element) #)((plain-list (:standard-properties [113 113 113 259 260 1 nil planning nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) (section (:standard-properties [113 113 113 260 260 0 nil section nil nil nil 113 260 nil # nil nil (headline (:standard-properties [35 35 113 260 260 0 (:title) nil nil nil nil 115 258 1 # nil nil (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 35 35 0 nil first-section nil nil nil 1 35 nil # nil nil #15]) (keyword (:standard-properties [1 1 nil nil 35 1 nil top-comment nil nil nil nil nil nil # nil nil #18] :key "TITLE" :value "Genenetwork2 Dockerized"))) #10 (headline (:standard-properties [260 260 276 926 926 0 (:title) nil nil nil nil 278 924 1 # nil nil #15] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #20))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [276 276 276 926 926 0 nil section nil nil nil 276 926 nil # nil nil #20]) (paragraph (:standard-properties [276 276 276 599 600 1 nil planning nil nil nil nil nil nil # nil nil #23]) #("The CI(Continuous Integration) system for Genenetwork2 uses " 0 60 (:parent #26)) (link (:standard-properties [336 nil 375 389 391 0 nil nil nil nil nil nil nil nil # nil nil #26] :type "https" :type-explicit-p t :path "//github.com/features/actions" :format bracket :raw-link "https://github.com/features/actions" :application nil :search-option nil) #("Github\nActions" 0 14 (:parent #30))) #(". As such, it's important to have a way to run tests using\nfacilities provided by GUIX in a reproducible way. This project\nleverages GUIX to generate a docker container from which the unittests\nare ran from.\n" 0 208 (:parent #26))) (paragraph (:standard-properties [600 600 600 829 830 1 nil nil nil nil nil nil nil nil # nil nil #23]) #("Find instructions on how to set docker up inside GUIX " 0 54 (:parent #27)) (link (:standard-properties [654 nil 732 736 738 0 nil nil nil nil nil nil nil nil # nil nil #27] :type "https" :type-explicit-p t :path "//github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :application nil :search-option nil) #("here" 0 4 (:parent #31))) #(". This\ndocument will not get into that. It's assumed that you have a working\ndocker setup.\n" 0 91 (:parent #27))) (paragraph (:standard-properties [830 830 830 925 926 1 nil nil nil nil nil nil nil nil # nil nil #23]) #("The rest of this document outlines how the docker container used in\nthe CI builds was created.\n" 0 95 (:parent #28))))) (headline (:standard-properties [926 926 956 2234 2234 0 (:title) nil nil nil nil 958 2232 1 # nil nil #15] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 28) t] :title (#("Creating the Docker Images" 0 26 (:parent #21))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [956 956 956 2234 2234 0 nil section nil nil nil 956 2234 nil # nil nil #21]) (paragraph (:standard-properties [956 956 956 1070 1071 1 nil planning nil nil nil nil nil nil # nil nil #24]) #("The general idea is that GUIX is used to generate a set of binaries,\nwhich will be added to a base mariaDB image.\n" 0 114 (:parent #27))) (paragraph (:standard-properties [1071 1071 1071 1116 1117 1 nil nil nil nil nil nil nil nil # nil nil #24]) #("First create the gn2 tar archive by running:\n" 0 45 (:parent #28))) (src-block (:standard-properties [1117 1117 nil nil 1343 1 nil nil nil nil nil nil nil nil # nil nil #24] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 215) t])) (paragraph (:standard-properties [1343 1343 1343 1386 1387 1 nil nil nil nil nil nil nil nil # nil nil #24]) #("The output will look something similar to:\n" 0 43 (:parent #30))) (fixed-width (:standard-properties [1387 1387 nil nil 1454 2 nil nil nil nil nil nil nil nil # nil nil #24] :value "/gnu/store/x3m77vwaqcwba24p5s4lrb7w2ii16lj9-tarball-pack.tar.gz")) (paragraph (:standard-properties [1454 1454 1454 1639 1640 1 nil nil nil nil nil nil nil nil # nil nil #24]) #("Now create a folder from which will host the following dockerfile. You\ncan name this file Dockerfile. Note that mariadb is the base image\nsince it already has mariadb installed for us.\n" 0 185 (:parent #32))) (src-block (:standard-properties [1640 1640 nil nil 1887 1 nil nil nil nil nil nil nil nil # nil nil #24] :language "conf" :switches nil :parameters ":mkdirp yes :tangle ~/docker/Dockerfile" :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (57 236) t])) (paragraph (:standard-properties [1887 1887 1887 1934 1935 1 nil nil nil nil nil nil nil nil # nil nil #24]) #("Build the image(Note the fullstop at the end):\n" 0 47 (:parent #34))) (fixed-width (:standard-properties [1935 1935 nil nil 1995 2 nil nil nil nil nil nil nil nil # nil nil #24] :value "sudo docker build -t genenetwork2:latest -f Dockerfile .")) (paragraph (:standard-properties [1995 1995 1995 2048 2049 1 nil nil nil nil nil nil nil nil # nil nil #24]) #("To load the image interactively you've just created:\n" 0 53 (:parent #36))) (fixed-width (:standard-properties [2049 2049 nil nil 2094 2 nil nil nil nil nil nil nil nil # nil nil #24] :value "docker run -ti \"genenetwork2:latest\" bash")) (paragraph (:standard-properties [2094 2094 2094 2180 2181 1 nil nil nil nil nil nil nil nil # nil nil #24]) #("Assuming you have a docker instance running, you could always run\ncommands in it e.g:\n" 0 86 (:parent #38))) (fixed-width (:standard-properties [2181 2181 nil nil 2234 2 nil nil nil nil nil nil nil nil # nil nil #24] :value "docker run \"genenetwork2:latest\" python --version")))) (headline (:standard-properties [2234 2234 2258 2857 2857 0 (:title) nil nil nil nil 2260 2855 1 # nil nil #15] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 22) t] :title (#("Pushing to DockerHub" 0 20 (:parent #22))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [2258 2258 2258 2857 2857 0 nil section nil nil nil 2258 2857 nil # nil nil #22]) (paragraph (:standard-properties [2258 2258 2258 2364 2365 1 nil planning nil nil nil nil nil nil # nil nil #25]) #("We use DockerHub to store the docker images from which we use on our\nCI environment using Github Actions.\n" 0 106 (:parent #28))) (paragraph (:standard-properties [2365 2365 2365 2486 2487 1 nil nil nil nil nil nil nil nil # nil nil #25]) #("To push to dockerhub, first get the image name by running " 0 58 (:parent #29)) (verbatim (:standard-properties [2423 nil nil nil 2438 0 nil nil nil nil nil nil nil nil # nil nil #29] :value [org-element-deferred org-element--substring (1 14) t])) #(". Push to dockerhub using a command similar to:\n" 0 48 (:parent #29))) (fixed-width (:standard-properties [2487 2487 nil nil 2534 2 nil nil nil nil nil nil nil nil # nil nil #25] :value "docker push bonfacekilz/genenetwork2:latest")) (paragraph (:standard-properties [2534 2534 2534 2576 2577 1 nil nil nil nil nil nil nil nil # nil nil #25]) #("Right now, we have 2 images on DockerHub:\n" 0 42 (:parent #31))) (plain-list (:standard-properties [2577 2577 2577 2857 2857 0 nil nil nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #25] :type unordered) (item (:standard-properties [2577 2577 2579 2741 2741 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #32] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2579 2579 2579 2741 2741 0 nil nil nil nil nil nil nil nil # nil nil #35]) (link (:standard-properties [2579 nil nil nil 2652 0 nil nil nil nil nil nil nil nil # nil nil #38] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python2 version of gn2. Don't use this. Please use the\n python3 image!\n" 0 89 (:parent #38)))) (item (:standard-properties [2741 2741 2743 2857 2857 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #32] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2743 2743 2743 2857 2857 0 nil nil nil nil nil nil nil nil # nil nil #36]) (link (:standard-properties [2743 nil nil nil 2816 0 nil nil nil nil nil nil nil nil # nil nil #39] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python3 version of gn2.\n" 0 41 (:parent #39))))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #10))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) #5)]) #0)] :type unordered) (item (:standard-properties [113 113 115 147 147 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #0] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [115 115 115 147 147 0 nil nil nil nil nil nil nil nil # nil nil #3]) (link (:standard-properties [115 nil 132 144 146 0 nil nil nil nil nil nil nil nil # nil nil #6] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #9))) #("\n" 0 1 (:parent #6)))) (item (:standard-properties [147 147 149 209 209 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #0] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [149 149 149 209 209 0 nil nil nil nil nil nil nil nil # nil nil #4]) (link (:standard-properties [149 nil 180 206 208 0 nil nil nil nil nil nil nil nil # nil nil #7] :type "custom-id" :type-explicit-p nil :path "creating-the-docker-images" :format bracket :raw-link "#creating-the-docker-images" :application nil :search-option nil) #("Creating the Docker Images" 0 26 (:parent #10))) #("\n" 0 1 (:parent #7)))) (item (:standard-properties [209 209 211 259 259 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #0] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [211 211 211 259 259 0 nil nil nil nil nil nil nil nil # nil nil #5]) (link (:standard-properties [211 nil 236 256 258 0 nil nil nil nil nil nil nil nil # nil nil #8] :type "custom-id" :type-explicit-p nil :path "pushing-to-dockerhub" :format bracket :raw-link "#pushing-to-dockerhub" :application nil :search-option nil) #("Pushing to DockerHub" 0 20 (:parent #11))) #("\n" 0 1 (:parent #8)))))) mapconcat(#f(compiled-function (element) #) ((plain-list (:standard-properties [113 113 113 259 260 1 nil planning nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) (section (:standard-properties [113 113 113 260 260 0 nil section nil nil nil 113 260 nil # nil nil (headline (:standard-properties [35 35 113 260 260 0 (:title) nil nil nil nil 115 258 1 # nil nil (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 35 35 0 nil first-section nil nil nil 1 35 nil # nil nil #16]) (keyword (:standard-properties [1 1 nil nil 35 1 nil top-comment nil nil nil nil nil nil # nil nil #19] :key "TITLE" :value "Genenetwork2 Dockerized"))) #11 (headline (:standard-properties [260 260 276 926 926 0 (:title) nil nil nil nil 278 924 1 # nil nil #16] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #21))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [276 276 276 926 926 0 nil section nil nil nil 276 926 nil # nil nil #21]) (paragraph (:standard-properties [276 276 276 599 600 1 nil planning nil nil nil nil nil nil # nil nil #24]) #("The CI(Continuous Integration) system for Genenetwork2 uses " 0 60 (:parent #27)) (link (:standard-properties [336 nil 375 389 391 0 nil nil nil nil nil nil nil nil # nil nil #27] :type "https" :type-explicit-p t :path "//github.com/features/actions" :format bracket :raw-link "https://github.com/features/actions" :application nil :search-option nil) #("Github\nActions" 0 14 (:parent #31))) #(". As such, it's important to have a way to run tests using\nfacilities provided by GUIX in a reproducible way. This project\nleverages GUIX to generate a docker container from which the unittests\nare ran from.\n" 0 208 (:parent #27))) (paragraph (:standard-properties [600 600 600 829 830 1 nil nil nil nil nil nil nil nil # nil nil #24]) #("Find instructions on how to set docker up inside GUIX " 0 54 (:parent #28)) (link (:standard-properties [654 nil 732 736 738 0 nil nil nil nil nil nil nil nil # nil nil #28] :type "https" :type-explicit-p t :path "//github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :application nil :search-option nil) #("here" 0 4 (:parent #32))) #(". This\ndocument will not get into that. It's assumed that you have a working\ndocker setup.\n" 0 91 (:parent #28))) (paragraph (:standard-properties [830 830 830 925 926 1 nil nil nil nil nil nil nil nil # nil nil #24]) #("The rest of this document outlines how the docker container used in\nthe CI builds was created.\n" 0 95 (:parent #29))))) (headline (:standard-properties [926 926 956 2234 2234 0 (:title) nil nil nil nil 958 2232 1 # nil nil #16] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 28) t] :title (#("Creating the Docker Images" 0 26 (:parent #22))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [956 956 956 2234 2234 0 nil section nil nil nil 956 2234 nil # nil nil #22]) (paragraph (:standard-properties [956 956 956 1070 1071 1 nil planning nil nil nil nil nil nil # nil nil #25]) #("The general idea is that GUIX is used to generate a set of binaries,\nwhich will be added to a base mariaDB image.\n" 0 114 (:parent #28))) (paragraph (:standard-properties [1071 1071 1071 1116 1117 1 nil nil nil nil nil nil nil nil # nil nil #25]) #("First create the gn2 tar archive by running:\n" 0 45 (:parent #29))) (src-block (:standard-properties [1117 1117 nil nil 1343 1 nil nil nil nil nil nil nil nil # nil nil #25] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 215) t])) (paragraph (:standard-properties [1343 1343 1343 1386 1387 1 nil nil nil nil nil nil nil nil # nil nil #25]) #("The output will look something similar to:\n" 0 43 (:parent #31))) (fixed-width (:standard-properties [1387 1387 nil nil 1454 2 nil nil nil nil nil nil nil nil # nil nil #25] :value "/gnu/store/x3m77vwaqcwba24p5s4lrb7w2ii16lj9-tarball-pack.tar.gz")) (paragraph (:standard-properties [1454 1454 1454 1639 1640 1 nil nil nil nil nil nil nil nil # nil nil #25]) #("Now create a folder from which will host the following dockerfile. You\ncan name this file Dockerfile. Note that mariadb is the base image\nsince it already has mariadb installed for us.\n" 0 185 (:parent #33))) (src-block (:standard-properties [1640 1640 nil nil 1887 1 nil nil nil nil nil nil nil nil # nil nil #25] :language "conf" :switches nil :parameters ":mkdirp yes :tangle ~/docker/Dockerfile" :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (57 236) t])) (paragraph (:standard-properties [1887 1887 1887 1934 1935 1 nil nil nil nil nil nil nil nil # nil nil #25]) #("Build the image(Note the fullstop at the end):\n" 0 47 (:parent #35))) (fixed-width (:standard-properties [1935 1935 nil nil 1995 2 nil nil nil nil nil nil nil nil # nil nil #25] :value "sudo docker build -t genenetwork2:latest -f Dockerfile .")) (paragraph (:standard-properties [1995 1995 1995 2048 2049 1 nil nil nil nil nil nil nil nil # nil nil #25]) #("To load the image interactively you've just created:\n" 0 53 (:parent #37))) (fixed-width (:standard-properties [2049 2049 nil nil 2094 2 nil nil nil nil nil nil nil nil # nil nil #25] :value "docker run -ti \"genenetwork2:latest\" bash")) (paragraph (:standard-properties [2094 2094 2094 2180 2181 1 nil nil nil nil nil nil nil nil # nil nil #25]) #("Assuming you have a docker instance running, you could always run\ncommands in it e.g:\n" 0 86 (:parent #39))) (fixed-width (:standard-properties [2181 2181 nil nil 2234 2 nil nil nil nil nil nil nil nil # nil nil #25] :value "docker run \"genenetwork2:latest\" python --version")))) (headline (:standard-properties [2234 2234 2258 2857 2857 0 (:title) nil nil nil nil 2260 2855 1 # nil nil #16] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 22) t] :title (#("Pushing to DockerHub" 0 20 (:parent #23))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [2258 2258 2258 2857 2857 0 nil section nil nil nil 2258 2857 nil # nil nil #23]) (paragraph (:standard-properties [2258 2258 2258 2364 2365 1 nil planning nil nil nil nil nil nil # nil nil #26]) #("We use DockerHub to store the docker images from which we use on our\nCI environment using Github Actions.\n" 0 106 (:parent #29))) (paragraph (:standard-properties [2365 2365 2365 2486 2487 1 nil nil nil nil nil nil nil nil # nil nil #26]) #("To push to dockerhub, first get the image name by running " 0 58 (:parent #30)) (verbatim (:standard-properties [2423 nil nil nil 2438 0 nil nil nil nil nil nil nil nil # nil nil #30] :value [org-element-deferred org-element--substring (1 14) t])) #(". Push to dockerhub using a command similar to:\n" 0 48 (:parent #30))) (fixed-width (:standard-properties [2487 2487 nil nil 2534 2 nil nil nil nil nil nil nil nil # nil nil #26] :value "docker push bonfacekilz/genenetwork2:latest")) (paragraph (:standard-properties [2534 2534 2534 2576 2577 1 nil nil nil nil nil nil nil nil # nil nil #26]) #("Right now, we have 2 images on DockerHub:\n" 0 42 (:parent #32))) (plain-list (:standard-properties [2577 2577 2577 2857 2857 0 nil nil nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #26] :type unordered) (item (:standard-properties [2577 2577 2579 2741 2741 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #33] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2579 2579 2579 2741 2741 0 nil nil nil nil nil nil nil nil # nil nil #36]) (link (:standard-properties [2579 nil nil nil 2652 0 nil nil nil nil nil nil nil nil # nil nil #39] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python2 version of gn2. Don't use this. Please use the\n python3 image!\n" 0 89 (:parent #39)))) (item (:standard-properties [2741 2741 2743 2857 2857 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #33] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2743 2743 2743 2857 2857 0 nil nil nil nil nil nil nil nil # nil nil #37]) (link (:standard-properties [2743 nil nil nil 2816 0 nil nil nil nil nil nil nil nil # nil nil #40] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python3 version of gn2.\n" 0 41 (:parent #40))))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #11))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) #6)]) . #0)] :type unordered) (item (:standard-properties [113 113 115 147 147 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #1] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [115 115 115 147 147 0 nil nil nil nil nil nil nil nil # nil nil #4]) (link (:standard-properties [115 nil 132 144 146 0 nil nil nil nil nil nil nil nil # nil nil #7] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #10))) #("\n" 0 1 (:parent #7)))) (item (:standard-properties [147 147 149 209 209 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #1] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [149 149 149 209 209 0 nil nil nil nil nil nil nil nil # nil nil #5]) (link (:standard-properties [149 nil 180 206 208 0 nil nil nil nil nil nil nil nil # nil nil #8] :type "custom-id" :type-explicit-p nil :path "creating-the-docker-images" :format bracket :raw-link "#creating-the-docker-images" :application nil :search-option nil) #("Creating the Docker Images" 0 26 (:parent #11))) #("\n" 0 1 (:parent #8)))) (item (:standard-properties [209 209 211 259 259 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #1] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [211 211 211 259 259 0 nil nil nil nil nil nil nil nil # nil nil #6]) (link (:standard-properties [211 nil 236 256 258 0 nil nil nil nil nil nil nil nil # nil nil #9] :type "custom-id" :type-explicit-p nil :path "pushing-to-dockerhub" :format bracket :raw-link "#pushing-to-dockerhub" :application nil :search-option nil) #("Pushing to DockerHub" 0 20 (:parent #12))) #("\n" 0 1 (:parent #9)))))) "") org-export-data((section (:standard-properties [113 113 113 260 260 0 nil section nil nil nil 113 260 nil # nil nil (headline (:standard-properties [35 35 113 260 260 0 (:title) nil nil nil nil 115 258 1 # nil nil (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 35 35 0 nil first-section nil nil nil 1 35 nil # nil nil #10]) (keyword (:standard-properties [1 1 nil nil 35 1 nil top-comment nil nil nil nil nil nil # nil nil #13] :key "TITLE" :value "Genenetwork2 Dockerized"))) #5 (headline (:standard-properties [260 260 276 926 926 0 (:title) nil nil nil nil 278 924 1 # nil nil #10] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #15))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [276 276 276 926 926 0 nil section nil nil nil 276 926 nil # nil nil #15]) (paragraph (:standard-properties [276 276 276 599 600 1 nil planning nil nil nil nil nil nil # nil nil #18]) #("The CI(Continuous Integration) system for Genenetwork2 uses " 0 60 (:parent #21)) (link (:standard-properties [336 nil 375 389 391 0 nil nil nil nil nil nil nil nil # nil nil #21] :type "https" :type-explicit-p t :path "//github.com/features/actions" :format bracket :raw-link "https://github.com/features/actions" :application nil :search-option nil) #("Github\nActions" 0 14 (:parent #25))) #(". As such, it's important to have a way to run tests using\nfacilities provided by GUIX in a reproducible way. This project\nleverages GUIX to generate a docker container from which the unittests\nare ran from.\n" 0 208 (:parent #21))) (paragraph (:standard-properties [600 600 600 829 830 1 nil nil nil nil nil nil nil nil # nil nil #18]) #("Find instructions on how to set docker up inside GUIX " 0 54 (:parent #22)) (link (:standard-properties [654 nil 732 736 738 0 nil nil nil nil nil nil nil nil # nil nil #22] :type "https" :type-explicit-p t :path "//github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :application nil :search-option nil) #("here" 0 4 (:parent #26))) #(". This\ndocument will not get into that. It's assumed that you have a working\ndocker setup.\n" 0 91 (:parent #22))) (paragraph (:standard-properties [830 830 830 925 926 1 nil nil nil nil nil nil nil nil # nil nil #18]) #("The rest of this document outlines how the docker container used in\nthe CI builds was created.\n" 0 95 (:parent #23))))) (headline (:standard-properties [926 926 956 2234 2234 0 (:title) nil nil nil nil 958 2232 1 # nil nil #10] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 28) t] :title (#("Creating the Docker Images" 0 26 (:parent #16))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [956 956 956 2234 2234 0 nil section nil nil nil 956 2234 nil # nil nil #16]) (paragraph (:standard-properties [956 956 956 1070 1071 1 nil planning nil nil nil nil nil nil # nil nil #19]) #("The general idea is that GUIX is used to generate a set of binaries,\nwhich will be added to a base mariaDB image.\n" 0 114 (:parent #22))) (paragraph (:standard-properties [1071 1071 1071 1116 1117 1 nil nil nil nil nil nil nil nil # nil nil #19]) #("First create the gn2 tar archive by running:\n" 0 45 (:parent #23))) (src-block (:standard-properties [1117 1117 nil nil 1343 1 nil nil nil nil nil nil nil nil # nil nil #19] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 215) t])) (paragraph (:standard-properties [1343 1343 1343 1386 1387 1 nil nil nil nil nil nil nil nil # nil nil #19]) #("The output will look something similar to:\n" 0 43 (:parent #25))) (fixed-width (:standard-properties [1387 1387 nil nil 1454 2 nil nil nil nil nil nil nil nil # nil nil #19] :value "/gnu/store/x3m77vwaqcwba24p5s4lrb7w2ii16lj9-tarball-pack.tar.gz")) (paragraph (:standard-properties [1454 1454 1454 1639 1640 1 nil nil nil nil nil nil nil nil # nil nil #19]) #("Now create a folder from which will host the following dockerfile. You\ncan name this file Dockerfile. Note that mariadb is the base image\nsince it already has mariadb installed for us.\n" 0 185 (:parent #27))) (src-block (:standard-properties [1640 1640 nil nil 1887 1 nil nil nil nil nil nil nil nil # nil nil #19] :language "conf" :switches nil :parameters ":mkdirp yes :tangle ~/docker/Dockerfile" :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (57 236) t])) (paragraph (:standard-properties [1887 1887 1887 1934 1935 1 nil nil nil nil nil nil nil nil # nil nil #19]) #("Build the image(Note the fullstop at the end):\n" 0 47 (:parent #29))) (fixed-width (:standard-properties [1935 1935 nil nil 1995 2 nil nil nil nil nil nil nil nil # nil nil #19] :value "sudo docker build -t genenetwork2:latest -f Dockerfile .")) (paragraph (:standard-properties [1995 1995 1995 2048 2049 1 nil nil nil nil nil nil nil nil # nil nil #19]) #("To load the image interactively you've just created:\n" 0 53 (:parent #31))) (fixed-width (:standard-properties [2049 2049 nil nil 2094 2 nil nil nil nil nil nil nil nil # nil nil #19] :value "docker run -ti \"genenetwork2:latest\" bash")) (paragraph (:standard-properties [2094 2094 2094 2180 2181 1 nil nil nil nil nil nil nil nil # nil nil #19]) #("Assuming you have a docker instance running, you could always run\ncommands in it e.g:\n" 0 86 (:parent #33))) (fixed-width (:standard-properties [2181 2181 nil nil 2234 2 nil nil nil nil nil nil nil nil # nil nil #19] :value "docker run \"genenetwork2:latest\" python --version")))) (headline (:standard-properties [2234 2234 2258 2857 2857 0 (:title) nil nil nil nil 2260 2855 1 # nil nil #10] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 22) t] :title (#("Pushing to DockerHub" 0 20 (:parent #17))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [2258 2258 2258 2857 2857 0 nil section nil nil nil 2258 2857 nil # nil nil #17]) (paragraph (:standard-properties [2258 2258 2258 2364 2365 1 nil planning nil nil nil nil nil nil # nil nil #20]) #("We use DockerHub to store the docker images from which we use on our\nCI environment using Github Actions.\n" 0 106 (:parent #23))) (paragraph (:standard-properties [2365 2365 2365 2486 2487 1 nil nil nil nil nil nil nil nil # nil nil #20]) #("To push to dockerhub, first get the image name by running " 0 58 (:parent #24)) (verbatim (:standard-properties [2423 nil nil nil 2438 0 nil nil nil nil nil nil nil nil # nil nil #24] :value [org-element-deferred org-element--substring (1 14) t])) #(". Push to dockerhub using a command similar to:\n" 0 48 (:parent #24))) (fixed-width (:standard-properties [2487 2487 nil nil 2534 2 nil nil nil nil nil nil nil nil # nil nil #20] :value "docker push bonfacekilz/genenetwork2:latest")) (paragraph (:standard-properties [2534 2534 2534 2576 2577 1 nil nil nil nil nil nil nil nil # nil nil #20]) #("Right now, we have 2 images on DockerHub:\n" 0 42 (:parent #26))) (plain-list (:standard-properties [2577 2577 2577 2857 2857 0 nil nil nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #20] :type unordered) (item (:standard-properties [2577 2577 2579 2741 2741 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #27] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2579 2579 2579 2741 2741 0 nil nil nil nil nil nil nil nil # nil nil #30]) (link (:standard-properties [2579 nil nil nil 2652 0 nil nil nil nil nil nil nil nil # nil nil #33] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python2 version of gn2. Don't use this. Please use the\n python3 image!\n" 0 89 (:parent #33)))) (item (:standard-properties [2741 2741 2743 2857 2857 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #27] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2743 2743 2743 2857 2857 0 nil nil nil nil nil nil nil nil # nil nil #31]) (link (:standard-properties [2743 nil nil nil 2816 0 nil nil nil nil nil nil nil nil # nil nil #34] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python3 version of gn2.\n" 0 41 (:parent #34))))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #5))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) #0)]) (plain-list (:standard-properties [113 113 113 259 260 1 nil planning nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #0] :type unordered) (item (:standard-properties [113 113 115 147 147 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #3] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [115 115 115 147 147 0 nil nil nil nil nil nil nil nil # nil nil #6]) (link (:standard-properties [115 nil 132 144 146 0 nil nil nil nil nil nil nil nil # nil nil #9] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #12))) #("\n" 0 1 (:parent #9)))) (item (:standard-properties [147 147 149 209 209 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #3] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [149 149 149 209 209 0 nil nil nil nil nil nil nil nil # nil nil #7]) (link (:standard-properties [149 nil 180 206 208 0 nil nil nil nil nil nil nil nil # nil nil #10] :type "custom-id" :type-explicit-p nil :path "creating-the-docker-images" :format bracket :raw-link "#creating-the-docker-images" :application nil :search-option nil) #("Creating the Docker Images" 0 26 (:parent #13))) #("\n" 0 1 (:parent #10)))) (item (:standard-properties [209 209 211 259 259 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #3] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [211 211 211 259 259 0 nil nil nil nil nil nil nil nil # nil nil #8]) (link (:standard-properties [211 nil 236 256 258 0 nil nil nil nil nil nil nil nil # nil nil #11] :type "custom-id" :type-explicit-p nil :path "pushing-to-dockerhub" :format bracket :raw-link "#pushing-to-dockerhub" :application nil :search-option nil) #("Pushing to DockerHub" 0 20 (:parent #14))) #("\n" 0 1 (:parent #11)))))) (:export-options (body-only) :back-end #s(org-export-backend :name html :parent nil :transcoders ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :options ((:html-doctype "HTML_DOCTYPE" nil org-html-doctype) (:html-container "HTML_CONTAINER" nil org-html-container-element) (:html-content-class "HTML_CONTENT_CLASS" nil org-html-content-class) (:description "DESCRIPTION" nil nil newline) (:keywords "KEYWORDS" nil nil space) (:html-html5-fancy nil "html5-fancy" org-html-html5-fancy) (:html-link-use-abs-url nil "html-link-use-abs-url" org-html-link-use-abs-url) (:html-link-home "HTML_LINK_HOME" nil org-html-link-home) (:html-link-up "HTML_LINK_UP" nil org-html-link-up) (:html-mathjax "HTML_MATHJAX" nil "" space) (:html-equation-reference-format "HTML_EQUATION_REFERENCE_FORMAT" nil org-html-equation-reference-format t) (:html-postamble nil "html-postamble" org-html-postamble) (:html-preamble nil "html-preamble" org-html-preamble) (:html-head "HTML_HEAD" nil org-html-head newline) (:html-head-extra "HTML_HEAD_EXTRA" nil org-html-head-extra newline) (:subtitle "SUBTITLE" nil nil parse) (:html-head-include-default-style nil "html-style" org-html-head-include-default-style) (:html-head-include-scripts nil "html-scripts" org-html-head-include-scripts) (:html-allow-name-attribute-in-anchors nil nil org-html-allow-name-attribute-in-anchors) (:html-divs nil nil org-html-divs) (:html-checkbox-type nil nil org-html-checkbox-type) (:html-extension nil nil org-html-extension) (:html-footnote-format nil nil org-html-footnote-format) (:html-footnote-separator nil nil org-html-footnote-separator) (:html-footnotes-section nil nil org-html-footnotes-section) (:html-format-drawer-function nil nil org-html-format-drawer-function) (:html-format-headline-function nil nil org-html-format-headline-function) (:html-format-inlinetask-function nil nil org-html-format-inlinetask-function) (:html-home/up-format nil nil org-html-home/up-format) (:html-indent nil nil org-html-indent) (:html-infojs-options nil nil org-html-infojs-options) (:html-infojs-template nil nil org-html-infojs-template) (:html-inline-image-rules nil nil org-html-inline-image-rules) (:html-link-org-files-as-html nil nil org-html-link-org-files-as-html) (:html-mathjax-options nil nil org-html-mathjax-options) (:html-mathjax-template nil nil org-html-mathjax-template) (:html-metadata-timestamp-format nil nil org-html-metadata-timestamp-format) (:html-postamble-format nil nil org-html-postamble-format) (:html-preamble-format nil nil org-html-preamble-format) (:html-prefer-user-labels nil nil org-html-prefer-user-labels) (:html-self-link-headlines nil nil org-html-self-link-headlines) (:html-table-align-individual-fields nil nil org-html-table-align-individual-fields) (:html-table-caption-above nil nil org-html-table-caption-above) (:html-table-data-tags nil nil org-html-table-data-tags) (:html-table-header-tags nil nil org-html-table-header-tags) (:html-table-use-header-tags-for-first-column nil nil org-html-table-use-header-tags-for-first-column) (:html-tag-class-prefix nil nil org-html-tag-class-prefix) (:html-text-markup-alist nil nil org-html-text-markup-alist) (:html-todo-kwd-class-prefix nil nil org-html-todo-kwd-class-prefix) (:html-toplevel-hlevel nil nil org-html-toplevel-hlevel) (:html-use-infojs nil nil org-html-use-infojs) (:html-validation-link nil nil org-html-validation-link) (:html-viewport nil nil org-html-viewport) (:html-inline-images nil nil org-html-inline-images) (:html-table-attributes nil nil org-html-table-default-attributes) (:html-table-row-open-tag nil nil org-html-table-row-open-tag) (:html-table-row-close-tag nil nil org-html-table-row-close-tag) (:html-xml-declaration nil nil org-html-xml-declaration) (:html-wrap-src-lines nil nil org-html-wrap-src-lines) (:html-klipsify-src nil nil org-html-klipsify-src) (:html-klipse-css nil nil org-html-klipse-css) (:html-klipse-js nil nil org-html-klipse-js) (:html-klipse-selection-script nil nil org-html-klipse-selection-script) (:infojs-opt "INFOJS_OPT" nil nil) (:creator "CREATOR" nil org-html-creator-string) (:with-latex nil "tex" org-html-with-latex) (:latex-header "LATEX_HEADER" nil nil newline)) :filters ((:filter-options . org-html-infojs-install-script) (:filter-parse-tree . org-html-image-link-filter) (:filter-final-output . org-html-final-function)) :blocks nil :menu (104 "Export to HTML" ((72 "As HTML buffer" org-html-export-as-html) (104 "As HTML file" org-html-export-to-html) (111 "As HTML file and open" (lambda (a s v b) (if a (org-html-export-to-html t s v b) (org-open-file (org-html-export-to-html nil s v b)))))))) :translate-alist ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :exported-data # :input-buffer " *temp*" :input-file nil :html-doctype "xhtml-strict" :html-container "div" :html-content-class "content" :description nil :keywords nil :html-html5-fancy nil :html-link-use-abs-url nil :html-link-home "" :html-link-up "" :html-mathjax "" :html-equation-reference-format "\\eqref{%s}" :html-postamble auto :html-preamble t :html-head "" :html-head-extra "" :subtitle nil :html-head-include-default-style t :html-head-include-scripts nil :html-allow-name-attribute-in-anchors nil :html-divs ((preamble "div" "preamble") (content "div" "content") (postamble "div" "postamble")) :html-checkbox-type ascii :html-extension "html" :html-footnote-format "%s" :html-footnote-separator ", " :html-footnotes-section "
\n

%s:

\n
\n%s\n
\n
" :html-format-drawer-function #f(compiled-function (name contents) #) :html-format-headline-function org-html-format-headline-default-function :html-format-inlinetask-function org-html-format-inlinetask-default-function :html-home/up-format "
\n UP \n |\n HOME \n
" :html-indent nil :html-infojs-options ((path . "https://orgmode.org/org-info.js") (view . "info") (toc . :with-toc) (ftoc . "0") (tdepth . "max") (sdepth . "max") (mouse . "underline") (buttons . "0") (ltoc . "1") (up . :html-link-up) (home . :html-link-home)) :html-infojs-template "\n\n" :html-inline-image-rules (("file" . "\\(?:\\.\\(?:avif\\|gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("http" . "\\(?:\\.\\(?:avif\\|gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("https" . "\\(?:\\.\\(?:avif\\|gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)")) :html-link-org-files-as-html t :html-mathjax-options ((path "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js") (scale 1.0) (align "center") (font "mathjax-modern") (overflow "overflow") (tags "ams") (indent "0em") (multlinewidth "85%") (tagindent ".8em") (tagside "right")) :html-mathjax-template "\n\n\n" :html-metadata-timestamp-format "%Y-%m-%d %a %H:%M" :html-postamble-format (("en" "

Author: %a (%e)

\n

Date: %d

\n

%c

\n

%v

")) :html-preamble-format (("en" "")) :html-prefer-user-labels nil :html-self-link-headlines nil :html-table-align-individual-fields t :html-table-caption-above t :html-table-data-tags ("" . "") :html-table-header-tags ("" . "") :html-table-use-header-tags-for-first-column nil :html-tag-class-prefix "" :html-text-markup-alist ((bold . "%s") (code . "%s") (italic . "%s") (strike-through . "%s") (underline . "%s") (verbatim . "%s")) :html-todo-kwd-class-prefix "" :html-toplevel-hlevel 2 :html-use-infojs when-configured :html-validation-link "Validate" :html-viewport ((width "device-width") (initial-scale "1") (minimum-scale "") (maximum-scale "") (user-scalable "")) :html-inline-images t :html-table-attributes (:border "2" :cellspacing "0" :cellpadding "6" :rules "groups" :frame "hsides") :html-table-row-open-tag "" :html-table-row-close-tag "" :html-xml-declaration (("html" . "") ("php" . "\"; ?>")) :html-wrap-src-lines nil :html-klipsify-src nil :html-klipse-css "https://storage.googleapis.com/app.klipse.tech/css/codemirror.css" :html-klipse-js "https://storage.googleapis.com/app.klipse.tech/plugin_prod/js/klipse_plugin.min.js" :html-klipse-selection-script "window.klipse_settings = {selector_eval_html: '.src-html',\n selector_eval_js: '.src-js',\n selector_eval_python_client: '.src-python',\n selector_eval_scheme: '.src-scheme',\n selector: '.src-clojure',\n selector_eval_ruby: '.src-ruby'};" :infojs-opt nil :creator "Emacs 30.2 (Org mode 9.7.11)" :with-latex t :latex-header nil :title (#("Genenetwork2 Dockerized" 0 23 (:parent #148))) :date nil :author (#("unknown" 0 7 (:parent #152))) :email "unknown@genenetwork-development" :language "en" :select-tags ("export") :exclude-tags ("noexport") :headline-levels 3 :preserve-breaks nil :section-numbers nil :time-stamp-file t :with-archived-trees headline :with-author t :expand-links t :with-broken-links nil :with-clocks nil :with-creator nil :with-date t :with-drawers (not "LOGBOOK") :with-email nil :with-emphasize t :with-entities t :with-fixed-width t :with-footnotes t :with-inlinetasks t :with-planning nil :with-priority nil :with-properties nil :with-smart-quotes nil :with-special-strings t :with-special-rows nil :with-statistics-cookies t :with-sub-superscript t :with-toc nil :with-tables t :with-tags t :with-tasks t :with-timestamps t :with-title t :with-todo-keywords t :with-cite-processors t :cite-export (basic nil nil) :bibliography nil :filter-body nil :filter-bold nil :filter-babel-call nil :filter-center-block nil :filter-clock nil :filter-code nil :filter-diary-sexp nil :filter-drawer nil :filter-dynamic-block nil :filter-entity nil :filter-example-block nil :filter-export-block nil :filter-export-snippet nil :filter-final-output (org-html-final-function) :filter-fixed-width nil :filter-footnote-definition nil :filter-footnote-reference nil :filter-headline nil :filter-horizontal-rule nil :filter-inline-babel-call nil :filter-inline-src-block nil :filter-inlinetask nil :filter-italic nil :filter-item nil :filter-keyword nil :filter-latex-environment nil :filter-latex-fragment nil :filter-line-break nil :filter-link nil :filter-node-property nil :filter-options (org-html-infojs-install-script) :filter-paragraph nil :filter-parse-tree (org-html-image-link-filter) :filter-plain-list nil :filter-plain-text nil :filter-planning nil :filter-property-drawer nil :filter-quote-block nil :filter-radio-target nil :filter-section nil :filter-special-block nil :filter-src-block nil :filter-statistics-cookie nil :filter-strike-through nil :filter-subscript nil :filter-superscript nil :filter-table nil :filter-table-cell nil :filter-table-row nil :filter-target nil :filter-timestamp nil :filter-underline nil :filter-verbatim nil :filter-verse-block nil :ignore-list nil :parse-tree (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 35 35 0 nil first-section nil nil nil 1 35 nil # nil nil #344]) (keyword (:standard-properties [1 1 nil nil 35 1 nil top-comment nil nil nil nil nil nil # nil nil #347] :key "TITLE" :value "Genenetwork2 Dockerized"))) (headline (:standard-properties [35 35 113 260 260 0 (:title) nil nil nil nil 115 258 1 # nil nil #344] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #348))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [113 113 113 260 260 0 nil section nil nil nil 113 260 nil # nil nil #348]) (plain-list (:standard-properties [113 113 113 259 260 1 nil planning nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #351] :type unordered) (item (:standard-properties [113 113 115 147 147 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #354] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [115 115 115 147 147 0 nil nil nil nil nil nil nil nil # nil nil #357]) (link (:standard-properties [115 nil 132 144 146 0 nil nil nil nil nil nil nil nil # nil nil #360] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #363))) #("\n" 0 1 (:parent #360)))) (item (:standard-properties [147 147 149 209 209 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #354] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [149 149 149 209 209 0 nil nil nil nil nil nil nil nil # nil nil #358]) (link (:standard-properties [149 nil 180 206 208 0 nil nil nil nil nil nil nil nil # nil nil #361] :type "custom-id" :type-explicit-p nil :path "creating-the-docker-images" :format bracket :raw-link "#creating-the-docker-images" :application nil :search-option nil) #("Creating the Docker Images" 0 26 (:parent #364))) #("\n" 0 1 (:parent #361)))) (item (:standard-properties [209 209 211 259 259 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #354] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [211 211 211 259 259 0 nil nil nil nil nil nil nil nil # nil nil #359]) (link (:standard-properties [211 nil 236 256 258 0 nil nil nil nil nil nil nil nil # nil nil #362] :type "custom-id" :type-explicit-p nil :path "pushing-to-dockerhub" :format bracket :raw-link "#pushing-to-dockerhub" :application nil :search-option nil) #("Pushing to DockerHub" 0 20 (:parent #365))) #("\n" 0 1 (:parent #362))))))) (headline (:standard-properties [260 260 276 926 926 0 (:title) nil nil nil nil 278 924 1 # nil nil #344] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #349))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [276 276 276 926 926 0 nil section nil nil nil 276 926 nil # nil nil #349]) (paragraph (:standard-properties [276 276 276 599 600 1 nil planning nil nil nil nil nil nil # nil nil #352]) #("The CI(Continuous Integration) system for Genenetwork2 uses " 0 60 (:parent #355)) (link (:standard-properties [336 nil 375 389 391 0 nil nil nil nil nil nil nil nil # nil nil #355] :type "https" :type-explicit-p t :path "//github.com/features/actions" :format bracket :raw-link "https://github.com/features/actions" :application nil :search-option nil) #("Github\nActions" 0 14 (:parent #359))) #(". As such, it's important to have a way to run tests using\nfacilities provided by GUIX in a reproducible way. This project\nleverages GUIX to generate a docker container from which the unittests\nare ran from.\n" 0 208 (:parent #355))) (paragraph (:standard-properties [600 600 600 829 830 1 nil nil nil nil nil nil nil nil # nil nil #352]) #("Find instructions on how to set docker up inside GUIX " 0 54 (:parent #356)) (link (:standard-properties [654 nil 732 736 738 0 nil nil nil nil nil nil nil nil # nil nil #356] :type "https" :type-explicit-p t :path "//github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :application nil :search-option nil) #("here" 0 4 (:parent #360))) #(". This\ndocument will not get into that. It's assumed that you have a working\ndocker setup.\n" 0 91 (:parent #356))) (paragraph (:standard-properties [830 830 830 925 926 1 nil nil nil nil nil nil nil nil # nil nil #352]) #("The rest of this document outlines how the docker container used in\nthe CI builds was created.\n" 0 95 (:parent #357))))) (headline (:standard-properties [926 926 956 2234 2234 0 (:title) nil nil nil nil 958 2232 1 # nil nil #344] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 28) t] :title (#("Creating the Docker Images" 0 26 (:parent #350))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [956 956 956 2234 2234 0 nil section nil nil nil 956 2234 nil # nil nil #350]) (paragraph (:standard-properties [956 956 956 1070 1071 1 nil planning nil nil nil nil nil nil # nil nil #353]) #("The general idea is that GUIX is used to generate a set of binaries,\nwhich will be added to a base mariaDB image.\n" 0 114 (:parent #356))) (paragraph (:standard-properties [1071 1071 1071 1116 1117 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("First create the gn2 tar archive by running:\n" 0 45 (:parent #357))) (src-block (:standard-properties [1117 1117 nil nil 1343 1 nil nil nil nil nil nil nil nil # nil nil #353] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 215) t])) (paragraph (:standard-properties [1343 1343 1343 1386 1387 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("The output will look something similar to:\n" 0 43 (:parent #359))) (fixed-width (:standard-properties [1387 1387 nil nil 1454 2 nil nil nil nil nil nil nil nil # nil nil #353] :value "/gnu/store/x3m77vwaqcwba24p5s4lrb7w2ii16lj9-tarball-pack.tar.gz")) (paragraph (:standard-properties [1454 1454 1454 1639 1640 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("Now create a folder from which will host the following dockerfile. You\ncan name this file Dockerfile. Note that mariadb is the base image\nsince it already has mariadb installed for us.\n" 0 185 (:parent #361))) (src-block (:standard-properties [1640 1640 nil nil 1887 1 nil nil nil nil nil nil nil nil # nil nil #353] :language "conf" :switches nil :parameters ":mkdirp yes :tangle ~/docker/Dockerfile" :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (57 236) t])) (paragraph (:standard-properties [1887 1887 1887 1934 1935 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("Build the image(Note the fullstop at the end):\n" 0 47 (:parent #363))) (fixed-width (:standard-properties [1935 1935 nil nil 1995 2 nil nil nil nil nil nil nil nil # nil nil #353] :value "sudo docker build -t genenetwork2:latest -f Dockerfile .")) (paragraph (:standard-properties [1995 1995 1995 2048 2049 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("To load the image interactively you've just created:\n" 0 53 (:parent #365))) (fixed-width (:standard-properties [2049 2049 nil nil 2094 2 nil nil nil nil nil nil nil nil # nil nil #353] :value "docker run -ti \"genenetwork2:latest\" bash")) (paragraph (:standard-properties [2094 2094 2094 2180 2181 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("Assuming you have a docker instance running, you could always run\ncommands in it e.g:\n" 0 86 (:parent #367))) (fixed-width (:standard-properties [2181 2181 nil nil 2234 2 nil nil nil nil nil nil nil nil # nil nil #353] :value "docker run \"genenetwork2:latest\" python --version")))) (headline (:standard-properties [2234 2234 2258 2857 2857 0 (:title) nil nil nil nil 2260 2855 1 # nil nil #344] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 22) t] :title (#("Pushing to DockerHub" 0 20 (:parent #351))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [2258 2258 2258 2857 2857 0 nil section nil nil nil 2258 2857 nil # nil nil #351]) (paragraph (:standard-properties [2258 2258 2258 2364 2365 1 nil planning nil nil nil nil nil nil # nil nil #354]) #("We use DockerHub to store the docker images from which we use on our\nCI environment using Github Actions.\n" 0 106 (:parent #357))) (paragraph (:standard-properties [2365 2365 2365 2486 2487 1 nil nil nil nil nil nil nil nil # nil nil #354]) #("To push to dockerhub, first get the image name by running " 0 58 (:parent #358)) (verbatim (:standard-properties [2423 nil nil nil 2438 0 nil nil nil nil nil nil nil nil # nil nil #358] :value [org-element-deferred org-element--substring (1 14) t])) #(". Push to dockerhub using a command similar to:\n" 0 48 (:parent #358))) (fixed-width (:standard-properties [2487 2487 nil nil 2534 2 nil nil nil nil nil nil nil nil # nil nil #354] :value "docker push bonfacekilz/genenetwork2:latest")) (paragraph (:standard-properties [2534 2534 2534 2576 2577 1 nil nil nil nil nil nil nil nil # nil nil #354]) #("Right now, we have 2 images on DockerHub:\n" 0 42 (:parent #360))) (plain-list (:standard-properties [2577 2577 2577 2857 2857 0 nil nil nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #354] :type unordered) (item (:standard-properties [2577 2577 2579 2741 2741 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #361] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2579 2579 2579 2741 2741 0 nil nil nil nil nil nil nil nil # nil nil #364]) (link (:standard-properties [2579 nil nil nil 2652 0 nil nil nil nil nil nil nil nil # nil nil #367] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python2 version of gn2. Don't use this. Please use the\n python3 image!\n" 0 89 (:parent #367)))) (item (:standard-properties [2741 2741 2743 2857 2857 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #361] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2743 2743 2743 2857 2857 0 nil nil nil nil nil nil nil nil # nil nil #365]) (link (:standard-properties [2743 nil nil nil 2816 0 nil nil nil nil nil nil nil nil # nil nil #368] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python3 version of gn2.\n" 0 41 (:parent #368)))))))) :headline-offset 0 :headline-numbering nil :id-alist nil :citations nil :id-local-cache #)) #f(compiled-function (element) #)((section (:standard-properties [113 113 113 260 260 0 nil section nil nil nil 113 260 nil # nil nil (headline (:standard-properties [35 35 113 260 260 0 (:title) nil nil nil nil 115 258 1 # nil nil (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 35 35 0 nil first-section nil nil nil 1 35 nil # nil nil #10]) (keyword (:standard-properties [1 1 nil nil 35 1 nil top-comment nil nil nil nil nil nil # nil nil #13] :key "TITLE" :value "Genenetwork2 Dockerized"))) #5 (headline (:standard-properties [260 260 276 926 926 0 (:title) nil nil nil nil 278 924 1 # nil nil #10] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #15))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [276 276 276 926 926 0 nil section nil nil nil 276 926 nil # nil nil #15]) (paragraph (:standard-properties [276 276 276 599 600 1 nil planning nil nil nil nil nil nil # nil nil #18]) #("The CI(Continuous Integration) system for Genenetwork2 uses " 0 60 (:parent #21)) (link (:standard-properties [336 nil 375 389 391 0 nil nil nil nil nil nil nil nil # nil nil #21] :type "https" :type-explicit-p t :path "//github.com/features/actions" :format bracket :raw-link "https://github.com/features/actions" :application nil :search-option nil) #("Github\nActions" 0 14 (:parent #25))) #(". As such, it's important to have a way to run tests using\nfacilities provided by GUIX in a reproducible way. This project\nleverages GUIX to generate a docker container from which the unittests\nare ran from.\n" 0 208 (:parent #21))) (paragraph (:standard-properties [600 600 600 829 830 1 nil nil nil nil nil nil nil nil # nil nil #18]) #("Find instructions on how to set docker up inside GUIX " 0 54 (:parent #22)) (link (:standard-properties [654 nil 732 736 738 0 nil nil nil nil nil nil nil nil # nil nil #22] :type "https" :type-explicit-p t :path "//github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :application nil :search-option nil) #("here" 0 4 (:parent #26))) #(". This\ndocument will not get into that. It's assumed that you have a working\ndocker setup.\n" 0 91 (:parent #22))) (paragraph (:standard-properties [830 830 830 925 926 1 nil nil nil nil nil nil nil nil # nil nil #18]) #("The rest of this document outlines how the docker container used in\nthe CI builds was created.\n" 0 95 (:parent #23))))) (headline (:standard-properties [926 926 956 2234 2234 0 (:title) nil nil nil nil 958 2232 1 # nil nil #10] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 28) t] :title (#("Creating the Docker Images" 0 26 (:parent #16))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [956 956 956 2234 2234 0 nil section nil nil nil 956 2234 nil # nil nil #16]) (paragraph (:standard-properties [956 956 956 1070 1071 1 nil planning nil nil nil nil nil nil # nil nil #19]) #("The general idea is that GUIX is used to generate a set of binaries,\nwhich will be added to a base mariaDB image.\n" 0 114 (:parent #22))) (paragraph (:standard-properties [1071 1071 1071 1116 1117 1 nil nil nil nil nil nil nil nil # nil nil #19]) #("First create the gn2 tar archive by running:\n" 0 45 (:parent #23))) (src-block (:standard-properties [1117 1117 nil nil 1343 1 nil nil nil nil nil nil nil nil # nil nil #19] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 215) t])) (paragraph (:standard-properties [1343 1343 1343 1386 1387 1 nil nil nil nil nil nil nil nil # nil nil #19]) #("The output will look something similar to:\n" 0 43 (:parent #25))) (fixed-width (:standard-properties [1387 1387 nil nil 1454 2 nil nil nil nil nil nil nil nil # nil nil #19] :value "/gnu/store/x3m77vwaqcwba24p5s4lrb7w2ii16lj9-tarball-pack.tar.gz")) (paragraph (:standard-properties [1454 1454 1454 1639 1640 1 nil nil nil nil nil nil nil nil # nil nil #19]) #("Now create a folder from which will host the following dockerfile. You\ncan name this file Dockerfile. Note that mariadb is the base image\nsince it already has mariadb installed for us.\n" 0 185 (:parent #27))) (src-block (:standard-properties [1640 1640 nil nil 1887 1 nil nil nil nil nil nil nil nil # nil nil #19] :language "conf" :switches nil :parameters ":mkdirp yes :tangle ~/docker/Dockerfile" :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (57 236) t])) (paragraph (:standard-properties [1887 1887 1887 1934 1935 1 nil nil nil nil nil nil nil nil # nil nil #19]) #("Build the image(Note the fullstop at the end):\n" 0 47 (:parent #29))) (fixed-width (:standard-properties [1935 1935 nil nil 1995 2 nil nil nil nil nil nil nil nil # nil nil #19] :value "sudo docker build -t genenetwork2:latest -f Dockerfile .")) (paragraph (:standard-properties [1995 1995 1995 2048 2049 1 nil nil nil nil nil nil nil nil # nil nil #19]) #("To load the image interactively you've just created:\n" 0 53 (:parent #31))) (fixed-width (:standard-properties [2049 2049 nil nil 2094 2 nil nil nil nil nil nil nil nil # nil nil #19] :value "docker run -ti \"genenetwork2:latest\" bash")) (paragraph (:standard-properties [2094 2094 2094 2180 2181 1 nil nil nil nil nil nil nil nil # nil nil #19]) #("Assuming you have a docker instance running, you could always run\ncommands in it e.g:\n" 0 86 (:parent #33))) (fixed-width (:standard-properties [2181 2181 nil nil 2234 2 nil nil nil nil nil nil nil nil # nil nil #19] :value "docker run \"genenetwork2:latest\" python --version")))) (headline (:standard-properties [2234 2234 2258 2857 2857 0 (:title) nil nil nil nil 2260 2855 1 # nil nil #10] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 22) t] :title (#("Pushing to DockerHub" 0 20 (:parent #17))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [2258 2258 2258 2857 2857 0 nil section nil nil nil 2258 2857 nil # nil nil #17]) (paragraph (:standard-properties [2258 2258 2258 2364 2365 1 nil planning nil nil nil nil nil nil # nil nil #20]) #("We use DockerHub to store the docker images from which we use on our\nCI environment using Github Actions.\n" 0 106 (:parent #23))) (paragraph (:standard-properties [2365 2365 2365 2486 2487 1 nil nil nil nil nil nil nil nil # nil nil #20]) #("To push to dockerhub, first get the image name by running " 0 58 (:parent #24)) (verbatim (:standard-properties [2423 nil nil nil 2438 0 nil nil nil nil nil nil nil nil # nil nil #24] :value [org-element-deferred org-element--substring (1 14) t])) #(". Push to dockerhub using a command similar to:\n" 0 48 (:parent #24))) (fixed-width (:standard-properties [2487 2487 nil nil 2534 2 nil nil nil nil nil nil nil nil # nil nil #20] :value "docker push bonfacekilz/genenetwork2:latest")) (paragraph (:standard-properties [2534 2534 2534 2576 2577 1 nil nil nil nil nil nil nil nil # nil nil #20]) #("Right now, we have 2 images on DockerHub:\n" 0 42 (:parent #26))) (plain-list (:standard-properties [2577 2577 2577 2857 2857 0 nil nil nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #20] :type unordered) (item (:standard-properties [2577 2577 2579 2741 2741 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #27] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2579 2579 2579 2741 2741 0 nil nil nil nil nil nil nil nil # nil nil #30]) (link (:standard-properties [2579 nil nil nil 2652 0 nil nil nil nil nil nil nil nil # nil nil #33] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python2 version of gn2. Don't use this. Please use the\n python3 image!\n" 0 89 (:parent #33)))) (item (:standard-properties [2741 2741 2743 2857 2857 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #27] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2743 2743 2743 2857 2857 0 nil nil nil nil nil nil nil nil # nil nil #31]) (link (:standard-properties [2743 nil nil nil 2816 0 nil nil nil nil nil nil nil nil # nil nil #34] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python3 version of gn2.\n" 0 41 (:parent #34))))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #5))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) #0)]) (plain-list (:standard-properties [113 113 113 259 260 1 nil planning nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #0] :type unordered) (item (:standard-properties [113 113 115 147 147 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #3] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [115 115 115 147 147 0 nil nil nil nil nil nil nil nil # nil nil #6]) (link (:standard-properties [115 nil 132 144 146 0 nil nil nil nil nil nil nil nil # nil nil #9] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #12))) #("\n" 0 1 (:parent #9)))) (item (:standard-properties [147 147 149 209 209 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #3] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [149 149 149 209 209 0 nil nil nil nil nil nil nil nil # nil nil #7]) (link (:standard-properties [149 nil 180 206 208 0 nil nil nil nil nil nil nil nil # nil nil #10] :type "custom-id" :type-explicit-p nil :path "creating-the-docker-images" :format bracket :raw-link "#creating-the-docker-images" :application nil :search-option nil) #("Creating the Docker Images" 0 26 (:parent #13))) #("\n" 0 1 (:parent #10)))) (item (:standard-properties [209 209 211 259 259 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #3] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [211 211 211 259 259 0 nil nil nil nil nil nil nil nil # nil nil #8]) (link (:standard-properties [211 nil 236 256 258 0 nil nil nil nil nil nil nil nil # nil nil #11] :type "custom-id" :type-explicit-p nil :path "pushing-to-dockerhub" :format bracket :raw-link "#pushing-to-dockerhub" :application nil :search-option nil) #("Pushing to DockerHub" 0 20 (:parent #14))) #("\n" 0 1 (:parent #11))))))) mapconcat(#f(compiled-function (element) #) ((section (:standard-properties [113 113 113 260 260 0 nil section nil nil nil 113 260 nil # nil nil (headline (:standard-properties [35 35 113 260 260 0 (:title) nil nil nil nil 115 258 1 # nil nil (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 35 35 0 nil first-section nil nil nil 1 35 nil # nil nil #11]) (keyword (:standard-properties [1 1 nil nil 35 1 nil top-comment nil nil nil nil nil nil # nil nil #14] :key "TITLE" :value "Genenetwork2 Dockerized"))) #6 (headline (:standard-properties [260 260 276 926 926 0 (:title) nil nil nil nil 278 924 1 # nil nil #11] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #16))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [276 276 276 926 926 0 nil section nil nil nil 276 926 nil # nil nil #16]) (paragraph (:standard-properties [276 276 276 599 600 1 nil planning nil nil nil nil nil nil # nil nil #19]) #("The CI(Continuous Integration) system for Genenetwork2 uses " 0 60 (:parent #22)) (link (:standard-properties [336 nil 375 389 391 0 nil nil nil nil nil nil nil nil # nil nil #22] :type "https" :type-explicit-p t :path "//github.com/features/actions" :format bracket :raw-link "https://github.com/features/actions" :application nil :search-option nil) #("Github\nActions" 0 14 (:parent #26))) #(". As such, it's important to have a way to run tests using\nfacilities provided by GUIX in a reproducible way. This project\nleverages GUIX to generate a docker container from which the unittests\nare ran from.\n" 0 208 (:parent #22))) (paragraph (:standard-properties [600 600 600 829 830 1 nil nil nil nil nil nil nil nil # nil nil #19]) #("Find instructions on how to set docker up inside GUIX " 0 54 (:parent #23)) (link (:standard-properties [654 nil 732 736 738 0 nil nil nil nil nil nil nil nil # nil nil #23] :type "https" :type-explicit-p t :path "//github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :application nil :search-option nil) #("here" 0 4 (:parent #27))) #(". This\ndocument will not get into that. It's assumed that you have a working\ndocker setup.\n" 0 91 (:parent #23))) (paragraph (:standard-properties [830 830 830 925 926 1 nil nil nil nil nil nil nil nil # nil nil #19]) #("The rest of this document outlines how the docker container used in\nthe CI builds was created.\n" 0 95 (:parent #24))))) (headline (:standard-properties [926 926 956 2234 2234 0 (:title) nil nil nil nil 958 2232 1 # nil nil #11] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 28) t] :title (#("Creating the Docker Images" 0 26 (:parent #17))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [956 956 956 2234 2234 0 nil section nil nil nil 956 2234 nil # nil nil #17]) (paragraph (:standard-properties [956 956 956 1070 1071 1 nil planning nil nil nil nil nil nil # nil nil #20]) #("The general idea is that GUIX is used to generate a set of binaries,\nwhich will be added to a base mariaDB image.\n" 0 114 (:parent #23))) (paragraph (:standard-properties [1071 1071 1071 1116 1117 1 nil nil nil nil nil nil nil nil # nil nil #20]) #("First create the gn2 tar archive by running:\n" 0 45 (:parent #24))) (src-block (:standard-properties [1117 1117 nil nil 1343 1 nil nil nil nil nil nil nil nil # nil nil #20] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 215) t])) (paragraph (:standard-properties [1343 1343 1343 1386 1387 1 nil nil nil nil nil nil nil nil # nil nil #20]) #("The output will look something similar to:\n" 0 43 (:parent #26))) (fixed-width (:standard-properties [1387 1387 nil nil 1454 2 nil nil nil nil nil nil nil nil # nil nil #20] :value "/gnu/store/x3m77vwaqcwba24p5s4lrb7w2ii16lj9-tarball-pack.tar.gz")) (paragraph (:standard-properties [1454 1454 1454 1639 1640 1 nil nil nil nil nil nil nil nil # nil nil #20]) #("Now create a folder from which will host the following dockerfile. You\ncan name this file Dockerfile. Note that mariadb is the base image\nsince it already has mariadb installed for us.\n" 0 185 (:parent #28))) (src-block (:standard-properties [1640 1640 nil nil 1887 1 nil nil nil nil nil nil nil nil # nil nil #20] :language "conf" :switches nil :parameters ":mkdirp yes :tangle ~/docker/Dockerfile" :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (57 236) t])) (paragraph (:standard-properties [1887 1887 1887 1934 1935 1 nil nil nil nil nil nil nil nil # nil nil #20]) #("Build the image(Note the fullstop at the end):\n" 0 47 (:parent #30))) (fixed-width (:standard-properties [1935 1935 nil nil 1995 2 nil nil nil nil nil nil nil nil # nil nil #20] :value "sudo docker build -t genenetwork2:latest -f Dockerfile .")) (paragraph (:standard-properties [1995 1995 1995 2048 2049 1 nil nil nil nil nil nil nil nil # nil nil #20]) #("To load the image interactively you've just created:\n" 0 53 (:parent #32))) (fixed-width (:standard-properties [2049 2049 nil nil 2094 2 nil nil nil nil nil nil nil nil # nil nil #20] :value "docker run -ti \"genenetwork2:latest\" bash")) (paragraph (:standard-properties [2094 2094 2094 2180 2181 1 nil nil nil nil nil nil nil nil # nil nil #20]) #("Assuming you have a docker instance running, you could always run\ncommands in it e.g:\n" 0 86 (:parent #34))) (fixed-width (:standard-properties [2181 2181 nil nil 2234 2 nil nil nil nil nil nil nil nil # nil nil #20] :value "docker run \"genenetwork2:latest\" python --version")))) (headline (:standard-properties [2234 2234 2258 2857 2857 0 (:title) nil nil nil nil 2260 2855 1 # nil nil #11] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 22) t] :title (#("Pushing to DockerHub" 0 20 (:parent #18))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [2258 2258 2258 2857 2857 0 nil section nil nil nil 2258 2857 nil # nil nil #18]) (paragraph (:standard-properties [2258 2258 2258 2364 2365 1 nil planning nil nil nil nil nil nil # nil nil #21]) #("We use DockerHub to store the docker images from which we use on our\nCI environment using Github Actions.\n" 0 106 (:parent #24))) (paragraph (:standard-properties [2365 2365 2365 2486 2487 1 nil nil nil nil nil nil nil nil # nil nil #21]) #("To push to dockerhub, first get the image name by running " 0 58 (:parent #25)) (verbatim (:standard-properties [2423 nil nil nil 2438 0 nil nil nil nil nil nil nil nil # nil nil #25] :value [org-element-deferred org-element--substring (1 14) t])) #(". Push to dockerhub using a command similar to:\n" 0 48 (:parent #25))) (fixed-width (:standard-properties [2487 2487 nil nil 2534 2 nil nil nil nil nil nil nil nil # nil nil #21] :value "docker push bonfacekilz/genenetwork2:latest")) (paragraph (:standard-properties [2534 2534 2534 2576 2577 1 nil nil nil nil nil nil nil nil # nil nil #21]) #("Right now, we have 2 images on DockerHub:\n" 0 42 (:parent #27))) (plain-list (:standard-properties [2577 2577 2577 2857 2857 0 nil nil nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #21] :type unordered) (item (:standard-properties [2577 2577 2579 2741 2741 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #28] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2579 2579 2579 2741 2741 0 nil nil nil nil nil nil nil nil # nil nil #31]) (link (:standard-properties [2579 nil nil nil 2652 0 nil nil nil nil nil nil nil nil # nil nil #34] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python2 version of gn2. Don't use this. Please use the\n python3 image!\n" 0 89 (:parent #34)))) (item (:standard-properties [2741 2741 2743 2857 2857 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #28] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2743 2743 2743 2857 2857 0 nil nil nil nil nil nil nil nil # nil nil #32]) (link (:standard-properties [2743 nil nil nil 2816 0 nil nil nil nil nil nil nil nil # nil nil #35] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python3 version of gn2.\n" 0 41 (:parent #35))))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #6))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) . #0)]) (plain-list (:standard-properties [113 113 113 259 260 1 nil planning nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #1] :type unordered) (item (:standard-properties [113 113 115 147 147 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #4] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [115 115 115 147 147 0 nil nil nil nil nil nil nil nil # nil nil #7]) (link (:standard-properties [115 nil 132 144 146 0 nil nil nil nil nil nil nil nil # nil nil #10] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #13))) #("\n" 0 1 (:parent #10)))) (item (:standard-properties [147 147 149 209 209 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #4] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [149 149 149 209 209 0 nil nil nil nil nil nil nil nil # nil nil #8]) (link (:standard-properties [149 nil 180 206 208 0 nil nil nil nil nil nil nil nil # nil nil #11] :type "custom-id" :type-explicit-p nil :path "creating-the-docker-images" :format bracket :raw-link "#creating-the-docker-images" :application nil :search-option nil) #("Creating the Docker Images" 0 26 (:parent #14))) #("\n" 0 1 (:parent #11)))) (item (:standard-properties [209 209 211 259 259 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #4] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [211 211 211 259 259 0 nil nil nil nil nil nil nil nil # nil nil #9]) (link (:standard-properties [211 nil 236 256 258 0 nil nil nil nil nil nil nil nil # nil nil #12] :type "custom-id" :type-explicit-p nil :path "pushing-to-dockerhub" :format bracket :raw-link "#pushing-to-dockerhub" :application nil :search-option nil) #("Pushing to DockerHub" 0 20 (:parent #15))) #("\n" 0 1 (:parent #12))))))) "") org-export-data((headline (:standard-properties [35 35 113 260 260 0 (:title) nil nil nil nil 115 258 1 # nil nil (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 35 35 0 nil first-section nil nil nil 1 35 nil # nil nil #5]) (keyword (:standard-properties [1 1 nil nil 35 1 nil top-comment nil nil nil nil nil nil # nil nil #8] :key "TITLE" :value "Genenetwork2 Dockerized"))) #0 (headline (:standard-properties [260 260 276 926 926 0 (:title) nil nil nil nil 278 924 1 # nil nil #5] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #10))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [276 276 276 926 926 0 nil section nil nil nil 276 926 nil # nil nil #10]) (paragraph (:standard-properties [276 276 276 599 600 1 nil planning nil nil nil nil nil nil # nil nil #13]) #("The CI(Continuous Integration) system for Genenetwork2 uses " 0 60 (:parent #16)) (link (:standard-properties [336 nil 375 389 391 0 nil nil nil nil nil nil nil nil # nil nil #16] :type "https" :type-explicit-p t :path "//github.com/features/actions" :format bracket :raw-link "https://github.com/features/actions" :application nil :search-option nil) #("Github\nActions" 0 14 (:parent #20))) #(". As such, it's important to have a way to run tests using\nfacilities provided by GUIX in a reproducible way. This project\nleverages GUIX to generate a docker container from which the unittests\nare ran from.\n" 0 208 (:parent #16))) (paragraph (:standard-properties [600 600 600 829 830 1 nil nil nil nil nil nil nil nil # nil nil #13]) #("Find instructions on how to set docker up inside GUIX " 0 54 (:parent #17)) (link (:standard-properties [654 nil 732 736 738 0 nil nil nil nil nil nil nil nil # nil nil #17] :type "https" :type-explicit-p t :path "//github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :application nil :search-option nil) #("here" 0 4 (:parent #21))) #(". This\ndocument will not get into that. It's assumed that you have a working\ndocker setup.\n" 0 91 (:parent #17))) (paragraph (:standard-properties [830 830 830 925 926 1 nil nil nil nil nil nil nil nil # nil nil #13]) #("The rest of this document outlines how the docker container used in\nthe CI builds was created.\n" 0 95 (:parent #18))))) (headline (:standard-properties [926 926 956 2234 2234 0 (:title) nil nil nil nil 958 2232 1 # nil nil #5] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 28) t] :title (#("Creating the Docker Images" 0 26 (:parent #11))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [956 956 956 2234 2234 0 nil section nil nil nil 956 2234 nil # nil nil #11]) (paragraph (:standard-properties [956 956 956 1070 1071 1 nil planning nil nil nil nil nil nil # nil nil #14]) #("The general idea is that GUIX is used to generate a set of binaries,\nwhich will be added to a base mariaDB image.\n" 0 114 (:parent #17))) (paragraph (:standard-properties [1071 1071 1071 1116 1117 1 nil nil nil nil nil nil nil nil # nil nil #14]) #("First create the gn2 tar archive by running:\n" 0 45 (:parent #18))) (src-block (:standard-properties [1117 1117 nil nil 1343 1 nil nil nil nil nil nil nil nil # nil nil #14] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 215) t])) (paragraph (:standard-properties [1343 1343 1343 1386 1387 1 nil nil nil nil nil nil nil nil # nil nil #14]) #("The output will look something similar to:\n" 0 43 (:parent #20))) (fixed-width (:standard-properties [1387 1387 nil nil 1454 2 nil nil nil nil nil nil nil nil # nil nil #14] :value "/gnu/store/x3m77vwaqcwba24p5s4lrb7w2ii16lj9-tarball-pack.tar.gz")) (paragraph (:standard-properties [1454 1454 1454 1639 1640 1 nil nil nil nil nil nil nil nil # nil nil #14]) #("Now create a folder from which will host the following dockerfile. You\ncan name this file Dockerfile. Note that mariadb is the base image\nsince it already has mariadb installed for us.\n" 0 185 (:parent #22))) (src-block (:standard-properties [1640 1640 nil nil 1887 1 nil nil nil nil nil nil nil nil # nil nil #14] :language "conf" :switches nil :parameters ":mkdirp yes :tangle ~/docker/Dockerfile" :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (57 236) t])) (paragraph (:standard-properties [1887 1887 1887 1934 1935 1 nil nil nil nil nil nil nil nil # nil nil #14]) #("Build the image(Note the fullstop at the end):\n" 0 47 (:parent #24))) (fixed-width (:standard-properties [1935 1935 nil nil 1995 2 nil nil nil nil nil nil nil nil # nil nil #14] :value "sudo docker build -t genenetwork2:latest -f Dockerfile .")) (paragraph (:standard-properties [1995 1995 1995 2048 2049 1 nil nil nil nil nil nil nil nil # nil nil #14]) #("To load the image interactively you've just created:\n" 0 53 (:parent #26))) (fixed-width (:standard-properties [2049 2049 nil nil 2094 2 nil nil nil nil nil nil nil nil # nil nil #14] :value "docker run -ti \"genenetwork2:latest\" bash")) (paragraph (:standard-properties [2094 2094 2094 2180 2181 1 nil nil nil nil nil nil nil nil # nil nil #14]) #("Assuming you have a docker instance running, you could always run\ncommands in it e.g:\n" 0 86 (:parent #28))) (fixed-width (:standard-properties [2181 2181 nil nil 2234 2 nil nil nil nil nil nil nil nil # nil nil #14] :value "docker run \"genenetwork2:latest\" python --version")))) (headline (:standard-properties [2234 2234 2258 2857 2857 0 (:title) nil nil nil nil 2260 2855 1 # nil nil #5] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 22) t] :title (#("Pushing to DockerHub" 0 20 (:parent #12))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [2258 2258 2258 2857 2857 0 nil section nil nil nil 2258 2857 nil # nil nil #12]) (paragraph (:standard-properties [2258 2258 2258 2364 2365 1 nil planning nil nil nil nil nil nil # nil nil #15]) #("We use DockerHub to store the docker images from which we use on our\nCI environment using Github Actions.\n" 0 106 (:parent #18))) (paragraph (:standard-properties [2365 2365 2365 2486 2487 1 nil nil nil nil nil nil nil nil # nil nil #15]) #("To push to dockerhub, first get the image name by running " 0 58 (:parent #19)) (verbatim (:standard-properties [2423 nil nil nil 2438 0 nil nil nil nil nil nil nil nil # nil nil #19] :value [org-element-deferred org-element--substring (1 14) t])) #(". Push to dockerhub using a command similar to:\n" 0 48 (:parent #19))) (fixed-width (:standard-properties [2487 2487 nil nil 2534 2 nil nil nil nil nil nil nil nil # nil nil #15] :value "docker push bonfacekilz/genenetwork2:latest")) (paragraph (:standard-properties [2534 2534 2534 2576 2577 1 nil nil nil nil nil nil nil nil # nil nil #15]) #("Right now, we have 2 images on DockerHub:\n" 0 42 (:parent #21))) (plain-list (:standard-properties [2577 2577 2577 2857 2857 0 nil nil nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #15] :type unordered) (item (:standard-properties [2577 2577 2579 2741 2741 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #22] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2579 2579 2579 2741 2741 0 nil nil nil nil nil nil nil nil # nil nil #25]) (link (:standard-properties [2579 nil nil nil 2652 0 nil nil nil nil nil nil nil nil # nil nil #28] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python2 version of gn2. Don't use this. Please use the\n python3 image!\n" 0 89 (:parent #28)))) (item (:standard-properties [2741 2741 2743 2857 2857 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #22] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2743 2743 2743 2857 2857 0 nil nil nil nil nil nil nil nil # nil nil #26]) (link (:standard-properties [2743 nil nil nil 2816 0 nil nil nil nil nil nil nil nil # nil nil #29] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python3 version of gn2.\n" 0 41 (:parent #29))))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #0))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [113 113 113 260 260 0 nil section nil nil nil 113 260 nil # nil nil #0]) (plain-list (:standard-properties [113 113 113 259 260 1 nil planning nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #3] :type unordered) (item (:standard-properties [113 113 115 147 147 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #6] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [115 115 115 147 147 0 nil nil nil nil nil nil nil nil # nil nil #9]) (link (:standard-properties [115 nil 132 144 146 0 nil nil nil nil nil nil nil nil # nil nil #12] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #15))) #("\n" 0 1 (:parent #12)))) (item (:standard-properties [147 147 149 209 209 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #6] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [149 149 149 209 209 0 nil nil nil nil nil nil nil nil # nil nil #10]) (link (:standard-properties [149 nil 180 206 208 0 nil nil nil nil nil nil nil nil # nil nil #13] :type "custom-id" :type-explicit-p nil :path "creating-the-docker-images" :format bracket :raw-link "#creating-the-docker-images" :application nil :search-option nil) #("Creating the Docker Images" 0 26 (:parent #16))) #("\n" 0 1 (:parent #13)))) (item (:standard-properties [209 209 211 259 259 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #6] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [211 211 211 259 259 0 nil nil nil nil nil nil nil nil # nil nil #11]) (link (:standard-properties [211 nil 236 256 258 0 nil nil nil nil nil nil nil nil # nil nil #14] :type "custom-id" :type-explicit-p nil :path "pushing-to-dockerhub" :format bracket :raw-link "#pushing-to-dockerhub" :application nil :search-option nil) #("Pushing to DockerHub" 0 20 (:parent #17))) #("\n" 0 1 (:parent #14))))))) (:export-options (body-only) :back-end #s(org-export-backend :name html :parent nil :transcoders ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :options ((:html-doctype "HTML_DOCTYPE" nil org-html-doctype) (:html-container "HTML_CONTAINER" nil org-html-container-element) (:html-content-class "HTML_CONTENT_CLASS" nil org-html-content-class) (:description "DESCRIPTION" nil nil newline) (:keywords "KEYWORDS" nil nil space) (:html-html5-fancy nil "html5-fancy" org-html-html5-fancy) (:html-link-use-abs-url nil "html-link-use-abs-url" org-html-link-use-abs-url) (:html-link-home "HTML_LINK_HOME" nil org-html-link-home) (:html-link-up "HTML_LINK_UP" nil org-html-link-up) (:html-mathjax "HTML_MATHJAX" nil "" space) (:html-equation-reference-format "HTML_EQUATION_REFERENCE_FORMAT" nil org-html-equation-reference-format t) (:html-postamble nil "html-postamble" org-html-postamble) (:html-preamble nil "html-preamble" org-html-preamble) (:html-head "HTML_HEAD" nil org-html-head newline) (:html-head-extra "HTML_HEAD_EXTRA" nil org-html-head-extra newline) (:subtitle "SUBTITLE" nil nil parse) (:html-head-include-default-style nil "html-style" org-html-head-include-default-style) (:html-head-include-scripts nil "html-scripts" org-html-head-include-scripts) (:html-allow-name-attribute-in-anchors nil nil org-html-allow-name-attribute-in-anchors) (:html-divs nil nil org-html-divs) (:html-checkbox-type nil nil org-html-checkbox-type) (:html-extension nil nil org-html-extension) (:html-footnote-format nil nil org-html-footnote-format) (:html-footnote-separator nil nil org-html-footnote-separator) (:html-footnotes-section nil nil org-html-footnotes-section) (:html-format-drawer-function nil nil org-html-format-drawer-function) (:html-format-headline-function nil nil org-html-format-headline-function) (:html-format-inlinetask-function nil nil org-html-format-inlinetask-function) (:html-home/up-format nil nil org-html-home/up-format) (:html-indent nil nil org-html-indent) (:html-infojs-options nil nil org-html-infojs-options) (:html-infojs-template nil nil org-html-infojs-template) (:html-inline-image-rules nil nil org-html-inline-image-rules) (:html-link-org-files-as-html nil nil org-html-link-org-files-as-html) (:html-mathjax-options nil nil org-html-mathjax-options) (:html-mathjax-template nil nil org-html-mathjax-template) (:html-metadata-timestamp-format nil nil org-html-metadata-timestamp-format) (:html-postamble-format nil nil org-html-postamble-format) (:html-preamble-format nil nil org-html-preamble-format) (:html-prefer-user-labels nil nil org-html-prefer-user-labels) (:html-self-link-headlines nil nil org-html-self-link-headlines) (:html-table-align-individual-fields nil nil org-html-table-align-individual-fields) (:html-table-caption-above nil nil org-html-table-caption-above) (:html-table-data-tags nil nil org-html-table-data-tags) (:html-table-header-tags nil nil org-html-table-header-tags) (:html-table-use-header-tags-for-first-column nil nil org-html-table-use-header-tags-for-first-column) (:html-tag-class-prefix nil nil org-html-tag-class-prefix) (:html-text-markup-alist nil nil org-html-text-markup-alist) (:html-todo-kwd-class-prefix nil nil org-html-todo-kwd-class-prefix) (:html-toplevel-hlevel nil nil org-html-toplevel-hlevel) (:html-use-infojs nil nil org-html-use-infojs) (:html-validation-link nil nil org-html-validation-link) (:html-viewport nil nil org-html-viewport) (:html-inline-images nil nil org-html-inline-images) (:html-table-attributes nil nil org-html-table-default-attributes) (:html-table-row-open-tag nil nil org-html-table-row-open-tag) (:html-table-row-close-tag nil nil org-html-table-row-close-tag) (:html-xml-declaration nil nil org-html-xml-declaration) (:html-wrap-src-lines nil nil org-html-wrap-src-lines) (:html-klipsify-src nil nil org-html-klipsify-src) (:html-klipse-css nil nil org-html-klipse-css) (:html-klipse-js nil nil org-html-klipse-js) (:html-klipse-selection-script nil nil org-html-klipse-selection-script) (:infojs-opt "INFOJS_OPT" nil nil) (:creator "CREATOR" nil org-html-creator-string) (:with-latex nil "tex" org-html-with-latex) (:latex-header "LATEX_HEADER" nil nil newline)) :filters ((:filter-options . org-html-infojs-install-script) (:filter-parse-tree . org-html-image-link-filter) (:filter-final-output . org-html-final-function)) :blocks nil :menu (104 "Export to HTML" ((72 "As HTML buffer" org-html-export-as-html) (104 "As HTML file" org-html-export-to-html) (111 "As HTML file and open" (lambda (a s v b) (if a (org-html-export-to-html t s v b) (org-open-file (org-html-export-to-html nil s v b)))))))) :translate-alist ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :exported-data # :input-buffer " *temp*" :input-file nil :html-doctype "xhtml-strict" :html-container "div" :html-content-class "content" :description nil :keywords nil :html-html5-fancy nil :html-link-use-abs-url nil :html-link-home "" :html-link-up "" :html-mathjax "" :html-equation-reference-format "\\eqref{%s}" :html-postamble auto :html-preamble t :html-head "" :html-head-extra "" :subtitle nil :html-head-include-default-style t :html-head-include-scripts nil :html-allow-name-attribute-in-anchors nil :html-divs ((preamble "div" "preamble") (content "div" "content") (postamble "div" "postamble")) :html-checkbox-type ascii :html-extension "html" :html-footnote-format "%s" :html-footnote-separator ", " :html-footnotes-section "
\n

%s:

\n
\n%s\n
\n
" :html-format-drawer-function #f(compiled-function (name contents) #) :html-format-headline-function org-html-format-headline-default-function :html-format-inlinetask-function org-html-format-inlinetask-default-function :html-home/up-format "
\n UP \n |\n HOME \n
" :html-indent nil :html-infojs-options ((path . "https://orgmode.org/org-info.js") (view . "info") (toc . :with-toc) (ftoc . "0") (tdepth . "max") (sdepth . "max") (mouse . "underline") (buttons . "0") (ltoc . "1") (up . :html-link-up) (home . :html-link-home)) :html-infojs-template "\n\n" :html-inline-image-rules (("file" . "\\(?:\\.\\(?:avif\\|gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("http" . "\\(?:\\.\\(?:avif\\|gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("https" . "\\(?:\\.\\(?:avif\\|gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)")) :html-link-org-files-as-html t :html-mathjax-options ((path "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js") (scale 1.0) (align "center") (font "mathjax-modern") (overflow "overflow") (tags "ams") (indent "0em") (multlinewidth "85%") (tagindent ".8em") (tagside "right")) :html-mathjax-template "\n\n\n" :html-metadata-timestamp-format "%Y-%m-%d %a %H:%M" :html-postamble-format (("en" "

Author: %a (%e)

\n

Date: %d

\n

%c

\n

%v

")) :html-preamble-format (("en" "")) :html-prefer-user-labels nil :html-self-link-headlines nil :html-table-align-individual-fields t :html-table-caption-above t :html-table-data-tags ("" . "") :html-table-header-tags ("" . "") :html-table-use-header-tags-for-first-column nil :html-tag-class-prefix "" :html-text-markup-alist ((bold . "%s") (code . "%s") (italic . "%s") (strike-through . "%s") (underline . "%s") (verbatim . "%s")) :html-todo-kwd-class-prefix "" :html-toplevel-hlevel 2 :html-use-infojs when-configured :html-validation-link "Validate" :html-viewport ((width "device-width") (initial-scale "1") (minimum-scale "") (maximum-scale "") (user-scalable "")) :html-inline-images t :html-table-attributes (:border "2" :cellspacing "0" :cellpadding "6" :rules "groups" :frame "hsides") :html-table-row-open-tag "" :html-table-row-close-tag "" :html-xml-declaration (("html" . "") ("php" . "\"; ?>")) :html-wrap-src-lines nil :html-klipsify-src nil :html-klipse-css "https://storage.googleapis.com/app.klipse.tech/css/codemirror.css" :html-klipse-js "https://storage.googleapis.com/app.klipse.tech/plugin_prod/js/klipse_plugin.min.js" :html-klipse-selection-script "window.klipse_settings = {selector_eval_html: '.src-html',\n selector_eval_js: '.src-js',\n selector_eval_python_client: '.src-python',\n selector_eval_scheme: '.src-scheme',\n selector: '.src-clojure',\n selector_eval_ruby: '.src-ruby'};" :infojs-opt nil :creator "Emacs 30.2 (Org mode 9.7.11)" :with-latex t :latex-header nil :title (#("Genenetwork2 Dockerized" 0 23 (:parent #148))) :date nil :author (#("unknown" 0 7 (:parent #152))) :email "unknown@genenetwork-development" :language "en" :select-tags ("export") :exclude-tags ("noexport") :headline-levels 3 :preserve-breaks nil :section-numbers nil :time-stamp-file t :with-archived-trees headline :with-author t :expand-links t :with-broken-links nil :with-clocks nil :with-creator nil :with-date t :with-drawers (not "LOGBOOK") :with-email nil :with-emphasize t :with-entities t :with-fixed-width t :with-footnotes t :with-inlinetasks t :with-planning nil :with-priority nil :with-properties nil :with-smart-quotes nil :with-special-strings t :with-special-rows nil :with-statistics-cookies t :with-sub-superscript t :with-toc nil :with-tables t :with-tags t :with-tasks t :with-timestamps t :with-title t :with-todo-keywords t :with-cite-processors t :cite-export (basic nil nil) :bibliography nil :filter-body nil :filter-bold nil :filter-babel-call nil :filter-center-block nil :filter-clock nil :filter-code nil :filter-diary-sexp nil :filter-drawer nil :filter-dynamic-block nil :filter-entity nil :filter-example-block nil :filter-export-block nil :filter-export-snippet nil :filter-final-output (org-html-final-function) :filter-fixed-width nil :filter-footnote-definition nil :filter-footnote-reference nil :filter-headline nil :filter-horizontal-rule nil :filter-inline-babel-call nil :filter-inline-src-block nil :filter-inlinetask nil :filter-italic nil :filter-item nil :filter-keyword nil :filter-latex-environment nil :filter-latex-fragment nil :filter-line-break nil :filter-link nil :filter-node-property nil :filter-options (org-html-infojs-install-script) :filter-paragraph nil :filter-parse-tree (org-html-image-link-filter) :filter-plain-list nil :filter-plain-text nil :filter-planning nil :filter-property-drawer nil :filter-quote-block nil :filter-radio-target nil :filter-section nil :filter-special-block nil :filter-src-block nil :filter-statistics-cookie nil :filter-strike-through nil :filter-subscript nil :filter-superscript nil :filter-table nil :filter-table-cell nil :filter-table-row nil :filter-target nil :filter-timestamp nil :filter-underline nil :filter-verbatim nil :filter-verse-block nil :ignore-list nil :parse-tree (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 35 35 0 nil first-section nil nil nil 1 35 nil # nil nil #344]) (keyword (:standard-properties [1 1 nil nil 35 1 nil top-comment nil nil nil nil nil nil # nil nil #347] :key "TITLE" :value "Genenetwork2 Dockerized"))) (headline (:standard-properties [35 35 113 260 260 0 (:title) nil nil nil nil 115 258 1 # nil nil #344] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #348))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [113 113 113 260 260 0 nil section nil nil nil 113 260 nil # nil nil #348]) (plain-list (:standard-properties [113 113 113 259 260 1 nil planning nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #351] :type unordered) (item (:standard-properties [113 113 115 147 147 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #354] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [115 115 115 147 147 0 nil nil nil nil nil nil nil nil # nil nil #357]) (link (:standard-properties [115 nil 132 144 146 0 nil nil nil nil nil nil nil nil # nil nil #360] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #363))) #("\n" 0 1 (:parent #360)))) (item (:standard-properties [147 147 149 209 209 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #354] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [149 149 149 209 209 0 nil nil nil nil nil nil nil nil # nil nil #358]) (link (:standard-properties [149 nil 180 206 208 0 nil nil nil nil nil nil nil nil # nil nil #361] :type "custom-id" :type-explicit-p nil :path "creating-the-docker-images" :format bracket :raw-link "#creating-the-docker-images" :application nil :search-option nil) #("Creating the Docker Images" 0 26 (:parent #364))) #("\n" 0 1 (:parent #361)))) (item (:standard-properties [209 209 211 259 259 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #354] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [211 211 211 259 259 0 nil nil nil nil nil nil nil nil # nil nil #359]) (link (:standard-properties [211 nil 236 256 258 0 nil nil nil nil nil nil nil nil # nil nil #362] :type "custom-id" :type-explicit-p nil :path "pushing-to-dockerhub" :format bracket :raw-link "#pushing-to-dockerhub" :application nil :search-option nil) #("Pushing to DockerHub" 0 20 (:parent #365))) #("\n" 0 1 (:parent #362))))))) (headline (:standard-properties [260 260 276 926 926 0 (:title) nil nil nil nil 278 924 1 # nil nil #344] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #349))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [276 276 276 926 926 0 nil section nil nil nil 276 926 nil # nil nil #349]) (paragraph (:standard-properties [276 276 276 599 600 1 nil planning nil nil nil nil nil nil # nil nil #352]) #("The CI(Continuous Integration) system for Genenetwork2 uses " 0 60 (:parent #355)) (link (:standard-properties [336 nil 375 389 391 0 nil nil nil nil nil nil nil nil # nil nil #355] :type "https" :type-explicit-p t :path "//github.com/features/actions" :format bracket :raw-link "https://github.com/features/actions" :application nil :search-option nil) #("Github\nActions" 0 14 (:parent #359))) #(". As such, it's important to have a way to run tests using\nfacilities provided by GUIX in a reproducible way. This project\nleverages GUIX to generate a docker container from which the unittests\nare ran from.\n" 0 208 (:parent #355))) (paragraph (:standard-properties [600 600 600 829 830 1 nil nil nil nil nil nil nil nil # nil nil #352]) #("Find instructions on how to set docker up inside GUIX " 0 54 (:parent #356)) (link (:standard-properties [654 nil 732 736 738 0 nil nil nil nil nil nil nil nil # nil nil #356] :type "https" :type-explicit-p t :path "//github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :application nil :search-option nil) #("here" 0 4 (:parent #360))) #(". This\ndocument will not get into that. It's assumed that you have a working\ndocker setup.\n" 0 91 (:parent #356))) (paragraph (:standard-properties [830 830 830 925 926 1 nil nil nil nil nil nil nil nil # nil nil #352]) #("The rest of this document outlines how the docker container used in\nthe CI builds was created.\n" 0 95 (:parent #357))))) (headline (:standard-properties [926 926 956 2234 2234 0 (:title) nil nil nil nil 958 2232 1 # nil nil #344] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 28) t] :title (#("Creating the Docker Images" 0 26 (:parent #350))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [956 956 956 2234 2234 0 nil section nil nil nil 956 2234 nil # nil nil #350]) (paragraph (:standard-properties [956 956 956 1070 1071 1 nil planning nil nil nil nil nil nil # nil nil #353]) #("The general idea is that GUIX is used to generate a set of binaries,\nwhich will be added to a base mariaDB image.\n" 0 114 (:parent #356))) (paragraph (:standard-properties [1071 1071 1071 1116 1117 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("First create the gn2 tar archive by running:\n" 0 45 (:parent #357))) (src-block (:standard-properties [1117 1117 nil nil 1343 1 nil nil nil nil nil nil nil nil # nil nil #353] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 215) t])) (paragraph (:standard-properties [1343 1343 1343 1386 1387 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("The output will look something similar to:\n" 0 43 (:parent #359))) (fixed-width (:standard-properties [1387 1387 nil nil 1454 2 nil nil nil nil nil nil nil nil # nil nil #353] :value "/gnu/store/x3m77vwaqcwba24p5s4lrb7w2ii16lj9-tarball-pack.tar.gz")) (paragraph (:standard-properties [1454 1454 1454 1639 1640 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("Now create a folder from which will host the following dockerfile. You\ncan name this file Dockerfile. Note that mariadb is the base image\nsince it already has mariadb installed for us.\n" 0 185 (:parent #361))) (src-block (:standard-properties [1640 1640 nil nil 1887 1 nil nil nil nil nil nil nil nil # nil nil #353] :language "conf" :switches nil :parameters ":mkdirp yes :tangle ~/docker/Dockerfile" :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (57 236) t])) (paragraph (:standard-properties [1887 1887 1887 1934 1935 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("Build the image(Note the fullstop at the end):\n" 0 47 (:parent #363))) (fixed-width (:standard-properties [1935 1935 nil nil 1995 2 nil nil nil nil nil nil nil nil # nil nil #353] :value "sudo docker build -t genenetwork2:latest -f Dockerfile .")) (paragraph (:standard-properties [1995 1995 1995 2048 2049 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("To load the image interactively you've just created:\n" 0 53 (:parent #365))) (fixed-width (:standard-properties [2049 2049 nil nil 2094 2 nil nil nil nil nil nil nil nil # nil nil #353] :value "docker run -ti \"genenetwork2:latest\" bash")) (paragraph (:standard-properties [2094 2094 2094 2180 2181 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("Assuming you have a docker instance running, you could always run\ncommands in it e.g:\n" 0 86 (:parent #367))) (fixed-width (:standard-properties [2181 2181 nil nil 2234 2 nil nil nil nil nil nil nil nil # nil nil #353] :value "docker run \"genenetwork2:latest\" python --version")))) (headline (:standard-properties [2234 2234 2258 2857 2857 0 (:title) nil nil nil nil 2260 2855 1 # nil nil #344] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 22) t] :title (#("Pushing to DockerHub" 0 20 (:parent #351))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [2258 2258 2258 2857 2857 0 nil section nil nil nil 2258 2857 nil # nil nil #351]) (paragraph (:standard-properties [2258 2258 2258 2364 2365 1 nil planning nil nil nil nil nil nil # nil nil #354]) #("We use DockerHub to store the docker images from which we use on our\nCI environment using Github Actions.\n" 0 106 (:parent #357))) (paragraph (:standard-properties [2365 2365 2365 2486 2487 1 nil nil nil nil nil nil nil nil # nil nil #354]) #("To push to dockerhub, first get the image name by running " 0 58 (:parent #358)) (verbatim (:standard-properties [2423 nil nil nil 2438 0 nil nil nil nil nil nil nil nil # nil nil #358] :value [org-element-deferred org-element--substring (1 14) t])) #(". Push to dockerhub using a command similar to:\n" 0 48 (:parent #358))) (fixed-width (:standard-properties [2487 2487 nil nil 2534 2 nil nil nil nil nil nil nil nil # nil nil #354] :value "docker push bonfacekilz/genenetwork2:latest")) (paragraph (:standard-properties [2534 2534 2534 2576 2577 1 nil nil nil nil nil nil nil nil # nil nil #354]) #("Right now, we have 2 images on DockerHub:\n" 0 42 (:parent #360))) (plain-list (:standard-properties [2577 2577 2577 2857 2857 0 nil nil nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #354] :type unordered) (item (:standard-properties [2577 2577 2579 2741 2741 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #361] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2579 2579 2579 2741 2741 0 nil nil nil nil nil nil nil nil # nil nil #364]) (link (:standard-properties [2579 nil nil nil 2652 0 nil nil nil nil nil nil nil nil # nil nil #367] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python2 version of gn2. Don't use this. Please use the\n python3 image!\n" 0 89 (:parent #367)))) (item (:standard-properties [2741 2741 2743 2857 2857 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #361] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2743 2743 2743 2857 2857 0 nil nil nil nil nil nil nil nil # nil nil #365]) (link (:standard-properties [2743 nil nil nil 2816 0 nil nil nil nil nil nil nil nil # nil nil #368] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python3 version of gn2.\n" 0 41 (:parent #368)))))))) :headline-offset 0 :headline-numbering nil :id-alist nil :citations nil :id-local-cache #)) #f(compiled-function (element) #)((headline (:standard-properties [35 35 113 260 260 0 (:title) nil nil nil nil 115 258 1 # nil nil (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 35 35 0 nil first-section nil nil nil 1 35 nil # nil nil #5]) (keyword (:standard-properties [1 1 nil nil 35 1 nil top-comment nil nil nil nil nil nil # nil nil #8] :key "TITLE" :value "Genenetwork2 Dockerized"))) #0 (headline (:standard-properties [260 260 276 926 926 0 (:title) nil nil nil nil 278 924 1 # nil nil #5] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #10))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [276 276 276 926 926 0 nil section nil nil nil 276 926 nil # nil nil #10]) (paragraph (:standard-properties [276 276 276 599 600 1 nil planning nil nil nil nil nil nil # nil nil #13]) #("The CI(Continuous Integration) system for Genenetwork2 uses " 0 60 (:parent #16)) (link (:standard-properties [336 nil 375 389 391 0 nil nil nil nil nil nil nil nil # nil nil #16] :type "https" :type-explicit-p t :path "//github.com/features/actions" :format bracket :raw-link "https://github.com/features/actions" :application nil :search-option nil) #("Github\nActions" 0 14 (:parent #20))) #(". As such, it's important to have a way to run tests using\nfacilities provided by GUIX in a reproducible way. This project\nleverages GUIX to generate a docker container from which the unittests\nare ran from.\n" 0 208 (:parent #16))) (paragraph (:standard-properties [600 600 600 829 830 1 nil nil nil nil nil nil nil nil # nil nil #13]) #("Find instructions on how to set docker up inside GUIX " 0 54 (:parent #17)) (link (:standard-properties [654 nil 732 736 738 0 nil nil nil nil nil nil nil nil # nil nil #17] :type "https" :type-explicit-p t :path "//github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :application nil :search-option nil) #("here" 0 4 (:parent #21))) #(". This\ndocument will not get into that. It's assumed that you have a working\ndocker setup.\n" 0 91 (:parent #17))) (paragraph (:standard-properties [830 830 830 925 926 1 nil nil nil nil nil nil nil nil # nil nil #13]) #("The rest of this document outlines how the docker container used in\nthe CI builds was created.\n" 0 95 (:parent #18))))) (headline (:standard-properties [926 926 956 2234 2234 0 (:title) nil nil nil nil 958 2232 1 # nil nil #5] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 28) t] :title (#("Creating the Docker Images" 0 26 (:parent #11))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [956 956 956 2234 2234 0 nil section nil nil nil 956 2234 nil # nil nil #11]) (paragraph (:standard-properties [956 956 956 1070 1071 1 nil planning nil nil nil nil nil nil # nil nil #14]) #("The general idea is that GUIX is used to generate a set of binaries,\nwhich will be added to a base mariaDB image.\n" 0 114 (:parent #17))) (paragraph (:standard-properties [1071 1071 1071 1116 1117 1 nil nil nil nil nil nil nil nil # nil nil #14]) #("First create the gn2 tar archive by running:\n" 0 45 (:parent #18))) (src-block (:standard-properties [1117 1117 nil nil 1343 1 nil nil nil nil nil nil nil nil # nil nil #14] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 215) t])) (paragraph (:standard-properties [1343 1343 1343 1386 1387 1 nil nil nil nil nil nil nil nil # nil nil #14]) #("The output will look something similar to:\n" 0 43 (:parent #20))) (fixed-width (:standard-properties [1387 1387 nil nil 1454 2 nil nil nil nil nil nil nil nil # nil nil #14] :value "/gnu/store/x3m77vwaqcwba24p5s4lrb7w2ii16lj9-tarball-pack.tar.gz")) (paragraph (:standard-properties [1454 1454 1454 1639 1640 1 nil nil nil nil nil nil nil nil # nil nil #14]) #("Now create a folder from which will host the following dockerfile. You\ncan name this file Dockerfile. Note that mariadb is the base image\nsince it already has mariadb installed for us.\n" 0 185 (:parent #22))) (src-block (:standard-properties [1640 1640 nil nil 1887 1 nil nil nil nil nil nil nil nil # nil nil #14] :language "conf" :switches nil :parameters ":mkdirp yes :tangle ~/docker/Dockerfile" :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (57 236) t])) (paragraph (:standard-properties [1887 1887 1887 1934 1935 1 nil nil nil nil nil nil nil nil # nil nil #14]) #("Build the image(Note the fullstop at the end):\n" 0 47 (:parent #24))) (fixed-width (:standard-properties [1935 1935 nil nil 1995 2 nil nil nil nil nil nil nil nil # nil nil #14] :value "sudo docker build -t genenetwork2:latest -f Dockerfile .")) (paragraph (:standard-properties [1995 1995 1995 2048 2049 1 nil nil nil nil nil nil nil nil # nil nil #14]) #("To load the image interactively you've just created:\n" 0 53 (:parent #26))) (fixed-width (:standard-properties [2049 2049 nil nil 2094 2 nil nil nil nil nil nil nil nil # nil nil #14] :value "docker run -ti \"genenetwork2:latest\" bash")) (paragraph (:standard-properties [2094 2094 2094 2180 2181 1 nil nil nil nil nil nil nil nil # nil nil #14]) #("Assuming you have a docker instance running, you could always run\ncommands in it e.g:\n" 0 86 (:parent #28))) (fixed-width (:standard-properties [2181 2181 nil nil 2234 2 nil nil nil nil nil nil nil nil # nil nil #14] :value "docker run \"genenetwork2:latest\" python --version")))) (headline (:standard-properties [2234 2234 2258 2857 2857 0 (:title) nil nil nil nil 2260 2855 1 # nil nil #5] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 22) t] :title (#("Pushing to DockerHub" 0 20 (:parent #12))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [2258 2258 2258 2857 2857 0 nil section nil nil nil 2258 2857 nil # nil nil #12]) (paragraph (:standard-properties [2258 2258 2258 2364 2365 1 nil planning nil nil nil nil nil nil # nil nil #15]) #("We use DockerHub to store the docker images from which we use on our\nCI environment using Github Actions.\n" 0 106 (:parent #18))) (paragraph (:standard-properties [2365 2365 2365 2486 2487 1 nil nil nil nil nil nil nil nil # nil nil #15]) #("To push to dockerhub, first get the image name by running " 0 58 (:parent #19)) (verbatim (:standard-properties [2423 nil nil nil 2438 0 nil nil nil nil nil nil nil nil # nil nil #19] :value [org-element-deferred org-element--substring (1 14) t])) #(". Push to dockerhub using a command similar to:\n" 0 48 (:parent #19))) (fixed-width (:standard-properties [2487 2487 nil nil 2534 2 nil nil nil nil nil nil nil nil # nil nil #15] :value "docker push bonfacekilz/genenetwork2:latest")) (paragraph (:standard-properties [2534 2534 2534 2576 2577 1 nil nil nil nil nil nil nil nil # nil nil #15]) #("Right now, we have 2 images on DockerHub:\n" 0 42 (:parent #21))) (plain-list (:standard-properties [2577 2577 2577 2857 2857 0 nil nil nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #15] :type unordered) (item (:standard-properties [2577 2577 2579 2741 2741 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #22] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2579 2579 2579 2741 2741 0 nil nil nil nil nil nil nil nil # nil nil #25]) (link (:standard-properties [2579 nil nil nil 2652 0 nil nil nil nil nil nil nil nil # nil nil #28] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python2 version of gn2. Don't use this. Please use the\n python3 image!\n" 0 89 (:parent #28)))) (item (:standard-properties [2741 2741 2743 2857 2857 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #22] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2743 2743 2743 2857 2857 0 nil nil nil nil nil nil nil nil # nil nil #26]) (link (:standard-properties [2743 nil nil nil 2816 0 nil nil nil nil nil nil nil nil # nil nil #29] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python3 version of gn2.\n" 0 41 (:parent #29))))))))] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #0))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [113 113 113 260 260 0 nil section nil nil nil 113 260 nil # nil nil #0]) (plain-list (:standard-properties [113 113 113 259 260 1 nil planning nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #3] :type unordered) (item (:standard-properties [113 113 115 147 147 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #6] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [115 115 115 147 147 0 nil nil nil nil nil nil nil nil # nil nil #9]) (link (:standard-properties [115 nil 132 144 146 0 nil nil nil nil nil nil nil nil # nil nil #12] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #15))) #("\n" 0 1 (:parent #12)))) (item (:standard-properties [147 147 149 209 209 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #6] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [149 149 149 209 209 0 nil nil nil nil nil nil nil nil # nil nil #10]) (link (:standard-properties [149 nil 180 206 208 0 nil nil nil nil nil nil nil nil # nil nil #13] :type "custom-id" :type-explicit-p nil :path "creating-the-docker-images" :format bracket :raw-link "#creating-the-docker-images" :application nil :search-option nil) #("Creating the Docker Images" 0 26 (:parent #16))) #("\n" 0 1 (:parent #13)))) (item (:standard-properties [209 209 211 259 259 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #6] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [211 211 211 259 259 0 nil nil nil nil nil nil nil nil # nil nil #11]) (link (:standard-properties [211 nil 236 256 258 0 nil nil nil nil nil nil nil nil # nil nil #14] :type "custom-id" :type-explicit-p nil :path "pushing-to-dockerhub" :format bracket :raw-link "#pushing-to-dockerhub" :application nil :search-option nil) #("Pushing to DockerHub" 0 20 (:parent #17))) #("\n" 0 1 (:parent #14)))))))) mapconcat(#f(compiled-function (element) #) ((section (:standard-properties [1 1 1 35 35 0 nil first-section nil nil nil 1 35 nil # nil nil (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) . #0)]) (keyword (:standard-properties [1 1 nil nil 35 1 nil top-comment nil nil nil nil nil nil # nil nil #1] :key "TITLE" :value "Genenetwork2 Dockerized"))) (headline (:standard-properties [35 35 113 260 260 0 (:title) nil nil nil nil 115 258 1 # nil nil (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) . #0)] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #2))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [113 113 113 260 260 0 nil section nil nil nil 113 260 nil # nil nil #2]) (plain-list (:standard-properties [113 113 113 259 260 1 nil planning nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #5] :type unordered) (item (:standard-properties [113 113 115 147 147 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #8] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [115 115 115 147 147 0 nil nil nil nil nil nil nil nil # nil nil #11]) (link (:standard-properties [115 nil 132 144 146 0 nil nil nil nil nil nil nil nil # nil nil #14] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #17))) #("\n" 0 1 (:parent #14)))) (item (:standard-properties [147 147 149 209 209 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #8] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [149 149 149 209 209 0 nil nil nil nil nil nil nil nil # nil nil #12]) (link (:standard-properties [149 nil 180 206 208 0 nil nil nil nil nil nil nil nil # nil nil #15] :type "custom-id" :type-explicit-p nil :path "creating-the-docker-images" :format bracket :raw-link "#creating-the-docker-images" :application nil :search-option nil) #("Creating the Docker Images" 0 26 (:parent #18))) #("\n" 0 1 (:parent #15)))) (item (:standard-properties [209 209 211 259 259 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #8] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [211 211 211 259 259 0 nil nil nil nil nil nil nil nil # nil nil #13]) (link (:standard-properties [211 nil 236 256 258 0 nil nil nil nil nil nil nil nil # nil nil #16] :type "custom-id" :type-explicit-p nil :path "pushing-to-dockerhub" :format bracket :raw-link "#pushing-to-dockerhub" :application nil :search-option nil) #("Pushing to DockerHub" 0 20 (:parent #19))) #("\n" 0 1 (:parent #16))))))) (headline (:standard-properties [260 260 276 926 926 0 (:title) nil nil nil nil 278 924 1 # nil nil (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) . #0)] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #3))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [276 276 276 926 926 0 nil section nil nil nil 276 926 nil # nil nil #3]) (paragraph (:standard-properties [276 276 276 599 600 1 nil planning nil nil nil nil nil nil # nil nil #6]) #("The CI(Continuous Integration) system for Genenetwork2 uses " 0 60 (:parent #9)) (link (:standard-properties [336 nil 375 389 391 0 nil nil nil nil nil nil nil nil # nil nil #9] :type "https" :type-explicit-p t :path "//github.com/features/actions" :format bracket :raw-link "https://github.com/features/actions" :application nil :search-option nil) #("Github\nActions" 0 14 (:parent #13))) #(". As such, it's important to have a way to run tests using\nfacilities provided by GUIX in a reproducible way. This project\nleverages GUIX to generate a docker container from which the unittests\nare ran from.\n" 0 208 (:parent #9))) (paragraph (:standard-properties [600 600 600 829 830 1 nil nil nil nil nil nil nil nil # nil nil #6]) #("Find instructions on how to set docker up inside GUIX " 0 54 (:parent #10)) (link (:standard-properties [654 nil 732 736 738 0 nil nil nil nil nil nil nil nil # nil nil #10] :type "https" :type-explicit-p t :path "//github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :application nil :search-option nil) #("here" 0 4 (:parent #14))) #(". This\ndocument will not get into that. It's assumed that you have a working\ndocker setup.\n" 0 91 (:parent #10))) (paragraph (:standard-properties [830 830 830 925 926 1 nil nil nil nil nil nil nil nil # nil nil #6]) #("The rest of this document outlines how the docker container used in\nthe CI builds was created.\n" 0 95 (:parent #11))))) (headline (:standard-properties [926 926 956 2234 2234 0 (:title) nil nil nil nil 958 2232 1 # nil nil (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) . #0)] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 28) t] :title (#("Creating the Docker Images" 0 26 (:parent #4))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [956 956 956 2234 2234 0 nil section nil nil nil 956 2234 nil # nil nil #4]) (paragraph (:standard-properties [956 956 956 1070 1071 1 nil planning nil nil nil nil nil nil # nil nil #7]) #("The general idea is that GUIX is used to generate a set of binaries,\nwhich will be added to a base mariaDB image.\n" 0 114 (:parent #10))) (paragraph (:standard-properties [1071 1071 1071 1116 1117 1 nil nil nil nil nil nil nil nil # nil nil #7]) #("First create the gn2 tar archive by running:\n" 0 45 (:parent #11))) (src-block (:standard-properties [1117 1117 nil nil 1343 1 nil nil nil nil nil nil nil nil # nil nil #7] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 215) t])) (paragraph (:standard-properties [1343 1343 1343 1386 1387 1 nil nil nil nil nil nil nil nil # nil nil #7]) #("The output will look something similar to:\n" 0 43 (:parent #13))) (fixed-width (:standard-properties [1387 1387 nil nil 1454 2 nil nil nil nil nil nil nil nil # nil nil #7] :value "/gnu/store/x3m77vwaqcwba24p5s4lrb7w2ii16lj9-tarball-pack.tar.gz")) (paragraph (:standard-properties [1454 1454 1454 1639 1640 1 nil nil nil nil nil nil nil nil # nil nil #7]) #("Now create a folder from which will host the following dockerfile. You\ncan name this file Dockerfile. Note that mariadb is the base image\nsince it already has mariadb installed for us.\n" 0 185 (:parent #15))) (src-block (:standard-properties [1640 1640 nil nil 1887 1 nil nil nil nil nil nil nil nil # nil nil #7] :language "conf" :switches nil :parameters ":mkdirp yes :tangle ~/docker/Dockerfile" :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (57 236) t])) (paragraph (:standard-properties [1887 1887 1887 1934 1935 1 nil nil nil nil nil nil nil nil # nil nil #7]) #("Build the image(Note the fullstop at the end):\n" 0 47 (:parent #17))) (fixed-width (:standard-properties [1935 1935 nil nil 1995 2 nil nil nil nil nil nil nil nil # nil nil #7] :value "sudo docker build -t genenetwork2:latest -f Dockerfile .")) (paragraph (:standard-properties [1995 1995 1995 2048 2049 1 nil nil nil nil nil nil nil nil # nil nil #7]) #("To load the image interactively you've just created:\n" 0 53 (:parent #19))) (fixed-width (:standard-properties [2049 2049 nil nil 2094 2 nil nil nil nil nil nil nil nil # nil nil #7] :value "docker run -ti \"genenetwork2:latest\" bash")) (paragraph (:standard-properties [2094 2094 2094 2180 2181 1 nil nil nil nil nil nil nil nil # nil nil #7]) #("Assuming you have a docker instance running, you could always run\ncommands in it e.g:\n" 0 86 (:parent #21))) (fixed-width (:standard-properties [2181 2181 nil nil 2234 2 nil nil nil nil nil nil nil nil # nil nil #7] :value "docker run \"genenetwork2:latest\" python --version")))) (headline (:standard-properties [2234 2234 2258 2857 2857 0 (:title) nil nil nil nil 2260 2855 1 # nil nil (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) . #0)] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 22) t] :title (#("Pushing to DockerHub" 0 20 (:parent #5))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [2258 2258 2258 2857 2857 0 nil section nil nil nil 2258 2857 nil # nil nil #5]) (paragraph (:standard-properties [2258 2258 2258 2364 2365 1 nil planning nil nil nil nil nil nil # nil nil #8]) #("We use DockerHub to store the docker images from which we use on our\nCI environment using Github Actions.\n" 0 106 (:parent #11))) (paragraph (:standard-properties [2365 2365 2365 2486 2487 1 nil nil nil nil nil nil nil nil # nil nil #8]) #("To push to dockerhub, first get the image name by running " 0 58 (:parent #12)) (verbatim (:standard-properties [2423 nil nil nil 2438 0 nil nil nil nil nil nil nil nil # nil nil #12] :value [org-element-deferred org-element--substring (1 14) t])) #(". Push to dockerhub using a command similar to:\n" 0 48 (:parent #12))) (fixed-width (:standard-properties [2487 2487 nil nil 2534 2 nil nil nil nil nil nil nil nil # nil nil #8] :value "docker push bonfacekilz/genenetwork2:latest")) (paragraph (:standard-properties [2534 2534 2534 2576 2577 1 nil nil nil nil nil nil nil nil # nil nil #8]) #("Right now, we have 2 images on DockerHub:\n" 0 42 (:parent #14))) (plain-list (:standard-properties [2577 2577 2577 2857 2857 0 nil nil nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #8] :type unordered) (item (:standard-properties [2577 2577 2579 2741 2741 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #15] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2579 2579 2579 2741 2741 0 nil nil nil nil nil nil nil nil # nil nil #18]) (link (:standard-properties [2579 nil nil nil 2652 0 nil nil nil nil nil nil nil nil # nil nil #21] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python2 version of gn2. Don't use this. Please use the\n python3 image!\n" 0 89 (:parent #21)))) (item (:standard-properties [2741 2741 2743 2857 2857 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #15] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2743 2743 2743 2857 2857 0 nil nil nil nil nil nil nil nil # nil nil #19]) (link (:standard-properties [2743 nil nil nil 2816 0 nil nil nil nil nil nil nil nil # nil nil #22] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python3 version of gn2.\n" 0 41 (:parent #22)))))))) "") org-export-data((org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 35 35 0 nil first-section nil nil nil 1 35 nil # nil nil #0]) (keyword (:standard-properties [1 1 nil nil 35 1 nil top-comment nil nil nil nil nil nil # nil nil #3] :key "TITLE" :value "Genenetwork2 Dockerized"))) (headline (:standard-properties [35 35 113 260 260 0 (:title) nil nil nil nil 115 258 1 # nil nil #0] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #4))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [113 113 113 260 260 0 nil section nil nil nil 113 260 nil # nil nil #4]) (plain-list (:standard-properties [113 113 113 259 260 1 nil planning nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #7] :type unordered) (item (:standard-properties [113 113 115 147 147 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #10] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [115 115 115 147 147 0 nil nil nil nil nil nil nil nil # nil nil #13]) (link (:standard-properties [115 nil 132 144 146 0 nil nil nil nil nil nil nil nil # nil nil #16] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #19))) #("\n" 0 1 (:parent #16)))) (item (:standard-properties [147 147 149 209 209 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #10] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [149 149 149 209 209 0 nil nil nil nil nil nil nil nil # nil nil #14]) (link (:standard-properties [149 nil 180 206 208 0 nil nil nil nil nil nil nil nil # nil nil #17] :type "custom-id" :type-explicit-p nil :path "creating-the-docker-images" :format bracket :raw-link "#creating-the-docker-images" :application nil :search-option nil) #("Creating the Docker Images" 0 26 (:parent #20))) #("\n" 0 1 (:parent #17)))) (item (:standard-properties [209 209 211 259 259 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #10] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [211 211 211 259 259 0 nil nil nil nil nil nil nil nil # nil nil #15]) (link (:standard-properties [211 nil 236 256 258 0 nil nil nil nil nil nil nil nil # nil nil #18] :type "custom-id" :type-explicit-p nil :path "pushing-to-dockerhub" :format bracket :raw-link "#pushing-to-dockerhub" :application nil :search-option nil) #("Pushing to DockerHub" 0 20 (:parent #21))) #("\n" 0 1 (:parent #18))))))) (headline (:standard-properties [260 260 276 926 926 0 (:title) nil nil nil nil 278 924 1 # nil nil #0] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #5))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [276 276 276 926 926 0 nil section nil nil nil 276 926 nil # nil nil #5]) (paragraph (:standard-properties [276 276 276 599 600 1 nil planning nil nil nil nil nil nil # nil nil #8]) #("The CI(Continuous Integration) system for Genenetwork2 uses " 0 60 (:parent #11)) (link (:standard-properties [336 nil 375 389 391 0 nil nil nil nil nil nil nil nil # nil nil #11] :type "https" :type-explicit-p t :path "//github.com/features/actions" :format bracket :raw-link "https://github.com/features/actions" :application nil :search-option nil) #("Github\nActions" 0 14 (:parent #15))) #(". As such, it's important to have a way to run tests using\nfacilities provided by GUIX in a reproducible way. This project\nleverages GUIX to generate a docker container from which the unittests\nare ran from.\n" 0 208 (:parent #11))) (paragraph (:standard-properties [600 600 600 829 830 1 nil nil nil nil nil nil nil nil # nil nil #8]) #("Find instructions on how to set docker up inside GUIX " 0 54 (:parent #12)) (link (:standard-properties [654 nil 732 736 738 0 nil nil nil nil nil nil nil nil # nil nil #12] :type "https" :type-explicit-p t :path "//github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :application nil :search-option nil) #("here" 0 4 (:parent #16))) #(". This\ndocument will not get into that. It's assumed that you have a working\ndocker setup.\n" 0 91 (:parent #12))) (paragraph (:standard-properties [830 830 830 925 926 1 nil nil nil nil nil nil nil nil # nil nil #8]) #("The rest of this document outlines how the docker container used in\nthe CI builds was created.\n" 0 95 (:parent #13))))) (headline (:standard-properties [926 926 956 2234 2234 0 (:title) nil nil nil nil 958 2232 1 # nil nil #0] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 28) t] :title (#("Creating the Docker Images" 0 26 (:parent #6))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [956 956 956 2234 2234 0 nil section nil nil nil 956 2234 nil # nil nil #6]) (paragraph (:standard-properties [956 956 956 1070 1071 1 nil planning nil nil nil nil nil nil # nil nil #9]) #("The general idea is that GUIX is used to generate a set of binaries,\nwhich will be added to a base mariaDB image.\n" 0 114 (:parent #12))) (paragraph (:standard-properties [1071 1071 1071 1116 1117 1 nil nil nil nil nil nil nil nil # nil nil #9]) #("First create the gn2 tar archive by running:\n" 0 45 (:parent #13))) (src-block (:standard-properties [1117 1117 nil nil 1343 1 nil nil nil nil nil nil nil nil # nil nil #9] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 215) t])) (paragraph (:standard-properties [1343 1343 1343 1386 1387 1 nil nil nil nil nil nil nil nil # nil nil #9]) #("The output will look something similar to:\n" 0 43 (:parent #15))) (fixed-width (:standard-properties [1387 1387 nil nil 1454 2 nil nil nil nil nil nil nil nil # nil nil #9] :value "/gnu/store/x3m77vwaqcwba24p5s4lrb7w2ii16lj9-tarball-pack.tar.gz")) (paragraph (:standard-properties [1454 1454 1454 1639 1640 1 nil nil nil nil nil nil nil nil # nil nil #9]) #("Now create a folder from which will host the following dockerfile. You\ncan name this file Dockerfile. Note that mariadb is the base image\nsince it already has mariadb installed for us.\n" 0 185 (:parent #17))) (src-block (:standard-properties [1640 1640 nil nil 1887 1 nil nil nil nil nil nil nil nil # nil nil #9] :language "conf" :switches nil :parameters ":mkdirp yes :tangle ~/docker/Dockerfile" :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (57 236) t])) (paragraph (:standard-properties [1887 1887 1887 1934 1935 1 nil nil nil nil nil nil nil nil # nil nil #9]) #("Build the image(Note the fullstop at the end):\n" 0 47 (:parent #19))) (fixed-width (:standard-properties [1935 1935 nil nil 1995 2 nil nil nil nil nil nil nil nil # nil nil #9] :value "sudo docker build -t genenetwork2:latest -f Dockerfile .")) (paragraph (:standard-properties [1995 1995 1995 2048 2049 1 nil nil nil nil nil nil nil nil # nil nil #9]) #("To load the image interactively you've just created:\n" 0 53 (:parent #21))) (fixed-width (:standard-properties [2049 2049 nil nil 2094 2 nil nil nil nil nil nil nil nil # nil nil #9] :value "docker run -ti \"genenetwork2:latest\" bash")) (paragraph (:standard-properties [2094 2094 2094 2180 2181 1 nil nil nil nil nil nil nil nil # nil nil #9]) #("Assuming you have a docker instance running, you could always run\ncommands in it e.g:\n" 0 86 (:parent #23))) (fixed-width (:standard-properties [2181 2181 nil nil 2234 2 nil nil nil nil nil nil nil nil # nil nil #9] :value "docker run \"genenetwork2:latest\" python --version")))) (headline (:standard-properties [2234 2234 2258 2857 2857 0 (:title) nil nil nil nil 2260 2855 1 # nil nil #0] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 22) t] :title (#("Pushing to DockerHub" 0 20 (:parent #7))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [2258 2258 2258 2857 2857 0 nil section nil nil nil 2258 2857 nil # nil nil #7]) (paragraph (:standard-properties [2258 2258 2258 2364 2365 1 nil planning nil nil nil nil nil nil # nil nil #10]) #("We use DockerHub to store the docker images from which we use on our\nCI environment using Github Actions.\n" 0 106 (:parent #13))) (paragraph (:standard-properties [2365 2365 2365 2486 2487 1 nil nil nil nil nil nil nil nil # nil nil #10]) #("To push to dockerhub, first get the image name by running " 0 58 (:parent #14)) (verbatim (:standard-properties [2423 nil nil nil 2438 0 nil nil nil nil nil nil nil nil # nil nil #14] :value [org-element-deferred org-element--substring (1 14) t])) #(". Push to dockerhub using a command similar to:\n" 0 48 (:parent #14))) (fixed-width (:standard-properties [2487 2487 nil nil 2534 2 nil nil nil nil nil nil nil nil # nil nil #10] :value "docker push bonfacekilz/genenetwork2:latest")) (paragraph (:standard-properties [2534 2534 2534 2576 2577 1 nil nil nil nil nil nil nil nil # nil nil #10]) #("Right now, we have 2 images on DockerHub:\n" 0 42 (:parent #16))) (plain-list (:standard-properties [2577 2577 2577 2857 2857 0 nil nil nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #10] :type unordered) (item (:standard-properties [2577 2577 2579 2741 2741 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #17] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2579 2579 2579 2741 2741 0 nil nil nil nil nil nil nil nil # nil nil #20]) (link (:standard-properties [2579 nil nil nil 2652 0 nil nil nil nil nil nil nil nil # nil nil #23] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python2 version of gn2. Don't use this. Please use the\n python3 image!\n" 0 89 (:parent #23)))) (item (:standard-properties [2741 2741 2743 2857 2857 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #17] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2743 2743 2743 2857 2857 0 nil nil nil nil nil nil nil nil # nil nil #21]) (link (:standard-properties [2743 nil nil nil 2816 0 nil nil nil nil nil nil nil nil # nil nil #24] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python3 version of gn2.\n" 0 41 (:parent #24)))))))) (:export-options (body-only) :back-end #s(org-export-backend :name html :parent nil :transcoders ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :options ((:html-doctype "HTML_DOCTYPE" nil org-html-doctype) (:html-container "HTML_CONTAINER" nil org-html-container-element) (:html-content-class "HTML_CONTENT_CLASS" nil org-html-content-class) (:description "DESCRIPTION" nil nil newline) (:keywords "KEYWORDS" nil nil space) (:html-html5-fancy nil "html5-fancy" org-html-html5-fancy) (:html-link-use-abs-url nil "html-link-use-abs-url" org-html-link-use-abs-url) (:html-link-home "HTML_LINK_HOME" nil org-html-link-home) (:html-link-up "HTML_LINK_UP" nil org-html-link-up) (:html-mathjax "HTML_MATHJAX" nil "" space) (:html-equation-reference-format "HTML_EQUATION_REFERENCE_FORMAT" nil org-html-equation-reference-format t) (:html-postamble nil "html-postamble" org-html-postamble) (:html-preamble nil "html-preamble" org-html-preamble) (:html-head "HTML_HEAD" nil org-html-head newline) (:html-head-extra "HTML_HEAD_EXTRA" nil org-html-head-extra newline) (:subtitle "SUBTITLE" nil nil parse) (:html-head-include-default-style nil "html-style" org-html-head-include-default-style) (:html-head-include-scripts nil "html-scripts" org-html-head-include-scripts) (:html-allow-name-attribute-in-anchors nil nil org-html-allow-name-attribute-in-anchors) (:html-divs nil nil org-html-divs) (:html-checkbox-type nil nil org-html-checkbox-type) (:html-extension nil nil org-html-extension) (:html-footnote-format nil nil org-html-footnote-format) (:html-footnote-separator nil nil org-html-footnote-separator) (:html-footnotes-section nil nil org-html-footnotes-section) (:html-format-drawer-function nil nil org-html-format-drawer-function) (:html-format-headline-function nil nil org-html-format-headline-function) (:html-format-inlinetask-function nil nil org-html-format-inlinetask-function) (:html-home/up-format nil nil org-html-home/up-format) (:html-indent nil nil org-html-indent) (:html-infojs-options nil nil org-html-infojs-options) (:html-infojs-template nil nil org-html-infojs-template) (:html-inline-image-rules nil nil org-html-inline-image-rules) (:html-link-org-files-as-html nil nil org-html-link-org-files-as-html) (:html-mathjax-options nil nil org-html-mathjax-options) (:html-mathjax-template nil nil org-html-mathjax-template) (:html-metadata-timestamp-format nil nil org-html-metadata-timestamp-format) (:html-postamble-format nil nil org-html-postamble-format) (:html-preamble-format nil nil org-html-preamble-format) (:html-prefer-user-labels nil nil org-html-prefer-user-labels) (:html-self-link-headlines nil nil org-html-self-link-headlines) (:html-table-align-individual-fields nil nil org-html-table-align-individual-fields) (:html-table-caption-above nil nil org-html-table-caption-above) (:html-table-data-tags nil nil org-html-table-data-tags) (:html-table-header-tags nil nil org-html-table-header-tags) (:html-table-use-header-tags-for-first-column nil nil org-html-table-use-header-tags-for-first-column) (:html-tag-class-prefix nil nil org-html-tag-class-prefix) (:html-text-markup-alist nil nil org-html-text-markup-alist) (:html-todo-kwd-class-prefix nil nil org-html-todo-kwd-class-prefix) (:html-toplevel-hlevel nil nil org-html-toplevel-hlevel) (:html-use-infojs nil nil org-html-use-infojs) (:html-validation-link nil nil org-html-validation-link) (:html-viewport nil nil org-html-viewport) (:html-inline-images nil nil org-html-inline-images) (:html-table-attributes nil nil org-html-table-default-attributes) (:html-table-row-open-tag nil nil org-html-table-row-open-tag) (:html-table-row-close-tag nil nil org-html-table-row-close-tag) (:html-xml-declaration nil nil org-html-xml-declaration) (:html-wrap-src-lines nil nil org-html-wrap-src-lines) (:html-klipsify-src nil nil org-html-klipsify-src) (:html-klipse-css nil nil org-html-klipse-css) (:html-klipse-js nil nil org-html-klipse-js) (:html-klipse-selection-script nil nil org-html-klipse-selection-script) (:infojs-opt "INFOJS_OPT" nil nil) (:creator "CREATOR" nil org-html-creator-string) (:with-latex nil "tex" org-html-with-latex) (:latex-header "LATEX_HEADER" nil nil newline)) :filters ((:filter-options . org-html-infojs-install-script) (:filter-parse-tree . org-html-image-link-filter) (:filter-final-output . org-html-final-function)) :blocks nil :menu (104 "Export to HTML" ((72 "As HTML buffer" org-html-export-as-html) (104 "As HTML file" org-html-export-to-html) (111 "As HTML file and open" (lambda (a s v b) (if a (org-html-export-to-html t s v b) (org-open-file (org-html-export-to-html nil s v b)))))))) :translate-alist ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :exported-data # :input-buffer " *temp*" :input-file nil :html-doctype "xhtml-strict" :html-container "div" :html-content-class "content" :description nil :keywords nil :html-html5-fancy nil :html-link-use-abs-url nil :html-link-home "" :html-link-up "" :html-mathjax "" :html-equation-reference-format "\\eqref{%s}" :html-postamble auto :html-preamble t :html-head "" :html-head-extra "" :subtitle nil :html-head-include-default-style t :html-head-include-scripts nil :html-allow-name-attribute-in-anchors nil :html-divs ((preamble "div" "preamble") (content "div" "content") (postamble "div" "postamble")) :html-checkbox-type ascii :html-extension "html" :html-footnote-format "%s" :html-footnote-separator ", " :html-footnotes-section "
\n

%s:

\n
\n%s\n
\n
" :html-format-drawer-function #f(compiled-function (name contents) #) :html-format-headline-function org-html-format-headline-default-function :html-format-inlinetask-function org-html-format-inlinetask-default-function :html-home/up-format "
\n UP \n |\n HOME \n
" :html-indent nil :html-infojs-options ((path . "https://orgmode.org/org-info.js") (view . "info") (toc . :with-toc) (ftoc . "0") (tdepth . "max") (sdepth . "max") (mouse . "underline") (buttons . "0") (ltoc . "1") (up . :html-link-up) (home . :html-link-home)) :html-infojs-template "\n\n" :html-inline-image-rules (("file" . "\\(?:\\.\\(?:avif\\|gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("http" . "\\(?:\\.\\(?:avif\\|gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("https" . "\\(?:\\.\\(?:avif\\|gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)")) :html-link-org-files-as-html t :html-mathjax-options ((path "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js") (scale 1.0) (align "center") (font "mathjax-modern") (overflow "overflow") (tags "ams") (indent "0em") (multlinewidth "85%") (tagindent ".8em") (tagside "right")) :html-mathjax-template "\n\n\n" :html-metadata-timestamp-format "%Y-%m-%d %a %H:%M" :html-postamble-format (("en" "

Author: %a (%e)

\n

Date: %d

\n

%c

\n

%v

")) :html-preamble-format (("en" "")) :html-prefer-user-labels nil :html-self-link-headlines nil :html-table-align-individual-fields t :html-table-caption-above t :html-table-data-tags ("" . "") :html-table-header-tags ("" . "") :html-table-use-header-tags-for-first-column nil :html-tag-class-prefix "" :html-text-markup-alist ((bold . "%s") (code . "%s") (italic . "%s") (strike-through . "%s") (underline . "%s") (verbatim . "%s")) :html-todo-kwd-class-prefix "" :html-toplevel-hlevel 2 :html-use-infojs when-configured :html-validation-link "Validate" :html-viewport ((width "device-width") (initial-scale "1") (minimum-scale "") (maximum-scale "") (user-scalable "")) :html-inline-images t :html-table-attributes (:border "2" :cellspacing "0" :cellpadding "6" :rules "groups" :frame "hsides") :html-table-row-open-tag "" :html-table-row-close-tag "" :html-xml-declaration (("html" . "") ("php" . "\"; ?>")) :html-wrap-src-lines nil :html-klipsify-src nil :html-klipse-css "https://storage.googleapis.com/app.klipse.tech/css/codemirror.css" :html-klipse-js "https://storage.googleapis.com/app.klipse.tech/plugin_prod/js/klipse_plugin.min.js" :html-klipse-selection-script "window.klipse_settings = {selector_eval_html: '.src-html',\n selector_eval_js: '.src-js',\n selector_eval_python_client: '.src-python',\n selector_eval_scheme: '.src-scheme',\n selector: '.src-clojure',\n selector_eval_ruby: '.src-ruby'};" :infojs-opt nil :creator "Emacs 30.2 (Org mode 9.7.11)" :with-latex t :latex-header nil :title (#("Genenetwork2 Dockerized" 0 23 (:parent #148))) :date nil :author (#("unknown" 0 7 (:parent #152))) :email "unknown@genenetwork-development" :language "en" :select-tags ("export") :exclude-tags ("noexport") :headline-levels 3 :preserve-breaks nil :section-numbers nil :time-stamp-file t :with-archived-trees headline :with-author t :expand-links t :with-broken-links nil :with-clocks nil :with-creator nil :with-date t :with-drawers (not "LOGBOOK") :with-email nil :with-emphasize t :with-entities t :with-fixed-width t :with-footnotes t :with-inlinetasks t :with-planning nil :with-priority nil :with-properties nil :with-smart-quotes nil :with-special-strings t :with-special-rows nil :with-statistics-cookies t :with-sub-superscript t :with-toc nil :with-tables t :with-tags t :with-tasks t :with-timestamps t :with-title t :with-todo-keywords t :with-cite-processors t :cite-export (basic nil nil) :bibliography nil :filter-body nil :filter-bold nil :filter-babel-call nil :filter-center-block nil :filter-clock nil :filter-code nil :filter-diary-sexp nil :filter-drawer nil :filter-dynamic-block nil :filter-entity nil :filter-example-block nil :filter-export-block nil :filter-export-snippet nil :filter-final-output (org-html-final-function) :filter-fixed-width nil :filter-footnote-definition nil :filter-footnote-reference nil :filter-headline nil :filter-horizontal-rule nil :filter-inline-babel-call nil :filter-inline-src-block nil :filter-inlinetask nil :filter-italic nil :filter-item nil :filter-keyword nil :filter-latex-environment nil :filter-latex-fragment nil :filter-line-break nil :filter-link nil :filter-node-property nil :filter-options (org-html-infojs-install-script) :filter-paragraph nil :filter-parse-tree (org-html-image-link-filter) :filter-plain-list nil :filter-plain-text nil :filter-planning nil :filter-property-drawer nil :filter-quote-block nil :filter-radio-target nil :filter-section nil :filter-special-block nil :filter-src-block nil :filter-statistics-cookie nil :filter-strike-through nil :filter-subscript nil :filter-superscript nil :filter-table nil :filter-table-cell nil :filter-table-row nil :filter-target nil :filter-timestamp nil :filter-underline nil :filter-verbatim nil :filter-verse-block nil :ignore-list nil :parse-tree (org-data (:standard-properties [1 1 1 2857 2857 0 nil org-data nil nil nil 3 2857 nil # nil nil nil] :path nil :CATEGORY nil) (section (:standard-properties [1 1 1 35 35 0 nil first-section nil nil nil 1 35 nil # nil nil #344]) (keyword (:standard-properties [1 1 nil nil 35 1 nil top-comment nil nil nil nil nil nil # nil nil #347] :key "TITLE" :value "Genenetwork2 Dockerized"))) (headline (:standard-properties [35 35 113 260 260 0 (:title) nil nil nil nil 115 258 1 # nil nil #344] :pre-blank 0 :raw-value "Table of Contents" :title (#("Table of Contents" 0 17 (:parent #348))) :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [113 113 113 260 260 0 nil section nil nil nil 113 260 nil # nil nil #348]) (plain-list (:standard-properties [113 113 113 259 260 1 nil planning nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #351] :type unordered) (item (:standard-properties [113 113 115 147 147 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #354] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [115 115 115 147 147 0 nil nil nil nil nil nil nil nil # nil nil #357]) (link (:standard-properties [115 nil 132 144 146 0 nil nil nil nil nil nil nil nil # nil nil #360] :type "custom-id" :type-explicit-p nil :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil) #("Introduction" 0 12 (:parent #363))) #("\n" 0 1 (:parent #360)))) (item (:standard-properties [147 147 149 209 209 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #354] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [149 149 149 209 209 0 nil nil nil nil nil nil nil nil # nil nil #358]) (link (:standard-properties [149 nil 180 206 208 0 nil nil nil nil nil nil nil nil # nil nil #361] :type "custom-id" :type-explicit-p nil :path "creating-the-docker-images" :format bracket :raw-link "#creating-the-docker-images" :application nil :search-option nil) #("Creating the Docker Images" 0 26 (:parent #364))) #("\n" 0 1 (:parent #361)))) (item (:standard-properties [209 209 211 259 259 0 (:tag) item nil nil nil nil nil nil # nil ((113 0 "- " nil nil nil 147) (147 0 "- " nil nil nil 209) (209 0 "- " nil nil nil 259)) #354] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [211 211 211 259 259 0 nil nil nil nil nil nil nil nil # nil nil #359]) (link (:standard-properties [211 nil 236 256 258 0 nil nil nil nil nil nil nil nil # nil nil #362] :type "custom-id" :type-explicit-p nil :path "pushing-to-dockerhub" :format bracket :raw-link "#pushing-to-dockerhub" :application nil :search-option nil) #("Pushing to DockerHub" 0 20 (:parent #365))) #("\n" 0 1 (:parent #362))))))) (headline (:standard-properties [260 260 276 926 926 0 (:title) nil nil nil nil 278 924 1 # nil nil #344] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 14) t] :title (#("Introduction" 0 12 (:parent #349))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [276 276 276 926 926 0 nil section nil nil nil 276 926 nil # nil nil #349]) (paragraph (:standard-properties [276 276 276 599 600 1 nil planning nil nil nil nil nil nil # nil nil #352]) #("The CI(Continuous Integration) system for Genenetwork2 uses " 0 60 (:parent #355)) (link (:standard-properties [336 nil 375 389 391 0 nil nil nil nil nil nil nil nil # nil nil #355] :type "https" :type-explicit-p t :path "//github.com/features/actions" :format bracket :raw-link "https://github.com/features/actions" :application nil :search-option nil) #("Github\nActions" 0 14 (:parent #359))) #(". As such, it's important to have a way to run tests using\nfacilities provided by GUIX in a reproducible way. This project\nleverages GUIX to generate a docker container from which the unittests\nare ran from.\n" 0 208 (:parent #355))) (paragraph (:standard-properties [600 600 600 829 830 1 nil nil nil nil nil nil nil nil # nil nil #352]) #("Find instructions on how to set docker up inside GUIX " 0 54 (:parent #356)) (link (:standard-properties [654 nil 732 736 738 0 nil nil nil nil nil nil nil nil # nil nil #356] :type "https" :type-explicit-p t :path "//github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org#run-docker" :application nil :search-option nil) #("here" 0 4 (:parent #360))) #(". This\ndocument will not get into that. It's assumed that you have a working\ndocker setup.\n" 0 91 (:parent #356))) (paragraph (:standard-properties [830 830 830 925 926 1 nil nil nil nil nil nil nil nil # nil nil #352]) #("The rest of this document outlines how the docker container used in\nthe CI builds was created.\n" 0 95 (:parent #357))))) (headline (:standard-properties [926 926 956 2234 2234 0 (:title) nil nil nil nil 958 2232 1 # nil nil #344] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 28) t] :title (#("Creating the Docker Images" 0 26 (:parent #350))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [956 956 956 2234 2234 0 nil section nil nil nil 956 2234 nil # nil nil #350]) (paragraph (:standard-properties [956 956 956 1070 1071 1 nil planning nil nil nil nil nil nil # nil nil #353]) #("The general idea is that GUIX is used to generate a set of binaries,\nwhich will be added to a base mariaDB image.\n" 0 114 (:parent #356))) (paragraph (:standard-properties [1071 1071 1071 1116 1117 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("First create the gn2 tar archive by running:\n" 0 45 (:parent #357))) (src-block (:standard-properties [1117 1117 nil nil 1343 1 nil nil nil nil nil nil nil nil # nil nil #353] :language "sh" :switches nil :parameters nil :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (15 215) t])) (paragraph (:standard-properties [1343 1343 1343 1386 1387 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("The output will look something similar to:\n" 0 43 (:parent #359))) (fixed-width (:standard-properties [1387 1387 nil nil 1454 2 nil nil nil nil nil nil nil nil # nil nil #353] :value "/gnu/store/x3m77vwaqcwba24p5s4lrb7w2ii16lj9-tarball-pack.tar.gz")) (paragraph (:standard-properties [1454 1454 1454 1639 1640 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("Now create a folder from which will host the following dockerfile. You\ncan name this file Dockerfile. Note that mariadb is the base image\nsince it already has mariadb installed for us.\n" 0 185 (:parent #361))) (src-block (:standard-properties [1640 1640 nil nil 1887 1 nil nil nil nil nil nil nil nil # nil nil #353] :language "conf" :switches nil :parameters ":mkdirp yes :tangle ~/docker/Dockerfile" :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value [org-element-deferred org-element--unescape-substring (57 236) t])) (paragraph (:standard-properties [1887 1887 1887 1934 1935 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("Build the image(Note the fullstop at the end):\n" 0 47 (:parent #363))) (fixed-width (:standard-properties [1935 1935 nil nil 1995 2 nil nil nil nil nil nil nil nil # nil nil #353] :value "sudo docker build -t genenetwork2:latest -f Dockerfile .")) (paragraph (:standard-properties [1995 1995 1995 2048 2049 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("To load the image interactively you've just created:\n" 0 53 (:parent #365))) (fixed-width (:standard-properties [2049 2049 nil nil 2094 2 nil nil nil nil nil nil nil nil # nil nil #353] :value "docker run -ti \"genenetwork2:latest\" bash")) (paragraph (:standard-properties [2094 2094 2094 2180 2181 1 nil nil nil nil nil nil nil nil # nil nil #353]) #("Assuming you have a docker instance running, you could always run\ncommands in it e.g:\n" 0 86 (:parent #367))) (fixed-width (:standard-properties [2181 2181 nil nil 2234 2 nil nil nil nil nil nil nil nil # nil nil #353] :value "docker run \"genenetwork2:latest\" python --version")))) (headline (:standard-properties [2234 2234 2258 2857 2857 0 (:title) nil nil nil nil 2260 2855 1 # nil nil #344] :pre-blank 1 :raw-value [org-element-deferred org-element--headline-raw-value (2 22) t] :title (#("Pushing to DockerHub" 0 20 (:parent #351))) :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil) (section (:standard-properties [2258 2258 2258 2857 2857 0 nil section nil nil nil 2258 2857 nil # nil nil #351]) (paragraph (:standard-properties [2258 2258 2258 2364 2365 1 nil planning nil nil nil nil nil nil # nil nil #354]) #("We use DockerHub to store the docker images from which we use on our\nCI environment using Github Actions.\n" 0 106 (:parent #357))) (paragraph (:standard-properties [2365 2365 2365 2486 2487 1 nil nil nil nil nil nil nil nil # nil nil #354]) #("To push to dockerhub, first get the image name by running " 0 58 (:parent #358)) (verbatim (:standard-properties [2423 nil nil nil 2438 0 nil nil nil nil nil nil nil nil # nil nil #358] :value [org-element-deferred org-element--substring (1 14) t])) #(". Push to dockerhub using a command similar to:\n" 0 48 (:parent #358))) (fixed-width (:standard-properties [2487 2487 nil nil 2534 2 nil nil nil nil nil nil nil nil # nil nil #354] :value "docker push bonfacekilz/genenetwork2:latest")) (paragraph (:standard-properties [2534 2534 2534 2576 2577 1 nil nil nil nil nil nil nil nil # nil nil #354]) #("Right now, we have 2 images on DockerHub:\n" 0 42 (:parent #360))) (plain-list (:standard-properties [2577 2577 2577 2857 2857 0 nil nil nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #354] :type unordered) (item (:standard-properties [2577 2577 2579 2741 2741 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #361] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2579 2579 2579 2741 2741 0 nil nil nil nil nil nil nil nil # nil nil #364]) (link (:standard-properties [2579 nil nil nil 2652 0 nil nil nil nil nil nil nil nil # nil nil #367] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python2-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python2 version of gn2. Don't use this. Please use the\n python3 image!\n" 0 89 (:parent #367)))) (item (:standard-properties [2741 2741 2743 2857 2857 0 (:tag) item nil nil nil nil nil nil # nil ((2577 0 "- " nil nil nil 2741) (2741 0 "- " nil nil nil 2857)) #361] :bullet "- " :checkbox nil :counter nil :pre-blank 0 :tag nil) (paragraph (:standard-properties [2743 2743 2743 2857 2857 0 nil nil nil nil nil nil nil nil # nil nil #365]) (link (:standard-properties [2743 nil nil nil 2816 0 nil nil nil nil nil nil nil nil # nil nil #368] :type "https" :type-explicit-p t :path "//hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :format plain :raw-link "https://hub.docker.com/repository/docker/bonfacekilz/python3-genenetwork2" :application nil :search-option nil)) #(":\n Contains the python3 version of gn2.\n" 0 41 (:parent #368)))))))) :headline-offset 0 :headline-numbering nil :id-alist nil :citations nil :id-local-cache #)) org-export-as(html nil nil t nil) org-export-to-buffer(html "*Org HTML Export*" nil nil nil t nil #f(compiled-function () #)) org-html-export-as-html(nil nil nil t) (progn (pipe-stdin-into-current-buffer) (org-html-export-as-html nil nil nil t) (princ (buffer-string))) (unwind-protect (progn (pipe-stdin-into-current-buffer) (org-html-export-as-html nil nil nil t) (princ (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (pipe-stdin-into-current-buffer) (org-html-export-as-html nil nil nil t) (princ (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (pipe-stdin-into-current-buffer) (org-html-export-as-html nil nil nil t) (princ (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) eval-buffer(# nil "/gnu/store/0h55qvzlzmvwgigk6nrzcc6s2g30ddm0-org2html.el" nil t) #f(compiled-function (buffer file) #)(# "/gnu/store/0h55qvzlzmvwgigk6nrzcc6s2g30ddm0-org2html.el") load-with-code-conversion("/gnu/store/0h55qvzlzmvwgigk6nrzcc6s2g30ddm0-org2html.el" "/gnu/store/0h55qvzlzmvwgigk6nrzcc6s2g30ddm0-org2html.el" nil t #f(compiled-function (buffer file) #)) command-line--load-script("/gnu/store/0h55qvzlzmvwgigk6nrzcc6s2g30ddm0-org2html.el") command-line-1(("-scriptload" "/gnu/store/0h55qvzlzmvwgigk6nrzcc6s2g30ddm0-org2html.el")) command-line() normal-top-level()