summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bluechateau/systems/chinstrap.scm41
1 files changed, 41 insertions, 0 deletions
diff --git a/bluechateau/systems/chinstrap.scm b/bluechateau/systems/chinstrap.scm
index 89a9057..77f64f0 100644
--- a/bluechateau/systems/chinstrap.scm
+++ b/bluechateau/systems/chinstrap.scm
@@ -16,6 +16,7 @@
#:use-module (gnu services admin)
#:use-module (gnu services certbot)
#:use-module (gnu services cgit)
+ #:use-module (gnu services ci)
#:use-module (gnu services containers)
#:use-module (gnu services dbus)
#:use-module (gnu services databases)
@@ -48,6 +49,8 @@
"padsandbox.bluechateau.org"
;; XMPP via Prosody
"xmpp.bluechateau.org"
+ ;; Laminar
+ "ci.bluechateau.org"
))
(define nginx-accounts
@@ -117,6 +120,41 @@
;;(certificates "/etc/certs/bluechateau")
)))
+;; Laminar (continuous integration)
+(define laminar-service
+ (service laminar-service-type
+ (laminar-configuration
+ (supplementary-groups '("git"))
+ (title "Blue Chateau CI")
+ (home-directory "/srv/lib/laminar")
+ )))
+(define laminar-nginx-server-configuration
+ (nginx-server-configuration
+ (listen '("443 ssl"))
+ (server-name '("ci.bluechateau.org"))
+ (root "/srv/laminar")
+ (ssl-certificate
+ "/etc/certs/bluechateau/fullchain.pem")
+ (ssl-certificate-key
+ "/etc/certs/bluechateau/privkey.pem")
+ (raw-content
+ '("http2 on;"
+ "ssl_protocols TLSv1.3;"
+ "ssl_ciphers EECDH+AESGCM:EDH+AESGCM;"))
+ (locations
+ (list
+ (nginx-location-configuration
+ (uri "/")
+ (body
+ '("proxy_pass http://localhost:8080;"
+ "proxy_http_version 1.1;"
+ "proxy_set_header Connection \"\";"
+ )))
+ (nginx-location-configuration
+ (uri "/archive/")
+ (body
+ '("alias /srv/lib/laminar/archive/;")))))))
+
;; Gitolite (git repository hosting)
(define gitolite-service
(service gitolite-service-type
@@ -542,8 +580,11 @@ port = 8000"))
cryptpad-nginx-server-configuration
;; PlanarAlly VTT
planarally-nginx-server-configuration
+ ;; Laminar
+ laminar-nginx-server-configuration
))))
+ laminar-service
prosody-service
git-fcgiwrap-service
gitolite-service