close
Skip to content
CLI-NERDS

operator@cli-nerds:~$ cat self-hosting.md

I Replaced Google Photos With a $60 Board in My Closet

Google wanted ₹1,300/year for my photos. I rebuilt them on a self-hosted ARM board with Nextcloud, nginx, PostgreSQL, and zero open ports.

Read the guide

CLI-NERDS Team · Sep 20, 2026 · 19 min

self-host-nextcloud-google-photos-alternative.md
I Replaced Google Photos With a $60 Board in My Closet

Latest Articles

Search the archive

Database

SQLite in Production: A Practical Setup with Litestream Backups

Run SQLite in production with WAL, sensible locking, Litestream replication, and a tested restore process — without unnecessary infrastructure.

CLI-NERDS TeamNov 2, 20264 min read

Database

pgvector for Beginners: Add Semantic Search to PostgreSQL

Store embeddings in PostgreSQL with pgvector, run similarity searches, add an HNSW index, and combine semantic results with keyword search.

CLI-NERDS TeamNov 2, 20264 min read

Security

CrowdSec vs Fail2ban: Practical Brute-Force Protection for Your Server

Compare CrowdSec and Fail2ban for SSH and web protection, learn how their detection differs, and choose a setup you can monitor and recover.

CLI-NERDS TeamNov 2, 20264 min read

Security

Passkeys Explained: A Practical Move Beyond Passwords

Understand how passkeys resist phishing, what happens on your device, how recovery works, and how websites and users should adopt them safely.

CLI-NERDS TeamNov 2, 20264 min read

Networking

Caddy vs Nginx: Choosing a Reverse Proxy You Can Actually Maintain

Compare Caddy and Nginx for reverse proxies, automatic HTTPS, configuration, performance, and migrations — with practical examples for real servers.

CLI-NERDS TeamNov 2, 20264 min read

Networking

DNS over HTTPS Explained: What It Protects and What It Doesn't

Learn how DNS over HTTPS works, how it compares with DoT, what your resolver can still see, and how to enable it without bypassing your network.

CLI-NERDS TeamNov 2, 20264 min read