summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorLilah Tascheter <lilah@lunabee.space>2025-10-21 14:13:59 -0500
committerEfraim Flashner <efraim@flashner.co.il>2025-11-12 12:20:22 +0200
commit7fb7d071cfda3a7d49499b7ed3b4571f0eb99c3e (patch)
tree3a644820b759acabc7004e7396868496f838d2d7 /doc
parent368d2d9e0ff9a6dce0c1836d1ac542d4d2b9d23a (diff)
gnu: services: Add mollysocket service.
* gnu/services/messaging.scm (ms-format,ms-serialize-string, ms-serialize-integer, ms-serialize-boolean, ms-serialize-list-of-strings, mollysocket-shepherd-service, mollysocket-account-service, mollysocket-activation-service): New procedures. (mollysocket-configuration): New configuration. (mollysocket-service-type): New variable. * doc/guix.texi (Messaging Services)[Mollysocket Service]: New section. Change-Id: I87d57b69a6d8fa8841a95add084aa383385de4c7
Diffstat (limited to 'doc')
-rw-r--r--doc/guix.texi44
1 files changed, 44 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 64ef5964745..ffc797ccf3c 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -31777,6 +31777,50 @@ Owner's group of the broker process.
@end table
@end deftp
+@subsubheading Mollysocket Service
+
+@url{https://github.com/mollyim/mollysocket,Mollysocket} is a UnifiedPush
+provider for the messaging app @url{https://molly.im,Molly}, a fork of Signal.
+
+@defvar mollysocket-service-type
+The Mollysocket service. Takes @code{mollysocket-configuration} as its value.
+By default, this service listens on port 8020 for any Molly client.
+@end defvar
+
+@deftp {Data Type} mollysocket-configuration
+The configuration for Mollysocket, with the following fields:
+
+@table @asis
+@item @code{package} (default: @code{mollysocket})
+The Mollysocket package to use.
+
+@item @code{host} (default: @code{"0.0.0.0"})
+Address for the webserver to listen on. It is recommended that this be set to
+localhost, and instead configure a TLS-supporting reverse proxy in front of it.
+
+@item @code{port} (default: @code{8020})
+Port for the webserver to listen on.
+
+@item @code{webserver} (default: @code{#t})
+Whether the webserver sould be enabled. If disabled, the server is considered to
+be in airgapped mode, and clients must be configured likewise.
+
+@item @code{allowed-endpoints} (default: @code{'("*")})
+Allowlist of UnifiedPush distributor endpoints, represented as IP addresses or
+domain names. Addresses on the local network must be specified explicitly.
+
+@item @code{allowed-uuids} (default: @code{'("*")})
+Allowlist of Signal account UUIDs.
+
+@item @code{db} (default: @code{"/var/lib/mollysocket/db.sqlite"})
+Path to the Mollysocket database. Will be created if it doesn't exist.
+
+@item @code{vapid-key-file} (default: @code{"/var/lib/mollysocket/vapid.key"})
+Path to the VAPID key used to authorize requests to the UnifiedPush distributor.
+Will be created if it doesn't exist.
+@end table
+@end deftp
+
@node Telephony Services
@subsection Telephony Services