services: Add whoogle-service-type.
* gnu/services/web.scm (whoogle-service-type): New variable. * doc/guix.texi (Web Services): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
0497b1696f
commit
0a7bf792c8
|
@ -31863,6 +31863,38 @@ Additional arguments to pass to the @command{varnishd} process.
|
||||||
@end table
|
@end table
|
||||||
@end deftp
|
@end deftp
|
||||||
|
|
||||||
|
@subheading Whoogle Search
|
||||||
|
@cindex Whoogle Search
|
||||||
|
@uref{https://github.com/benbusby/whoogle-search, Whoogle Search} is a
|
||||||
|
self-hosted, ad-free, privacy-respecting metasearch engine that collects
|
||||||
|
and displays Google search results.
|
||||||
|
|
||||||
|
@defvar whoogle-service-type
|
||||||
|
Service type for Whoogle Search.
|
||||||
|
@end defvar
|
||||||
|
|
||||||
|
@deftp {Data Type} whoogle-configuration
|
||||||
|
Data type representing Whoogle Search service configuration.
|
||||||
|
|
||||||
|
@table @asis
|
||||||
|
@item @code{package} (default: @code{whoogle-search})
|
||||||
|
The Whoogle Search package to use.
|
||||||
|
|
||||||
|
@item @code{host} (default: @code{"127.0.0.1"})
|
||||||
|
The host address to run Whoogle on.
|
||||||
|
|
||||||
|
@item @code{port} (default: @code{5000})
|
||||||
|
The port where Whoogle will be exposed.
|
||||||
|
|
||||||
|
@item @code{environment-variables} (default: @code{'()})
|
||||||
|
A list of strings with the environment variables to configure Whoogle.
|
||||||
|
You can consult
|
||||||
|
@uref{https://github.com/benbusby/whoogle-search/blob/main/whoogle.template.env,
|
||||||
|
its environment variables template} for the list of available options.
|
||||||
|
|
||||||
|
@end table
|
||||||
|
@end deftp
|
||||||
|
|
||||||
@subsubheading Patchwork
|
@subsubheading Patchwork
|
||||||
@cindex Patchwork
|
@cindex Patchwork
|
||||||
Patchwork is a patch tracking system. It can collect patches sent to a
|
Patchwork is a patch tracking system. It can collect patches sent to a
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
;;; Copyright © 2020, 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro>
|
;;; Copyright © 2020, 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro>
|
||||||
;;; Copyright © 2022 Simen Endsjø <simendsjo@gmail.com>
|
;;; Copyright © 2022 Simen Endsjø <simendsjo@gmail.com>
|
||||||
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
|
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
|
||||||
|
;;; Copyright © 2023 Miguel Ángel Moreno <mail@migalmoreno.com>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -36,6 +37,7 @@
|
||||||
#:use-module (gnu services)
|
#:use-module (gnu services)
|
||||||
#:use-module (gnu services shepherd)
|
#:use-module (gnu services shepherd)
|
||||||
#:use-module (gnu services admin)
|
#:use-module (gnu services admin)
|
||||||
|
#:use-module (gnu services configuration)
|
||||||
#:use-module (gnu services getmail)
|
#:use-module (gnu services getmail)
|
||||||
#:use-module (gnu services mail)
|
#:use-module (gnu services mail)
|
||||||
#:use-module (gnu system pam)
|
#:use-module (gnu system pam)
|
||||||
|
@ -47,6 +49,7 @@
|
||||||
#:use-module (gnu packages patchutils)
|
#:use-module (gnu packages patchutils)
|
||||||
#:use-module (gnu packages php)
|
#:use-module (gnu packages php)
|
||||||
#:use-module (gnu packages python)
|
#:use-module (gnu packages python)
|
||||||
|
#:use-module (gnu packages python-web)
|
||||||
#:use-module (gnu packages gnupg)
|
#:use-module (gnu packages gnupg)
|
||||||
#:use-module (gnu packages guile)
|
#:use-module (gnu packages guile)
|
||||||
#:use-module (gnu packages logging)
|
#:use-module (gnu packages logging)
|
||||||
|
@ -240,6 +243,13 @@
|
||||||
|
|
||||||
varnish-service-type
|
varnish-service-type
|
||||||
|
|
||||||
|
whoogle-service-type
|
||||||
|
whoogle-configuration
|
||||||
|
whoogle-configuration-package
|
||||||
|
whoogle-configuration-host
|
||||||
|
whoogle-configuration-port
|
||||||
|
whoogle-configuration-environment-variables
|
||||||
|
|
||||||
patchwork-database-configuration
|
patchwork-database-configuration
|
||||||
patchwork-database-configuration?
|
patchwork-database-configuration?
|
||||||
patchwork-database-configuration-engine
|
patchwork-database-configuration-engine
|
||||||
|
@ -1603,6 +1613,52 @@ files.")
|
||||||
(default-value
|
(default-value
|
||||||
(varnish-configuration))))
|
(varnish-configuration))))
|
||||||
|
|
||||||
|
|
||||||
|
;;;
|
||||||
|
;;; Whoogle
|
||||||
|
;;;
|
||||||
|
|
||||||
|
(define-configuration/no-serialization whoogle-configuration
|
||||||
|
(package
|
||||||
|
(package whoogle-search)
|
||||||
|
"The @code{whoogle-search} package to use.")
|
||||||
|
(host
|
||||||
|
(string "127.0.0.1")
|
||||||
|
"The host address to run Whoogle on.")
|
||||||
|
(port
|
||||||
|
(integer 5000)
|
||||||
|
"The port to run Whoogle on.")
|
||||||
|
(environment-variables
|
||||||
|
(list-of-strings '())
|
||||||
|
"A list of strings specifying environment variables used to configure
|
||||||
|
Whoogle."))
|
||||||
|
|
||||||
|
(define (whoogle-shepherd-service config)
|
||||||
|
(match-record config <whoogle-configuration>
|
||||||
|
(package host port environment-variables)
|
||||||
|
(list
|
||||||
|
(shepherd-service
|
||||||
|
(provision '(whoogle-search))
|
||||||
|
(start #~(make-forkexec-constructor
|
||||||
|
(list (string-append #$package "/bin/whoogle-search")
|
||||||
|
"--host" #$host "--port" #$(number->string port))
|
||||||
|
#:environment-variables
|
||||||
|
(append (list "CONFIG_VOLUME=/var/cache/whoogle-search")
|
||||||
|
'#$environment-variables)))
|
||||||
|
(stop #~(make-kill-destructor))
|
||||||
|
(documentation "Run a @code{whoogle-search} instance.")))))
|
||||||
|
|
||||||
|
(define whoogle-service-type
|
||||||
|
(service-type
|
||||||
|
(name 'whoogle-search)
|
||||||
|
(extensions
|
||||||
|
(list (service-extension shepherd-root-service-type
|
||||||
|
whoogle-shepherd-service)
|
||||||
|
(service-extension profile-service-type
|
||||||
|
(compose list whoogle-configuration-package))))
|
||||||
|
(default-value (whoogle-configuration))
|
||||||
|
(description "Set up the @code{whoogle-search} metasearch engine.")))
|
||||||
|
|
||||||
|
|
||||||
;;;
|
;;;
|
||||||
;;; Patchwork
|
;;; Patchwork
|
||||||
|
|
Loading…
Reference in New Issue