1 files changed, 111 insertions, 0 deletions
diff --git a/test-r-container.scm b/test-r-container.scm
new file mode 100644
index 0000000..3167574
--- /dev/null
+++ b/test-r-container.scm
@@ -0,0 +1,111 @@
+(use-modules (guix)
+ (gnu)
+ (guix git)
+ (guix modules)
+ (guix profiles)
+ (guix records)
+ (guix packages)
+ (guix git-download)
+ (guix build-system trivial)
+ (gnu services dbus)
+ (gnu services networking)
+ (gnu services ssh)
+ (gnu services web)
+ (gnu services certbot)
+ (gnu services docker)
+ (gnu services desktop)
+ (gnu services shepherd)
+ (gnu packages admin)
+ (gnu packages statistics)
+ (gnu packages cran)
+ (gnu packages curl)
+ (gnu packages lsof)
+ (srfi srfi-1)
+ (ice-9 match)
+ (genenetwork services mouse-longevity)
+ (gn services rshiny)
+ (gn packages mouse-longevity)
+ (forge acme)
+ (forge nginx)
+ (forge socket)
+ (gnu services))
+
+(define %nginx-configuration
+ (nginx-configuration
+ (server-blocks
+ (list
+ ;; Redirect domains that don't explicitly support HTTP (below) to HTTPS.
+ (nginx-server-configuration
+ (listen '("8080")))
+
+ ;; Domains that still explicitly support plain HTTP.
+ (nginx-server-configuration
+ (listen '("80"))
+ (server-name '("longevity-explorer.genenetwork.org"))
+ (locations
+ (list
+ (nginx-location-configuration
+ (uri "/")
+ (body (list "proxy_pass http://127.0.0.1:3979;")))))
+ (raw-content
+ (list
+ "proxy_set_header Host $host;"
+ "proxy_set_header X-Real-IP $remote_addr;"
+ "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;"
+ "proxy_set_header X-Forwarded-Proto $scheme;")))))))
+
+(operating-system
+ (host-name "testing-genenetwork-services")
+ (keyboard-layout (keyboard-layout "us"))
+ (kernel-arguments
+ (cons* "console=ttyS0,115200" "console=tty0"
+ %default-kernel-arguments))
+ (bootloader (bootloader-configuration (bootloader grub-bootloader)))
+ (issue "This is a GeneNetwork container. Welcome!\n")
+ (file-systems %base-file-systems)
+ (sudoers-file
+ (mixed-text-file "sudoers"
+ "@include " %sudoers-specification
+ "\nacme ALL = NOPASSWD: " (file-append shepherd "/bin/herd") " restart nginx\n"))
+ (packages (cons* lsof curl %base-packages))
+ (services
+ (cons*
+ (service dhcp-client-service-type)
+ (service dbus-root-service-type)
+ (service polkit-service-type)
+ (service forge-nginx-service-type
+ (forge-nginx-configuration
+ (http-listen (forge-ip-socket
+ (ip "127.0.0.1")
+ (port "8080")))
+ (https-listen (forge-ip-socket
+ (ip "127.0.0.1")
+ (port "8443")))
+ (server-blocks
+ (list
+ (nginx-server-configuration
+ (server-name '("longevity-explorer.genenetwork.org"))
+ (locations
+ (list (nginx-location-configuration
+ (uri "/")
+ (body (list "proxy_pass http://localhost:3979;"
+ "proxy_set_header Host $host;"))))))))))
+ (service acme-service-type
+ (acme-configuration
+ (email "jgart@dismail.de")
+ (acme-url %letsencrypt-staging-url)))
+ ;; (service certbot-service-type
+ ;; (certbot-configuration
+ ;; (email "jgart@dismail.de")
+ ;; (certificates
+ ;; (list
+ ;; (certificate-configuration
+ ;; (domains '("longevity-explorer.genenetwork.org"
+ ;; "www.longevity-explorer.genenetwork.org")))))))
+ ;; (mouse-longevity-service )
+ (service rshiny-service-type
+ (rshiny-configuration
+ (package mouse-longevity-app)
+ (binary "mouse-longevity-app")))
+ ;; (service nginx-service-type %nginx-configuration)
+ %base-services)))
|