aboutsummaryrefslogtreecommitdiff
path: root/doc/snippets/how-to-set-up-cgit.scm
diff options
context:
space:
mode:
Diffstat (limited to 'doc/snippets/how-to-set-up-cgit.scm')
-rw-r--r--doc/snippets/how-to-set-up-cgit.scm38
1 files changed, 38 insertions, 0 deletions
diff --git a/doc/snippets/how-to-set-up-cgit.scm b/doc/snippets/how-to-set-up-cgit.scm
new file mode 100644
index 0000000..8bb1975
--- /dev/null
+++ b/doc/snippets/how-to-set-up-cgit.scm
@@ -0,0 +1,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)))