blob: 8bb1975ac1d935d5d480e7d4cdb8d03bc2b4d689 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
(use-modules (gnu)
((gnu packages admin) #:select (shepherd))
(forge acme)
(forge cgit)
(forge nginx)
(forge socket))
(operating-system
(host-name "forge")
(timezone "UTC")
(locale "en_US.utf8")
(bootloader (bootloader-configuration
(bootloader grub-bootloader)
(targets (list "/dev/sdX"))))
(file-systems %base-file-systems)
(sudoers-file
(mixed-text-file "sudoers"
"@include " %sudoers-specification
;; Permit the acme user to restart nginx.
"\nacme ALL = NOPASSWD: "
(file-append shepherd "/bin/herd")
" restart nginx\n"))
(services (cons* (service cgit-service-type
(cgit-configuration
(server-name "git.example.org")
(repository-directory "/srv/git")))
(service forge-nginx-service-type
(forge-nginx-configuration
(http-listen (forge-ip-socket
(ip "0.0.0.0")
(port 8080)))
(https-listen (forge-ip-socket
(ip "0.0.0.0")
(port 4443)))))
(service acme-service-type
(acme-configuration
(email "foo@example.org")))
%base-services)))
|