Recently I was having a look to reddit and found this motivating post.

Thanks to the information shared publicaly on the internet, this person was able to use their hobby knowledge for work.

Now I want to share the services that I enjoy using the most as of now.

Hope that it will bring some light to some of you and you can also get into SelfHosting!

And also big thanks to all the people who ever worked on the tools listed here (or make easier for others to use - Few years ago I didnt know any of these!)

Stepping Out From Google Photos

BACK-UP PLEASE!

SelfHosting 101 - Aug 2024

Challenges…a retrospective:

  1. Networking
  2. HD Management
  3. Making the projects work consistently!

This is how I like to start - UI For containers

Name Description License
Heimdall Heimdall, dashboard and launcher for self-hosted services. MIT
YunoHost A server operating system aiming to make self-hosting accessible to everyone. AGPL-3.0
Sandstorm An open-source platform for self-hosting web apps. Apache-2.0
Hestia Control Panel A lightweight and powerful control panel for managing web servers. GPL-3.0

Star History Chart

Now we have docker, portainer and https ready for any service.

Accesing Services with Tailscale Docker

https://tailscale.com/blog/getting-started-with-docker-and-tailscale?utm_medium=email&_hsmi=318354413&utm_content=318354411&utm_source=hs_email

The easiest, most secure way to use WireGuard and 2FA.

AI…but Local

Name Short Description License
PrivateGPT A self-hosted and privacy-focused alternative ChatGPT MIT ❀️
Whisper A general-purpose speech recognition model by OpenAI MIT ❀️
GPT4All An open-source assistant-style LLM - Works with Python Apache-2.0 βœ…
Netdata Performance and health monitoring tool for your AI Server GPL-3.0 βœ…

Media Management

P2P Sharing

Feature qBittorrent Transmission
License GPL v2 βœ… GPL v2 or v3 βœ…
Platforms Windows, macOS, Linux Windows, macOS, Linux
User Interface Qt-based GUI GTK+ GUI, web UI
Encryption Built-in encryption Requires VPN or proxy
Torrent Creation Supported Not supported
Scripting Not supported Supported

Star History Chart

Replacing The Cloud

Saying bye to cloud syncs - Your media, your Sync:

Syncthing Pros Cons
Open-source, free file synchronization tool MPL v2 ❀️ DIY (?)
Decentralized, P2P architecture No file size limits or storage restrictions 🀘 No built-in backup or version control features
Supports various platforms (Windows, macOS, Linux, Android, etc.) Cross-Arch compatibility x86, arm64, arm32… No official mobile client for iOS πŸ˜“
Customizable synchronization settings Flexibility in choosing what to sync Requires all devices to be online for syncing

Awsome Photo Galleries

But even better with some cool photo gallery…

Here’s a simpler markdown table with one row for each platform, including the license type, one main pro, and one main con:

Platform License Pro Con
PiGallery2 MIT Licensed Web Based. Lightweight and no DB required!. GPX support (and photos are showing in a Map as well) Limited features and customization options.
Piwigo GPL v2 Extensive plugin support and customization. Android App, but not iOS App
Immich aGPL v3 Advanced features like AI-driven face recognition. Android & iOS App Requires 4 containers to setup and more technical knowledge.
Photoview Open Source Modern, user-friendly interface. Basic feature set with limited functionality.

This is it for now regarding your photo’s and so on, but you might be interested to have a look…

Image Tools Description License
DupeGuru Cross-platform tool to find duplicate files BSD 3-Clause βœ…
Rembg Remove Photos Background MIT Licensed
FreeFileSync Simple File Sync Tool
UpScayl Free and Open Source AI Image Upscaler for Linux, MacOS and Windows. aGPL v3 βœ…

Time to Relax

Once completed, you will have localhost:8096 the UI for jellyfin:

jellyfin

Name Short Description License
yt-dlp A feature-rich command-line audio/video downloader Unlicense
YoutubeDownloader Downloads videos and playlists from YouTube MIT
ytdl-sub Lightweight tool to automate downloading and metadata generation with yt-dlp GPL-3.0
youtube_downloader A simple youtube / shorts video downloader app. Use it at HF Apache-2.0
Name Short Description License
Whoogle Search A self-hosted, ad-free, privacy-respecting metasearch engine MIT
SearXNG A free internet metasearch engine which aggregates results from various search services and databases AGPL-3.0
AI Search Tools Morphic, Perplexica, LLocalSearch… I need to try them!

Monitoring

Name Short Description License
Speedtest Tracker A self-hosted internet speed tracking tool with a web UI MIT ❀️
WatchYourLAN A tool to monitor devices in your local network MIT ❀️
Uptime Kuma A self-hosted monitoring tool like “Uptime Robot” MIT ❀️
MySpeed Speed test analysis software that shows your internet speed for up to 30 days MIT ❀️
statping-ng A Status Page for monitoring your websites and applications with beautiful graphs, analytics, and plugins. GPL 3.0

Productivity

Name Short Description License
Webtops A web-based desktop environment that runs in your browser MIT
Timelite A self-hosted time tracking tool with a simple and intuitive interface GPL-3.0
Leantime A self-hosted project management and collaboration tool GPL-2.0
Logseq A privacy-first knowledge base and note-taking app - Integrates with Ollama AGPL-3.0

That’s all for now - Happy SelfHosting!

Conclusion

Connecting Safely to your Services

Here’s a simplified markdown table with one row for each service, summarizing key aspects:

Service License Primary Use Pro Con
Pi-hole Open Source (GPLv3) Network-wide ad blocking Comprehensive ad and tracker blocking Requires a web server setup
Blocky Apache v2 DNS filtering and ad blocking Customizable DNS filtering May require DNS server configuration
Unbound Open Source (Unlicense / BSD-like) DNS resolving High-performance DNS resolver No built-in ad-blocking capabilities
DnsServer GPLv3

More Privacy Resources here - https://github.com/Lissy93/awesome-privacy

And a awsome post (and blog) about being add free in android with PiHole over DOT by romailler

Tools for Easy Connection

No BackUp = No Mercy

Fast, secure, efficient backup program

Save your dotfiles once, deploy them everywhere

  • Duplicati
---
version: "2.1" #https://github.com/duplicati/duplicati?tab=License-1-ov-file#readme
services:
  duplicati:
    image: lscr.io/linuxserver/duplicati #ghcr.io/linuxserver/duplicati #:arm32v7-v2.0.6.1-2.0.6.1_beta_2021-05-03-ls101
    container_name: duplicati
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Madrid
      - CLI_ARGS= #optional
    volumes:
    - /home/your_user_name/Docker/Duplicati/config:/config
    - ~/Docker:/source
    - ~/Docker/backups:/backups
    ports:
      - 8200:8200
    restart: unless-stopped

What’s next for me…

I definitely want to have a look to…

version: '3.9'
services:
    it-tools:
        image: 'corentinth/it-tools:latest'
        ports:
            - '8035:80'
        restart: unless-stopped
        container_name: it-tools

IT-Tools: Your New Open-Source Developer Toolkit With Over 80 Apps!

It helps you manage your servers, applications, and databases on your own hardware; you only need an SSH connection. You can manage VPS, Bare Metal, Raspberry PIs, and anything else.

An open-source & self-hostable Heroku / Netlify / Vercel alternative.

A project that makes easy the initial setup of a Home Server.

Thanks To

  • Youtube: DBTech,
  • Webs: noted.lol,

FAQ

OS for SelfHosting

Name Description License
CasaOS A simple, easy-to-use, and elegant open-source Home Cloud system. Apache-2.0
Raspbian OS A simple, easy-to-use, and elegant open-source Home Cloud system. Apache-2.0
Ubuntu A simple, easy-to-use, and elegant open-source Home Cloud system. Apache-2.0
HomeAssistant OS A simple, easy-to-use, and elegant open-source Home Cloud system. Apache-2.0

HD Management for SelfHosting

df -h #these are the ones mounted

lsblk -f #will list all the connected devices and their disk format

alias disksummary="df -h | grep '^/dev' | awk '{print \$1, \$4, \$2, \$5}'" #list only disks summary
disksummary #then call it as simple as this!

Are missing space? - try this to remove cache:

docker builder prune
#docker system prune -a
docker volume prune
docker image prune -a

This command lists all block devices (like hard drives and USB drives) in a tree format:

lsblk #list them again
Feature ext4 NTFS
Operating System Compatibility Linux, some Unix-like systems Windows, can be read-only on macOS and Linux
Maximum File Size 16 TiB 16 EiB (theoretical)
Maximum Volume Size 1 EiB 256 TiB
File Permissions POSIX-compliant permissions (user, group, others) Access Control Lists (ACLs)
Encryption No built-in support (requires additional tools like eCryptfs or LUKS) Built-in support (Encrypting File System - EFS)
File System Check fsck utility for checking and repairing chkdsk utility for checking and repairing
Open Source Yes No (proprietary)

How to BenchMark your Server

  1. Sysbench
  2. Phoronix
  3. Real Test! Let’s build something

The Phoronix Test Suite open-source, cross-platform automated testing/benchmarking software.

You can also build something, like the Astral Python PKG Manager…

Name Description License
Sysbench Modular, cross-platform, and multi-threaded benchmark tool for evaluating OS parameters, CPU, memory, file I/O, and database performance. GPL-2.0
Phoronix Test Suite Comprehensive testing and benchmarking platform for Linux, macOS, Windows, Solaris, and BSD operating systems. GPL-3.0
fio (Flexible I/O Tester) I/O tool for benchmark and stress/hardware verification, supporting various I/O engines and I/O priorities. GPL-2.0
Geekbench Cross-platform benchmark that measures CPU, GPU, and memory performance, with a focus on real-world scenarios. Geekbench EULA (Free for personal use)
7-Zip Benchmark Built-in benchmark feature in the 7-Zip file archiver that measures CPU performance. GNU LGPL
Stress-ng Stress test and benchmark tool for various subsystems, including CPU, memory, I/O, and more. GPL-2.0

How to Secure Your Server