Self-host this!

Premessa:
Era da un po che volevo fare questo thread.
Questa è una lista di alcune applicazioni che girano attualmente tutte insieme appassionatamente sul mio Raspberry Pi 4 4gb con RaspbianOS (Debian 11 Bullseye). Un pochino arranca, ma cerco di tenere il carico della cpu sempre sotto una certa soglia (2) e la RAM sotto controllo. Alcune invece sono testate ma non utilizzate ma al contempo utili allo scopo di questo thread.
E’ in programma un upgrade a un NUC (forse più che un NUC un MINISFORUM, mica sono così ricco :asd: ) che tecnicamente dovrebbe alleggerire tutto il lavoro. Per paradosso credo basterebbe un Intel Celeron serie N per fare tutte ste cose.
Quasi tutte le seguenti applicazioni girano su docker, sono facili da gestire e da aggiornare.

INTERNET OF THINGS
Home Assistant:
Website: https://www.home-assistant.io/
Github: Home Assistant · GitHub

Credo che non abbia quasi più bisogno di presentazioni (Ne discutiamo anche su Agorà QUI) ma se non lo conoscete, è un servizio Open Source che vi permette di gestire tutte quelle periferiche IoT senza passare dal cloud e poterle gestire in autonomia. Quando ho iniziato ad usarlo (nel 2018) configurarlo era un pò un troiaio ma ultimamente le cose sono parecchio migliorate. Gestire luci di casa, controllare la temperatura degli ambienti, creare automazioni tutto direttamente in una sola app nel telefono (Home Assistant companion, disponibile sia per Android sia per iOS) è parecchio comodo. Permette anche la gestione delle persone che sono in casa, fuori casa o in un determinato luogo e conseguentemente di triggerare automazioni (esempio scemo, se io sono fuori casa quando il sole è tramontato e la luce d’ingresso è spenta, al mio rientro si accende automaticamente).
Supporta una miriade di protocolli quali Zigbee e Z-wave ed è pronto per supportare Matter.
All’inizio ci si trova un po spaesati ma una volta capito il funzionamento è molto semplice.
Esistono 4 versioni diverse a seconda delle proprie esigenze da poter installare, di cui una consente di dedicare la macchina esclusivamente a questo scopo, il che rende tutto più semplice l’installazione. Assolutamente consigliato per i nerdoni.

DNS ADS FILTER
Pi-Hole:
website: https://pi-hole.net/
github: GitHub - pi-hole/pi-hole: A black hole for Internet advertisements

Anche questo credo non abbia bisogno di presentazioni. Filtra gli ads di tutti i client connessi alla sua LAN/WLAN. Facile da configurare, non necessita di particolari configurazioni. Si può installare sia su docker sia direttamente nel OS e fa paura da quanto funziona bene. Non mancano funzioni extra per i più esigenti (come whitelist/blacklist, server DHCP, possibilità di filtrare solo determinati client etc.)
Assolutamente da avere se volete una soluzione unica anzichè installare 1000 addon nei browser (che tra l’altro presto potrebbero non funzionare più su alcuni browser)

ALTERNATIVE: GitHub - AdguardTeam/AdGuardHome: Network-wide ads & trackers blocking DNS server

MEDIA

COLLECTION MANAGERS

Servarr
Website: https://wiki.servarr.com/
Github:
Sonarr (Serie TV): GitHub - Sonarr/Sonarr: Smart PVR for newsgroup and bittorrent users.
Radarr (Film): GitHub - Radarr/Radarr: Movie organizer/manager for usenet and torrent users.
Lidarr (Musica): GitHub - Lidarr/Lidarr: Looks and smells like Sonarr but made for music.
Whisparr (XXX): GitHub - Whisparr/Whisparr
Readarr (Libri): GitHub - Readarr/Readarr: Book Manager and Automation (Sonarr for Ebooks)

Gestire i vostri film, le serie tv, gli ebook, la musica o, perchè no, la vostra collezione di pornazzi 4k (:asd:) non è mai stato così semplice!
Ordina, cataloga, rinomina, cerca, scarica da Torrent o da Usenet[*] tutti i tuoi media con 3 click in croce.

INDEX MANAGEMENT
Prowlarr:
website: Prowlarr | Servarr Wiki
github: GitHub - Prowlarr/Prowlarr

Ha il compito, lavorando insieme alle app sopra, di cercare file da Torrent e/o usernet su portali precedentemente selezionati. [*]

REQUEST MANAGEMENT & MEDIA DISCOVERY
Overseerr:
website: https://overseerr.dev/
github: GitHub - sct/overseerr: Request management and media discovery tool for the Plex ecosystem

Permette di visualizzare le trame di film e serie tv, il loro cast, i voti su IMDB e Rotten Tomatoes e, se correttamente configurato con **arr, permette il download diretto della film o della serie alla qualità desiderata con un singolo click [*]

MUSIC STREAMING SERVICE
Navidrome: https://www.navidrome.org/
github: GitHub - navidrome/navidrome: 🎧☁️ Modern Music Server and Streamer compatible with Subsonic/Airsonic

Perchè occupare spazio nel tuo cellulare quando puoi streammare direttamente la musica da casa tua ovunque tu ti trovi? Oppure non hai più voglia di pagare Spotify merda (Attila docet)?
Una volta caricata la tua libreria, potrai fare streaming da quasliasi device utilizzando le applicazioni che supportano Subsonic/Madsonic/Airsonic (QUI una breve lista). Supporta il transcoding dei file e la multiutenza.

VIDEO STREAMING SERVICE
Jellyfin:
website: https://jellyfin.org/
github: GitHub - jellyfin/jellyfin: The Free Software Media System

Fa tutto quello che fa Plex senza opzioni a pagamento nascoste. Attualmente non lo uso perchè uso Plex Server direttamente su Nvidia Shield, ma è ottimo ed Open Source e appena mi compro il miniPC sicuramente switcho a questo :asd:

PLEX STATISTIC MANAGEMENT
Tautulli:
website: https://tautulli.com/
github: GitHub - Tautulli/Tautulli: A Python based monitoring and tracking tool for Plex Media Server.

Se proprio non potete fare a meno di Plex e lo avete configurato per offrire streaming ai vostri amici, questo tool vi permette di visualizzare chi è connesso al vostro Plex Server e vi da una serie di statistiche nerdose.

FOTO
Immich:
website: https://immich.app/
github: GitHub - immich-app/immich: Self-hosted photo and video backup solution directly from your mobile phone.

Il fratello piccolo da non sottovalutare di Google Photo, che si fa i cazzi suoi e fa egregiamente il suo lavoro. Anche se il progetto è piuttosto giovane mi ha dato grosse soddisfazioni.
L’interfaccia è quasi identica a Google Photo, ha la sua app che carica automagicamente le foto che scatti, e addirittura sfrutta l’intelligenza artificiale per catalogare il contenuto delle foto (questa opzione io l’ho disabilitata sennò il Raspi mi saluta :asd: ). Ed è pure multiutente! Assolutamente da avere.

GAMING STREAMING SERVICE
Sunshine (Server):
website: N/A
github: GitHub - LizardByte/Sunshine: Self-hosted game stream host for Moonlight.
Moonlight (Client):
website: https://moonlight-stream.org/
github: Moonlight Game Streaming Project · GitHub

C’era una volta Nvidia Game Stream che ti permetteva di sfruttare la tua scheda grafica Nvidia per poter giocare in streaming sulla tv con l’Nvidia Shield. Poi Nvidia ha capito che non si fanno i soldi se ti self-hosti la roba da streammare, ma che è meglio far abbonare gli utenti al loro cloud mensilmente, miseramente interrompendo quasi senza preavviso il servizio Nvidia Game Stream
Prima di questa interruzione, Moonlight ti permetteva di poter sfruttare questa feature su qualsiasi dispositivo (pure su Nintendo Switch :asd:) e ti permette di farlo anche da remoto.
Sunshine è la resurrezione di Nvidia Game Stream. Si installa come servizio su Windows (o su debian, o su arch, o su MacOS), si configura accedendo alla sua webui e si da accesso al client tramite un pin. Inoltre funziona anche su schede video AMD.
Il sottoscritto lo usa quando fa le notti in albergo e i risultati sono notevoli.

CONTAINER MANAGEMENT UI
Yacht:
website: N/A
github: GitHub - SelfhostedPro/Yacht: A web interface for managing docker containers with an emphasis on templating to provide 1 click deployments. Think of it like a decentralized app store for servers that anyone can make packages for.

Come Watchtower ma antipigro :asd:
Permette di gestire le immagini e i container docker e permette anche l’update con un singolo click. Questa versione è un pò datata (il mantainer lo sta ricreando in Typescript) ma fa il suo dovere per chi ha poca voglia di pigiare tastini, editare YAML chilometrici o usa docker run per fare deploy.

[*] Attenzione: scaricare files protetti da copyright è illegale. Se non volete passare guai, semplicemente non fatelo.

9 Likes

Preferisco sempre u a lista in cui il curatore mi spiega il perché delle sue scelte, ma frequentemente ho usato questo

Come riferimento generale

2 Likes

Grandissimo topic @Icchan

Ora ce ne vorrebbe uno altrettanto curato su come metter su un serverino (dove/cosa comprare) come interfacciarsi, etc etc :look:

Leggevo tempo fa che ci sono problemi a trovare raspberry ma non so se e’ cambiata la situazione

Threat utilissimo e calza a pennello perché mi è arrivato proprio l’altro giorno il mini-pc che utilizzerò come home-server; l’ho preso proprio perché i Raspberry sono introvabili e hanno prezzi folli, questo mi è costato 200€ ed ha un nuovissimo Intel N100 (tdp 6w), 16GB DDR4 e un SSD da 512

Per ora sto cercando di far funzionare Jellyfin/Radarr/Sonarr/Transmission, che più o meno vanno,
ma ho problemi con i drivers della iGPU (perché vorrei fare qualche prova di transcoding).

Se avete suggerimenti al riguardo sono ben accetti :asd: come OS ho messo Debian perché volevo qualcosa di estremamente stabile, che rimarrà acceso 24/7/365.

Poi con calma, ci installerò sicuramente anche qualcosa per hostare alcuni siti internet, e quindi i vari Redis/NodeRED/etc.

C’e’ qualcosa per gestire il tempo disponibile online di vari client (tablet/pc del figlio piccolo)?

Sto usando le varie soluzioni offerte da google/microsoft e mentre la roba di google funziona, quella di microsoft scazza il planning ogni 2-3 giorni e mi fa perdere tempo a resettare tutto ogni cazzo di volta.

Ho da poco acquistato il raspy4 a 4gb, preso da Melopero 1 mese e mezzo fa, la prossima settimana me lo spediscono (75 euro con la spedizione); penso sia un buon compromesso.

3D pregiatissimo e apprezzatissimo, visto che sarò in procinto di fare proprio questo.

capita a fagiolo, giusto in questi giorni stavo pensando a cosa poter installare sul mio raspberry3 che ho al momento con pi-hole… ora me lo spulcio per benino :approved:

Ho appena preso anche io un minipc, credo proprio lo stesso Bee-link di @Nico.
Al momento ci ho lasciato sopra Windows 11 (non sono espertissimo di Linux, faccio sempre casini :asd:), e ho installato Plex e Docker Desktop, all’interno del quale sto facendo girare Transmission (client torrent) e Medusa (gestore di serie TV).
Ci ho messo anche RetroArch per gli emulatori (è connesso alla tv, l’idea è di usarlo un po’ anche come retro console).
Ci attaccherò poi un po’ di dischi esterni grossi per ospitare la libreria di Plex e fare da NAS per la rete di casa.

Altre cose che mi piacerebbe fare: installare un server VPN.

Mi interessa anche PiHole, ma quello credo lo metterò su un Raspberry Pi3 che prima di prendere questo minipc mi faceva da mediacenter con Kodi.

1 Like

prossima settimana mi arriva l’ssd per il mio Raspberry Pi 4 4gb.
leverò RaspbianOS e ci installerò sopra openSUSE MicroOS [1], quindi root filesystem btrfs in readonly e transactional updates.
ci farò girare alcuni container con podman tra cui:
transmission
nextcloud che vorrei smettere di pagare i GiB aggiuntivi di Apple
jellyfin
pihole

[1] openSUSE MicroOS - Get openSUSE

1 Like

Cuccù!

Grazie per i feedback e per le lodi :lode:

La fonte di @char è indubbiamente un ottimo spunto, anche se magari sarà un pò difficile districarsi ma se avete voglia e tempo assolutamente è LABBIBBIA di tutte queste cose.

Per quanto riguarda la questione Hardware, al momento comprarsi un Raspberry Pi 4 è improponibile perchè costano un rene e non reggono il confronto con un qualsiasi mini pc con sopra un Celeron di recente manifattura.
Onestamente se avete un budget medio andrei sicuramente su un Intel NUC series anche usato. Spesso si trovano ottimi affari.
Io ho puntato un minisforum che è uberdimensionato (questo) ma se ci voglio far girare Frigate (DVR per telecamere di sicurezza con la figata che riconosce le cose che vede) con Home Assistant mi serve un pò di potenza di calcolo. Se ci attacchi un Google Coral USB poi va una spada :asd:

L’unico dubbio che ho da ignorante in tutta onestà è che non son sicuro che sia utile comprare un mini pc che abbia più core/thread. Presumo che tutte le applicazioni che girano su docker siano single thread, quindi il vantaggio sarebbe meno carico con più applicazioni. è corretto questo ragiornamento?

Io come client torrent uso Deluge che gira da favola sul Rpi e si integra divinamente con i vari tools per scaricare da torrent. Ho usato anche aria2c e anche quello è ottimo perchè oltre al protocollo torrent ti gestisce anche gli altri download (un po come jdownloader per intenderci)

Server VPN OpenVPN basta e avanza ed è davvero da antipigro.

Chicca per gli intenditori: Homepage che ti permette di monitorare lo stato dei container e ti fornisce un link diretto ai servizi. Si configura con dei file yaml ed attualmente lo uso come homepage (ma và? :asd:) quando apro il browser.

1 Like

Core e Thread sono spesso confusi, specie quando poi vai nell’ambito di docker e virtualizzazione delle risorse (vCore, etc)

Questa pagina spiega in maniera abbastanza semplice la differenza:

One of the most commonly used analogies is to think of the core as a person’s mouth and the threads as the hands. The mouth does all the eating, while the hands help organize the ‘workload’. Think of threads as a management system for feeding tasks to the core.

Partendo da quello, di base non sei per forza limitato a un solo core o un solo thread per docker. Infatti puoi specificare anche quanti core vuoi che un docker container abbia dedicati. E’ da design che si tende ad assegnare pero’ un singolo process per container. Se quel process pero’ richiede 2-3-4 etc thread non e’ strettamente limitato solo perche’ “Docker”.

In generale i processi tendono ad essere single thread ma dipende dal processo insomma, non da docker di per se’. Un processo e’ solitamente un applicativo (un webserver per esempio) o uno script (anche se in quel caso sarebbe comunque qualcosa che lancia lo script, cronjob → language → script o API → language → script).

Il motivo per cui si cerca di attenersi a “one process - one container” e’ per limitare la complessita’ in caso qualcosa non funzioni in un container e facilitare la scalabilita’.

Metti che hai bisogno di raddoppiare la velocita’ con cui un processo lavora? Ne crei due identici e ci piazzi un load balancer davanti che smista le richieste.

3 Likes

Ok, dopo un po’ di prove e tentativi ho già un problema con Docker :asd:

Sto usando Docker Desktop su Windows 11, e ho creato un container con trasmission.
Nella configurazione, gli ho detto di mappare /downloads su c:\downloads, e funziona tutto: i file scaricati da transmission nel container me li ritrovo nella directory giusta.

Ora però vorrei che i file venissero salvati non su C:, ma su un disco esterno usb a cui Windows ha dato la lettera E:

Poco male penso, distruggo il container e lo ricreo mappando /downloads su E:\downloads.
E invece no :asd:
I file scricati non compaiono in E:\downloads, ma la cosa strana è che se da un terminale dentro al container vado a vedere cosa c’è in /downloads, li trovo.
Dove diavolo sono finiti 'sti file? Come posso mappare directory nei container su dischi esterni?

Help :asdsad:

Hai provato ad avviare docker dopo che hai collegato il disco esterno?

Ok, ho risolto: era una stupidaggine, avevo configurato e:\downloadsche era una directory che già esisteva sul disco.
Ho messo un altro path, e:\torrent, che non esisteva, sempre montato su /downloads e transission l’ha creato e ci ha scritto correttamente i dati dentro.

Grazie :crazy:

1 Like

Credo di aver trovato tipo la BIBBIA

3 Likes

Alla lista cloud hosting andrebbe aggiunto quello su cui stiamo anche sul forum.

servizio barebone (vm con OS installato, SLA “best we can” - in pratica 99%) a prezzi che linode si sogna.

1 Like

ma che figata.

Prezzi veramente competitivi.
Soprattutto la cosa molto positiva è che ci sono server in Europa e quindi sotto stretta sorveglianza delle normative europee.

1 Like

Fantastico grazie, ho già installato un paio di servizi presi dalla lista!

Un consiglio: qual è secondo voi il miglior modo per avere una sorta di Dropbox casalingo? Vorrei un sistema che mi permetta di accedere via web/app ad alcuni miei file dall’esterno della rete domestica.

nextcloud self hosted + cloudflare tunnel

1 Like