summaryrefslogtreecommitdiff
path: root/bluechateau/systems
diff options
context:
space:
mode:
authorAzalea Redmyer <azalea@grrlz.net>2026-02-15 05:00:16 -0800
committerAzalea Redmyer <azalea@grrlz.net>2026-02-15 05:00:16 -0800
commit6c9b4e4cf2e348fcfe931c4fa90da1b7bedba28e (patch)
treef56921d178eb28773dc6b74466649868ceeab3a8 /bluechateau/systems
parent355f1bd0fabf2667fa8ce05b083af67b491f5176 (diff)
Add prosody service for XMPP chat & update CryptPad endpoints
Diffstat (limited to 'bluechateau/systems')
-rw-r--r--bluechateau/systems/chinstrap.scm54
1 files changed, 41 insertions, 13 deletions
diff --git a/bluechateau/systems/chinstrap.scm b/bluechateau/systems/chinstrap.scm
index bc6ba82..c14a1f0 100644
--- a/bluechateau/systems/chinstrap.scm
+++ b/bluechateau/systems/chinstrap.scm
@@ -21,9 +21,9 @@
#:use-module (gnu services databases)
#:use-module (gnu services desktop)
#:use-module (gnu services docker)
+ #:use-module (gnu services messaging)
#:use-module (gnu services networking)
#:use-module (gnu services ssh)
- ;;#:use-module (gnu services version-control)
#:use-module (gnu services virtualization)
#:use-module (gnu services web)
#:use-module (gnu system)
@@ -34,12 +34,20 @@
(define ssl-domains '("bluechateau.org"
"www.bluechateau.org"
+ ;; CGit
"git.bluechateau.org"
+ ;; SearXNG
"search.bluechateau.org"
+ ;; lemmy.sdf.org "Funhole" wiki mirror
"fwiki.bluechateau.org"
+ ;; PlanarAlly
"vtt.bluechateau.org"
- "docs.bluechateau.org"
- "sbdocs.bluechateau.org"))
+ ;; CryptPad
+ "pad.bluechateau.org"
+ "padsandbox.bluechateau.org"
+ ;; XMPP via Prosody
+ "xmpp.bluechateau.org"
+ ))
(define nginx-accounts
(list (user-group (name "nginx") (system? #t))
@@ -85,6 +93,20 @@
(user "git")
(socket "tcp:127.0.0.1:9000"))))
+;; XMPP via Prosody
+(define prosody-service
+ (service prosody-service-type
+ (prosody-configuration
+ (modules-enabled
+ (cons*
+ "groups" "mam" "user_account_management" "http_file_share" %default-modules-enabled))
+ (virtualhosts
+ (list
+ (virtualhost-configuration
+ (domain "xmpp.bluechateau.org"))))
+ ;;(certificates "/etc/certs/bluechateau")
+ )))
+
;; Gitolite (git repository hosting)
(define gitolite-service
(service gitolite-service-type
@@ -98,7 +120,7 @@
;; In order to hide repositories in cgit,
;; this value must be set.
(git-config-keys ".*")
- (extra-content "WRITER_CAN_UPDATE_DESC => 1"))))))
+ (extra-content "WRITER_CAN_UPDATE_DESC => 1"))))))
;; CGit (git repository browser)
(define cgit-service
@@ -208,8 +230,8 @@
(define cryptpad-config
(plain-file "config.js"
"module.exports = {
- httpUnsafeOrigin: 'https://docs.bluechateau.org',
- httpSafeOrigin: 'https://sbdocs.bluechateau.org',
+ httpUnsafeOrigin: 'https://pad.bluechateau.org',
+ httpSafeOrigin: 'https://padsandbox.bluechateau.org',
httpAddress: '0.0.0.0',
httpPort: 3000,
websocketPort: 3003,
@@ -246,8 +268,8 @@
"cryptpad-onlyoffice-conf:/cryptpad/onlyoffice-conf"
(,cryptpad-config . "/cryptpad/config/config.js")))
(environment
- '("CPAD_MAIN_DOMAIN=https://docs.bluechateau.org"
- "CPAD_SANDBOX_DOMAIN=https://sbdocs.bluechateau.org"
+ '("CPAD_MAIN_DOMAIN=https://pad.bluechateau.org"
+ "CPAD_SANDBOX_DOMAIN=https://padsandbox.bluechateau.org"
"CPAD_CONF=/cryptpad/config/config.js"))
(extra-arguments
'("-h cryptpad"))))
@@ -255,8 +277,8 @@
(define cryptpad-nginx-server-configuration
(nginx-server-configuration
(listen '("443 ssl"))
- (server-name '("docs.bluechateau.org"
- "sbdocs.bluechateau.org"))
+ (server-name '("pad.bluechateau.org"
+ "padsandbox.bluechateau.org"))
(ssl-certificate
"/etc/certs/bluechateau/fullchain.pem")
(ssl-certificate-key
@@ -415,7 +437,7 @@ port = 8000"))
(packages
(append
(map specification->package
- '("emacs" "git"))
+ '("emacs" "git" "prosody"))
%base-packages))
(services
@@ -442,6 +464,9 @@ port = 8000"))
(simple-service 'oci-service
oci-service-type
(oci-extension
+ (networks
+ (list
+ (oci-network-configuration (name "host"))))
(containers
(list
;; SearXNG
@@ -449,7 +474,8 @@ port = 8000"))
;; CryptPad
cryptpad-oci-container-configuration
;; PlanarAlly
- planarally-oci-container-configuration))))
+ planarally-oci-container-configuration
+ ))))
;; Certbot (TLS certificates)
;; Certbot extends nginx with configuration to
@@ -491,8 +517,10 @@ port = 8000"))
;; CryptPad
cryptpad-nginx-server-configuration
;; PlanarAlly VTT
- planarally-nginx-server-configuration))))
+ planarally-nginx-server-configuration
+ ))))
+ prosody-service
git-fcgiwrap-service
gitolite-service
cgit-service)