Mini selfhost tutorial

In the era of FAANG cartel of data, (Facebook, Apple, Amazon, Netflix, Google) I decided to de-Google, de-Apple my self. Less data for the cartel with tax evation of 8%.

What you need? A disroot account. Ok this is not selfhost. But you de-google de-apple your self with ease.

You insist to go alone? You will need:
For hardware: A raspi / laptop, miniPC with SSD / NVMe permanlty connected to the internet 24/7/365. Don't use microSD, it will wear out.
Internet connection. Even the slowest vDSL is fine. But you have to make sure that your ISP can offer public IPv4 or at least IPv6. Also your router must be able to open ports.

Now make an account in entrydns to point your domain name to your IPv4 or/and IPv6. You bought a domain, right? You want free domain name? Try afraid.org.

For software I suggest to use Linux or BSD. Nothing beats Open Source in the long run.

If you go selfhost the easiest solution is to install nextcloud. I never tried it.

Self-host

Certificate

Use letsencrypt.org.

e-mail

This is the most complicated part for selfhost. I use sendmail.

Calendar and Tasks

I had success with radicale-3.1.8 and iOS-12, 15 and 18. But I needed a special proxy for apache. <VirtualHost *:80> ServerAdmin web@your.domain.com DocumentRoot "/apachefolder/" ServerName your.domain.com ServerAlias www.your.domain.com Redirect permanent /caldav/ https://your.domain.com/caldav/ ErrorLog "/var/log/httpd/apache_error_log" CustomLog "/var/log/httpd/apache_log_comb" combined </VirtualHost> <VirtualHost *:443> ServerAdmin web@your.domain.com DocumentRoot "/apachefolder/" ServerName your.domain.com ServerAlias www.your.domain.com ErrorLog "/var/log/httpd/apache_SSLerror_log" CustomLog "/var/log/httpd/apache_SSLlog_comb" combined SSLEngine on SSLCertificateFile "/etc/letsencrypt/live/your.domain.com/cert.pem" SSLCertificateKeyFile "/etc/letsencrypt/live/your.domain.com/privkey.pem" SSLCertificateChainFile "/etc/letsencrypt/live/your.domain.com/chain.pem" RedirectMatch 301 ^/.well-known/caldav https://your.domain.com/caldav/ RedirectMatch 301 ^/.well-known/carddav https://your.domain.com/caldav/ Redirect permanent /.well-known/caldav /caldav/ Redirect permanent /.well-known/carddav /caldav/ <Location "/caldav/"> ProxyPass http://localhost:5232/ retry=0 ProxyPassReverse http://localhost:5232/ RequestHeader set X-Script-Name /caldav RequestHeader set X-Forwarded-Port "%{SERVER_PORT}s" RequestHeader set X-Forwarded-Proto expr=%{REQUEST_SCHEME} RequestHeader set X-Remote-User expr=%{REMOTE_USER} RequestHeader set X-Real-IP expr=%{REMOTE_ADDR} RequestHeader set X-Forwarded-Proto https </Location> </VirtualHost>

Also needed the version 4.0.1 of bcrypt. Installed with local user with pip install --upgrade --force-reinstall bcrypt==4.0.1

Create user with htpasswd on you server. In iOS settings in mail accounts, select add CalDAV. Server is your.domain.com/caldav write username and password.

Contacts

TODO

ChangeLog

Publication: 11 October of 2025.

Τυχαία εικόνα

bike-car-safe-distance.jpg

You are here with: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Your IP: 216.73.216.83

Made in Linux :)

Hits: 43

Φόρτος CPU: 0.08 | 0.05 | 0