summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--index.html1
-rw-r--r--pix/radicale.svg10
-rw-r--r--radicale.html70
3 files changed, 81 insertions, 0 deletions
diff --git a/index.html b/index.html
index 50c4d87..090f204 100644
--- a/index.html
+++ b/index.html
@@ -77,6 +77,7 @@ img { border: none ;}
<dt><a href="git.html"><img src="pix/git.svg"> git</a></dt><dd>Version control software on your own server</dd>
<dt><a href="cgit.html"><img src="pix/cgit.svg"> Cgit</a></dt><dd>A hyperfast web frontend for git repositories</dd>
<dt><a href="gitea.html"><img src="pix/gitea.svg"> Gitea</a></dt><dd>A fully-featured git and issue tracking site</dd>
+ <dt><a href="radicale.html"><img src="pix/radicale.svg"> Radicale</a></dt><dd>A small but powerful calDav and cardDav server</dd>
<dt><a href="irc.html"><img src="pix/irc.svg"> IRC</a></dt><dd>Installing and managing a classic internet relay chat server</dd>
<dt><a href="rss-bridge.html"> RSS Bridge</a></dt><dd>Creating RSS feeds for social media sites</dd>
<dt><a href="matrix.html"><img src="pix/element.svg" alt="Element logo"> Matrix</a></dt><dd>An easy-to-use, free and federated chat and channel server.</dd>
diff --git a/pix/radicale.svg b/pix/radicale.svg
new file mode 100644
index 0000000..546d3d1
--- /dev/null
+++ b/pix/radicale.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="200" height="300" xmlns="http://www.w3.org/2000/svg">
+ <path fill="#a40000" d="M 186,188 C 184,98 34,105 47,192 C 59,279 130,296 130,296 C 130,296 189,277 186,188 z" />
+ <path fill="#ffffff" d="M 73,238 C 119,242 140,241 177,222 C 172,270 131,288 131,288 C 131,288 88,276 74,238 z" />
+ <g fill="none" stroke="#4e9a06" stroke-width="15">
+ <path d="M 103,137 C 77,69 13,62 13,62" />
+ <path d="M 105,136 C 105,86 37,20 37,20" />
+ <path d="M 105,135 C 112,73 83,17 83,17" />
+ </g>
+</svg>
diff --git a/radicale.html b/radicale.html
new file mode 100644
index 0000000..029de7c
--- /dev/null
+++ b/radicale.html
@@ -0,0 +1,70 @@
+<!DOCTYPE html>
+<html lang=en>
+ <head>
+ <title>Setting up Radicale &ndash; LandChad.net</title>
+ <meta charset="utf-8"/>
+ <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <link rel='alternate' type='application/rss+xml' title='Land Chad RSS' href='/rss.xml'>
+ </head>
+<body>
+ <header><h1>Setting up a calDAV server - Radicale</h1></header>
+ <nav></nav>
+ <main>
+ <img class=titleimg src="pix/radicale.svg">
+ <p>Radicale is an open source calDAV server. CalDAV is a widely supported internet standard for calendars, todo-lists and contacts. Hosting your own calDAV server allows sharing calendars between mutliple devices.</p>
+ <p>More information can be found on the projects offical website: <a href="https://radicale.org/3.0.html">radicale.org</a>.</p>
+ <h2>Installing Radicale</h2>
+ <p>Firstly, we have to install radicale on our system, luckily for us radicale is packaged for the most used distros.</p>
+ <pre><code>apt install radicale apache2-utils</code></pre>
+ <p>Next we need to configure Radicale. We configure radicale to be accessible from other machines, how Radicale handles users and where the files should be stored. Open /etc/radicale/config with your favourite editor and add this configuration.</p>
+ <pre><code>[server]
+# Bind all addresses
+hosts = 0.0.0.0:5232, [::]:5232
+
+[auth]
+type = htpasswd
+htpasswd_filename = /etc/radicale/users
+htpasswd_encryption = md5
+
+[storage]
+filesystem_folder = /var/lib/radicale/collections</code></pre>
+
+ <p>As you can see under [auth] we use htpasswd to manage the users. Execute the following command to add a new user to Radicale.</p>
+ <pre><code>htpasswd -c /etc/radicale/users <strong>username</strong></code></pre>
+ <p>As Radicale stands now it is fully functional and after starting it by executing its binary, can be accessed under example.org:5232. But there are two additional things we can do to make using and managing Radicale way easier.</p>
+ <h3>Setting up a Nginx reverse proxy</h3>
+ <p>Because the URL of your Radicale server is an URL you will have to remember and enter it on any device you want to use your calendar on it is advised to set up a reverse proxy.</p>
+ <pre><code>server {
+ listen 443 ssl;
+ listen [::]:443 ssl;
+ server_name <strong>cal.example.org</strong>;
+ location / {
+ proxy_pass http://localhost:5232/; # The / is important!
+ }
+ # You can also leave these two lines out and use certbot
+ ssl_certificate /etc/ssl/nginx/<strong>cal.example.com</strong>/fullchain.pem;
+ ssl_certificate_key /etc/ssl/nginx/<strong>cal.example.com</strong>/privkey.pem;
+}</code></pre>
+ <h3>Run as a service</h3>
+ <p>Running Radicale as a service makes managing it much easier. Add this config to /etc/systemd/system/radicale.service.</p>
+ <pre><code>[Unit]
+Description=A simple CalDAV (calendar) and CardDAV (contact) server
+
+[Service]
+ExecStart=/usr/bin/env python3 -m radicale
+Restart=on-failure
+
+[Install]
+WantedBy=default.target</code></pre>
+ <p>After creating the config load, start and enable the service with the following commands.</p>
+ <pre><code>systemctl daemon-reload
+systemctl enable --now radicale</code></pre>
+ <h2>Contribution</h2>
+ <li>Author: Jocomol &ndash; <a href="https://jocomol.ch">jocomol.ch</a> -- XMR: <code class=crypto>41kLv68Nk4N3zvTRFYtHZfRRFMgXkxK2FcXDeCSa4yNwBGTBa1WQ8HtXL8cCAcoZ2iSLBCS6HQqdpRSf56ecMBgWTkn2ARt</code>
+ </li>
+ </main>
+ <footer><a href="https://landchad.net">LandChad.net</a></br>Because Everyone should be an Internet LandChad.</br><a href="index.html"><li><img src="pix/chad.gif" alt="chad"></li></a><a href="rss.xml"><li><img src="pix/rss.svg" alt="RSS"></li></a><a href="pix/btc.png"><li><img src="pix/btc.svg" alt="BTC"></li></a><a href="pix/xmr.png"><li><img src="pix/xmr.svg" alt="XMR"></li></a><a href="https://github.com/lukesmithxyz/landchad"><li><img src="pix/git.svg" alt="Github"></li></a></footer>
+</body>
+</html>