diff options
author | Julien Lepiller <julien@lepiller.eu> | 2018-01-12 23:14:14 +0100 |
---|---|---|
committer | Julien Lepiller <julien@lepiller.eu> | 2018-02-14 23:18:41 +0100 |
commit | 08da664d1041133e8282a5df0fcab6eee7e548fa (patch) | |
tree | 8b9ce1e125c2479ed6673e6d212df0a55ac47282 | |
parent | 3bedac50571204643d5e3b204dc720ae7d571a1f (diff) | |
download | guix-08da664d1041133e8282a5df0fcab6eee7e548fa.tar guix-08da664d1041133e8282a5df0fcab6eee7e548fa.tar.gz |
gnu: Add cat-avatar-generator-service.
* gnu/services/web.scm (cat-avatar-generator-service): New variable.
* doc/guix.text (Web Services): Document it.
-rw-r--r-- | doc/guix.texi | 25 | ||||
-rw-r--r-- | gnu/services/web.scm | 27 |
2 files changed, 50 insertions, 2 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 08f531b4ec..9dafe60eeb 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -15641,6 +15641,31 @@ A simple services setup for nginx with php can look like this: %base-services)) @end example +@cindex cat-avatar-generator +The cat avatar generator is a simple service to demonstrate the use of php-fpm +in @code{Nginx}. It is used to generate cat avatar from a seed, for instance +the hash of a user's email address. + +@deffn {Scheme Procedure} cat-avatar-generator-serice @ + [#:cache-dir "/var/cache/cat-avatar-generator"] @ + [#:package cat-avatar-generator] @ + [#:configuration (nginx-server-configuration)] +Returns an nginx-server-configuration that inherits @code{configuration}. It +extends the nginx configuration to add a server block that serves @code{package}, +a version of cat-avatar-generator. During execution, cat-avatar-generator will +be able to use @code{cache-dir} as its cache directory. +@end deffn + +A simple setup for cat-avatar-generator can look like this: +@example +(services (cons* (cat-avatar-generator-service + #:configuration + (nginx-server-configuration + (server-name '("example.com")))) + ... + %base-services)) +@end example + @node Certificate Services @subsubsection Certificate Services diff --git a/gnu/services/web.scm b/gnu/services/web.scm index c1ffe3e055..beda481b0d 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015 David Thompson <davet@gnu.org> ;;; Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is> -;;; Copyright © 2016, 2017 Julien Lepiller <julien@lepiller.eu> +;;; Copyright © 2016, 2017, 2018 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2017 nee <nee-git@hidamari.blue> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> @@ -153,7 +153,9 @@ php-fpm-on-demand-process-manager-configuration-process-idle-timeout php-fpm-service-type - nginx-php-location)) + nginx-php-location + + cat-avatar-generator-service)) ;;; Commentary: ;;; @@ -870,3 +872,24 @@ a webserver.") (string-append "fastcgi_pass unix:" socket ";") "fastcgi_index index.php;" (list "include " nginx-package "/share/nginx/conf/fastcgi.conf;"))))) + +(define* (cat-avatar-generator-service + #:key + (cache-dir "/var/cache/cat-avatar-generator") + (package cat-avatar-generator) + (configuration (nginx-server-configuration))) + (simple-service + 'cat-http-server nginx-service-type + (list (nginx-server-configuration + (inherit configuration) + (locations + (cons + (let ((base (nginx-php-location))) + (nginx-location-configuration + (inherit base) + (body (list (string-append "fastcgi_param CACHE_DIR \"" + cache-dir "\";") + (nginx-location-configuration-body base))))) + (nginx-server-configuration-locations configuration))) + (root #~(string-append #$package + "/share/web/cat-avatar-generator")))))) |