Caleb Herbert <c...@bluehome.net> writes:

> How do I deploy Radicale?  Just (service radicale-service-type)?
>
> Or do I need a config?

I use it like that (with nginx as reverse proxy) and htpasswd for auth:

(define-module (test caldav)
  #:use-module (gnu services mail)
  #:use-module (gnu services web)
  #:use-module (gnu services)
  #:export (caldav-services))

(define caldav-services
  (list
   (service radicale-service-type
            (radicale-configuration
             (web-interface? #f)
             (auth (radicale-auth-configuration
                    (type 'htpasswd)
                    (htpasswd-encryption 'bcrypt)
                    ;; File is created manually using htpasswd
                    ;; Like: guix shell httpd -- htpasswd -B -c radicale-users 
testuser
                    (htpasswd-filename "/etc/radicale/users")))))
   (simple-service 'radicale-nginx nginx-service-type
                   (list (nginx-server-configuration
                          (listen '("443 ssl"))
                          (server-name '("dav.test.com"))
                          (ssl-certificate
                           "/etc/letsencrypt/live/test.com/fullchain.pem")
                          (ssl-certificate-key
                           "/etc/letsencrypt/live/test.com/privkey.pem")
                          (locations
                           (list (nginx-location-configuration
                                  (uri "/")
                                  (body
                                   (list
                                    "proxy_pass http://127.0.0.1:5232/;";
                                    "proxy_pass_header Authorization;"
                                    "proxy_set_header Host $host;"
                                    "proxy_set_header X-Forwarded-For 
$proxy_add_x_forwarded_for;"
                                    "proxy_set_header X-Forwarded-Proto 
$scheme;"
                                    "proxy_set_header X-Script-Name 
\"\";"))))))))))

Reply via email to