Add gitolite service

Julien LepillerSat Sep 26 03:48:02+0200 2020

15e87d9

Add gitolite service

systems/ene.scm

2222
(use-modules (gnu services dns))
2323
(use-modules (gnu services mail))
2424
(use-modules (gnu services networking))
25+
(use-modules (gnu services version-control))
2526
(use-modules (gnu services web))
2627
(use-modules (gnu system))
2728

3233
(use-modules (guix utils))
3334
3435
(use-modules (config certbot) (config dns) (config iptables)
35-
	     (config mail) (config os))
36+
             (config mail) (config os))
3637
3738
;; Copy from (gnu bootloader u-boot)
3839
(define install-allwinner-u-boot

7172
            (baud-rate "115200")
7273
            (term "vt100")
7374
            (tty "ttyS0")))
74-
        (service nginx-service-type)
75+
        (service tor-service-type)
76+
        (tor-hidden-service "mail"
77+
                            '((25 "127.0.0.1:25")
78+
                              (143 "127.0.0.1:143")
79+
                              (587 "127.0.0.1:587")
80+
                              (993 "127.0.0.1:993")))
7581
        (service knot-service-type
7682
                 (knot-configuration
7783
                   (includes '("/etc/knot/secrets.conf"))

8288
                                ipv6-reverse-master-zone))))
8389
        (certbot-service `(("courriel.lepiller.eu" "imap.lepiller.eu")
8490
                           ("ene.lepiller.eu" "rennes.lepiller.eu")
85-
                           ("avatar.lepiller.eu")))
91+
                           ("avatar.lepiller.eu")
92+
			   ("git.lepiller.eu")))
93+
        (service nginx-service-type)
8694
        (service php-fpm-service-type)
8795
        (cat-avatar-generator-service
8896
          #:configuration
8997
          (nginx-server-configuration
9098
            (server-name '("avatar.lepiller.eu"))
91-
            (ssl-certificate "/etc/letsencrypt/live/avatar.lepiller.eu/fullchain.pem")
92-
            (ssl-certificate-key "/etc/letsencrypt/live/avatar.lepiller.eu/privkey.pem")
99+
            (ssl-certificate
100+
	      "/etc/letsencrypt/live/avatar.lepiller.eu/fullchain.pem")
101+
            (ssl-certificate-key
102+
	      "/etc/letsencrypt/live/avatar.lepiller.eu/privkey.pem")
93103
            (listen '("443 ssl http2" "[::]:443 ssl http2"))))
94104
        (simple-service 'default-http-server nginx-service-type
95105
          (list (nginx-server-configuration
96-
                  (ssl-certificate "/etc/letsencrypt/live/ene.lepiller.eu/fullchain.pem")
97-
                  (ssl-certificate-key "/etc/letsencrypt/live/ene.lepiller.eu/privkey.pem")
106+
                  (ssl-certificate
107+
		    "/etc/letsencrypt/live/ene.lepiller.eu/fullchain.pem")
108+
                  (ssl-certificate-key
109+
		    "/etc/letsencrypt/live/ene.lepiller.eu/privkey.pem")
110+
                  (listen '("443 ssl http2" "[::]:443 ssl http2"))
111+
                  (server-name '(default))(root "/srv/http/default"))))
112+
        (simple-service 'git-server nginx-service-type
113+
          (list (nginx-server-configuration
114+
                  (ssl-certificate
115+
		    "/etc/letsencrypt/live/git.lepiller.eu/fullchain.pem")
116+
                  (ssl-certificate-key
117+
		    "/etc/letsencrypt/live/git.lepiller.eu/privkey.pem")
98118
                  (listen '("443 ssl http2" "[::]:443 ssl http2"))
99-
                  (server-name '(default))(root "/srv/http/default")))))
100-
      (lepiller-mail-services
101-
        #:interface "eth0"
102-
        #:domain "courriel.lepiller.eu")
119+
                  (server-name '(default))(root "/srv/http/git/public"))))
120+
	(service gitolite-service-type
121+
	  (gitolite-configuration
122+
	    (admin-pubkey (local-file "../keys/tyreunom.pub")))))
123+
      (modify-services
124+
        (lepiller-mail-services
125+
          #:interface "eth0"
126+
          #:domain "courriel.lepiller.eu")
127+
        (dovecot-service-type config =>
128+
         (dovecot-configuration
129+
           (inherit config)
130+
           (dovecot (package
131+
                      (inherit dovecot)
132+
                      (arguments
133+
                        `(#:tests? #f
134+
                          ,@(package-arguments dovecot))))))))
103135
      (server-services "ene"))))