Com crear un servidor casolà utilitzant Docker Desktop

Darrera actualització: 07/01/2026
Autor: Isaac
  • Un servidor casolà amb Docker permet centralitzar serveis com núvol, multimèdia, DNS i proxys inversos en un únic equip reutilitzant maquinari antic o un NAS.
  • Docker, Portainer i xarxes bridge simplifiquen la instal·lació, administració i comunicació entre contenidors com MariaDB, Nextcloud, DuckDNS o Pi-hole.
  • Nginx amb Let's Encrypt en contenidor facilita exposar serveis mitjançant HTTPS amb certificats automàtics usant dominis dinàmics tipus DuckDNS.
  • Combinant contenidors de seguretat i accés remot (gestors de contrasenyes, WireGuard, ZeroTier) s'aconsegueix un entorn domèstic potent i raonablement segur.

Servidor casolà amb Docker

Muntar un servidor casolà amb Docker Desktop és una de les formes més còmodes de centralitzar serveis com a web, bases de dades, VPN, núvol personal o fins i tot servidors de jocs sense tornar-te boig amb instal·lacions tradicionals. Gràcies als contenidors ho pots tenir tot ordenat, fàcil d'actualitzar i amb un grau d'aïllament que redueix força els ensurts quan alguna cosa es trenca.

Si tens un PC antic, un miniordinador o un NAS tipus Synology, pots convertir-lo en el centre neuràlgic de la teva xarxa domèstica: servidor de fitxers, multimèdia, núvol privat, DNS filtrant, gestor de contrasenyes i laboratori pels teus projectes. I el millor és que amb Docker i, si vols, Portainer, pots administrar-ho de forma força intuïtiva encara que no siguis un guru de Linux.

Triar màquina i sistema operatiu per al teu servidor casolà

La base de tot servidor casolà és la màquina física sobre la qual muntaràs Docker. Pots reutilitzar un PC que tinguis per casa, apostar per un NAS tipus Synology o muntar un servidor cloud remot, segons el que t'interessi més en soroll, consum, preu i potència.

Un ordinador antic sol ser l'opció més barata: aprofites una torre que ja no uses, compres un o dos discos durs grans (per exemple, 2 TB, 4 TB o 12 TB) i els muntes en RAID si vols tolerància a fallades. Adaptadors de badia i discos tipus Western Digital Red o similars et donen un bon equilibri entre capacitat i fiabilitat per a ús 24/7.

Els NAS com Synology aporten simplicitat i silenci. Per exemple, un model tipus DS420+ ve amb la seva pròpia distribució basada en Linux, interfície web molt polida i aplicacions oficials (inclòs suport per a Docker en molts models). El maquinari sol ser modest (2 GB de RAM i CPU de dos nuclis poden ser habituals), però per a serveis domèstics va més que sobrat.

A nivell de sistema operatiu, gairebé qualsevol cosa val: Pots fer servir Windows, macOS o Linux. Un servidor casolà bàsic pot funcionar perfectament amb el Windows que portava el PC, però si vols esprémer recursos i tenir un sistema pensat per a servidors, Debian, Ubuntu Server, TrueNAS o la distro d'un NAS solen ser millors candidats.

Pel que fa a requisits de maquinari, Docker no és especialment exigent per a un ús domèstic típic (Nextcloud, bases de dades petites, Plex, Pi-hole, etc.). Amb 2 GB de RAM i una CPU de dos nuclis pots moure força contenidors sempre que no facis coses molt pesades com transcodificació massiva de vídeo o servidors de jocs per a centenars de persones.

Docker Desktop al servidor casolà

Instal·lar Docker (i Docker Desktop) al teu servidor

El primer pas real és tenir el sistema operatiu actualitzat i amb un usuari amb privilegis d'administrador (suo a Linux). En un entorn tipus Debian 10 Server, després de la instal·lació bàsica del sistema convé actualitzar paquets, ajustar la xarxa i deixar creat un compte no root amb permisos dadministració.

A Debian i derivades, Docker s'instal·la des del repositori oficial. El procés típic passa per instal·lar paquets de suport (com ca-certificates, curl, gnupg), descarregar i afegir la clau GPG del repositori de Docker, registrar el repositori corresponent a la teva distribució i, finalment, instal·lar els paquets docker-ce, docker-ce-cli i containerd.io, entre d'altres.

Un cop instal·lats els paquets, toca validar que Docker funciona. El més habitual és llançar el contenidor de prova hello-world, que descarrega una imatge mínima des de Docker Hub i mostra un missatge per consola si tot està correctament configurat. De pas pots consultar la versió amb l'ordre adequada per assegurar-te que en tens una versió recent.

Per facilitar l'ús diari de Docker sense estar tirant de sudo tota l'estona, és bona idea afegir el teu usuari al grup docker. Així podràs executar ordres docker com a usuari normal. Després de fer aquest canvi, cal tancar sessió o reiniciar perquè s'apliquin els permisos i comprovar que el servei docker arrenca correctament a l'inici del sistema.

Si treballeu des d'un equip d'escriptori amb Windows o macOS, Docker Desktop és la forma més senzilla de disposar de Docker localment amb interfície gràfica bàsica, integració amb Kubernetes opcional i suport natiu per a docker-compose. Des d'aquest equip pots desenvolupar, tastar contenidors i, si vols, desplegar en un servidor remot per SSH.

Portainer: administració gràfica de contenidors Docker

Encara que la línia d'ordres de Docker és potent, et pot imposar respecte si estàs començant. Per suavitzar la corba daprenentatge, una eina molt interessant és Portainer, una interfície web que sexecuta en un contenidor i et permet gestionar imatges, contenidors, xarxes i volums sense recórrer sempre a la consola.

  Què és Un Arxiu THUMBDATA3-1763508120? Característiques

El procés típic per engegar Portainer en un servidor Linux passa per crear primer un volum per persistir la seva configuració, per exemple amb una ordre per generar portainer_data. Aquest volum s'usarà per desar dades de la interfície, usuaris, connexions, etc., de manera que no es perdin en actualitzar el contenidor.

Després es llança el contenidor Portainer mapejant els ports necessaris, per norma general el 9000 per a la interfície web i, si ho necessites, el 8000 per a certes funcions addicionals. A més, és obligatori muntar el socket de Docker (/var/run/docker.sock) dins del contenidor perquè Portainer pugui parlar amb el motor Docker del host i gestionar els recursos.

Un cop aixecat el contenidor, accedeixes a Portainer des del navegador apuntant a la IP del teu servidor i el port 9000. Al primer accés et demanarà crear un usuari administrador amb la contrasenya i configurar la connexió inicial, que en el cas habitual serà la connexió local al Docker Engine del propi servidor.

Des de la interfície de Portainer pots veure d'una ullada tots els contenidors, revisar el seu estat, logs, reiniciar-los, crear stacks usant fitxers docker-compose, gestionar imatges, xarxes, volums i, en general, tenir una vista molt més còmoda de tot el que passa al teu servidor Docker, fins i tot si es tracta de diversos hosts remots.

Crear una xarxa pont i serveis compartits a Docker

Quan comences a muntar diversos serveis en contenidors (web, base de dades, núvol, intermediari invers, DNS, etc.) el més net és definir una xarxa Docker específica perquè tots es vegin entre si per nom, sense haver d'anar a tir d'IPs internes que poden canviar.

En crear una xarxa tipus bridge personalitzada, Docker aixeca de forma automàtica un petit servei DNS intern. Tots els contenidors que connectis a aquesta xarxa podran resoldre's pel seu nom de contenidor, la qual cosa ve genial per a configuracions com Nginx proxy invers, Nextcloud parlant amb MariaDB o aplicacions que depenen d'altres serveis.

Convé tenir en compte que els noms de contenidor han d'anar en minúscules quan es fan servir en configuracions com les de Nginx, ja que aquest servidor web converteix els noms de host a minúscules en resoldre DNS. Si barreges majúscules i minúscules podries tenir maldecaps innecessaris.

En molts casos, a més de la xarxa Docker, voldràs un servei DNS extern o de xarxa domèstica que et permeti accedir als teus dominis o subdominis públics des de fora de la xarxa NAT. Aquí entren en joc serveis com DuckDNS o els DNS del propi enrutador, que pots combinar amb contenidors per actualitzar IPs dinàmiques.

En resum, la idea és que tots els contenidors d'infraestructura comparteixin una mateixa xarxa interna (per exemple, «proxy_net» o similar), mentre que només uns pocs exposen ports cap a l'exterior (normalment el proxy invers), simplificant així la configuració de tallafocs i reenviament de ports al router.

DuckDNS: domini dinàmic gratuït com a contenidor

Si el vostre proveïdor d'Internet us assigna una IP dinàmica i vols accedir al teu servidor casolà des de fora, necessites algun tipus de DNS dinàmic que actualitzi la teva IP en un domini o subdomini. DuckDNS és una de les opcions gratuïtes més conegudes i funciona molt bé amb Docker.

Amb la imatge linuxserver/duckdns pots muntar un contenidor que s'encarrega d'anar actualitzant de tant en tant la IP associada al vostre subdomini DuckDNS. D'aquesta manera, encara que el router canviï d'IP pública, continuareu entrant sempre a través de la mateixa URL.

Si no heu descarregat la imatge de DuckDNS prèviament, Docker ho farà per tu la primera vegada que llancis el contenidor. A partir d'aquest moment, només haureu de definir correctament les variables d'entorn (token de DuckDNS, subdominis, etc.) i connectar-lo a la xarxa Docker que utilitzeu per als serveis exposats.

Una pràctica habitual amb imatges de linuxserver.io és indicar a cada contenidor la UID i GID de l'usuari del servidor que serà propietari dels directoris mapejats. D'aquesta manera, tots els fitxers de configuració, logs i dades generats tindran els permisos adequats al sistema amfitrió.

Per no embolicar-te amb permisos, sol ser bona idea crear un usuari específic al servidor que serà amo de totes les carpetes on es guardaran dades de contenidors (per exemple /home/user/appdata/…). Després, reuses aquesta UID/GID als contenidors de linuxserver perquè tot quedi alineat.

Base de dades MariaDB/MySQL i Nextcloud en contenidors

Molts dels serveis que voldràs al teu servidor casolà necessiten una base de dades darrere. Un exemple clàssic és Nextcloud, el teu núvol personal, que requereix un motor tipus MariaDB/MySQL per funcionar de manera fiable i amb bon rendiment.

Amb la imatge linuxserver/mariadb pots aixecar un SGBD lleuger, configurant des del propi contenidor l'usuari, la contrasenya i la base de dades que utilitzarà Nextcloud. Tot això es fa amb variables d'entorn que es poden definir a la línia d'ordres de docker run o al vostre fitxer docker-compose.

  Com eliminar l'avís d'Adobe Genuine Software Integrity a Mac i Windows

Un cop creat el contenidor de MariaDB, pots iniciar-lo i accedir-hi amb el client de MySQL des d'un altre contenidor o des del host, segons com el tinguis organitzat. Des d'aquí podreu crear bases de dades addicionals, ajustar permisos o fer manteniment de forma habitual.

El següent pas sol ser desplegar el contenidor de Nextcloud, usant la imatge linuxserver/nextcloud o l'oficial. Aquest contenidor es connectarà a MariaDB a través de la xarxa Docker interna, usant com a host de la base de dades el nom del contenidor (per exemple, mariadb) en lloc d'una IP.

Una estratègia habitual és no acabar la configuració de Nextcloud a local amb el seu port HTTP directe, sinó esperar a tenir llest el proxy invers amb HTTPS i certificats de Let's Encrypt. Així, la primera vegada que entris a la URL pública ja estaràs treballant amb la instal·lació definitiva i darrere del proxy seguritzat.

Proxy invers amb Nginx i Let's Encrypt a Docker

Per exposar diversos serveis des del teu servidor casolà a Internet sense caminar obrint ports aleatoris, el més còmode és col·locar un proxy invers amb Nginx davant de tot, que rebi el trànsit HTTPS al port 443 i el reparteixi als diferents contenidors interns segons el domini o subdomini sol·licitat.

La imatge linuxserver/letsencrypt integra Nginx i la gestió de certificats de Let's Encrypt, de manera que el mateix contenidor s'encarrega de sol·licitar, crear i renovar automàticament els certificats SSL. Normalment es valida la propietat dels subdominis bé per HTTP (port 80) o bé mitjançant DNS, per a això DuckDNS és un bon company.

La primera vegada que arrenques el contenidor de Nginx + Let's Encrypt, aquest realitza el procés de validació i generació de certificats. Fins que això no es completa amb èxit, Nginx no es posa del tot operatiu. Els certificats tindran una validesa de 90 dies i el contenidor revisarà de forma automàtica si necessiteu renovar-los, intentant-ho amb antelació suficient.

Si la renovació automàtica falla i quedessin menys de 30 dies perquè caduquin els certificats, hauràs de revisar els registres a la ruta de logs corresponent (típicament /config/log/letsencrypt) per detectar què està fallant: problemes de DNS, ports tancats, canvis en el domini, etc.

Pel que fa a ports, el més normal és mapejar el 443 del contenidor per a accés HTTPS i redirigir des del router el port 443 de la WAN al port que facis servir al servidor (per exemple 444) i d'aquí al 443 del contenidor. El port 80 només és estrictament necessari per a validacions HTTP; si vàlides per DNS podries prescindir-ne llevat que vulguis redireccions automàtiques d'HTTP a HTTPS.

Allotjament web estàtic i configuració de Nginx

Quan el teu contenidor de Nginx amb Let's Encrypt funciona bé, pots aprofitar-ho per allotjar pàgines web estàtiques sense necessitat de muntar res més. Només cal col·locar els fitxers HTML, CSS i JavaScript a la carpeta del host que tinguis mapejada cap a la ruta web dins del contenidor.

En configuracions típiques de linuxserver/letsencrypt, tots els fitxers de configuració i contingut viuen sota la ruta /config dins del contenidor, que sols mapejar alguna cosa com /home/user/appdata/letsencrypt al servidor. Els documents web es col·loquen a /config/www (per exemple, un fitxer page1.html que serà accessible via HTTPS).

La configuració principal del lloc per defecte a Nginx sol ser a /config/nginx/default. No convé esborrar aquest fitxer perquè es regenerarà en reiniciar el contenidor, però sí que el pots editar per ajustar ports, rutes, redireccions i comportament general.

Per defecte, la configuració sol escoltar al port 443 i tenir com a arrel de documents /config/www. Si voleu habilitar també l'escolta al port 80 i que tot el que arribi per HTTP es redirigeixi a HTTPS, haureu de descomentar les directives adequades a la part superior de la configuració per defecte.

Després de qualsevol canvi en fitxers de configuració de Nginx, n'hi ha prou amb reiniciar el contenidor perquè la nova configuració s'apliqui. No cal tocar el host ni reiniciar serveis fora del contenidor, cosa que fa molt àgil anar ajustant detalls del teu servidor web casolà.

Col·locar Nextcloud com a subdomini darrere del proxy

Un dels avantatges d'usar Nginx com a proxy invers a Docker és poder disposar de diversos serveis accessibles a través de subdominis nets, com ara nextcloud.tudominio.duckdns.org, sense barrejar-los amb ports rars o rutes confuses.

A l'estructura típica de la imatge linuxserver/letsencrypt, trobaràs plantilles de configuració per a diferents aplicacions a /config/nginx/proxy-confs. Per a Nextcloud sol existir un fitxer d'exemple anomenat alguna cosa com a nextcloud.subdomain.conf.sample.

Per activar el servidor intermediari per a la teva instància de Nextcloud, reanomena aquest fitxer d'exemple a nextcloud.subdomain.conf, ajusta el que necessitis (rutes, nom real del contenidor de Nextcloud si no coincideix, etc.) i reinicia el contenidor de letsencrypt perquè Nginx carregui la nova configuració.

  Com Personalitzar WatchFace El meu Band 4 – Guia 2021

A partir d'aquell moment, si accedeixes per primera vegada a la URL tipus https://nextcloud.tusubdominio.duckdns.org, hauríeu de veure la pantalla d'instal·lació de Nextcloud passant ja pel proxy invers i amb certificats SSL vàlids emesos per Let's Encrypt.

Al formulari de configuració inicial de Nextcloud, creareu l'usuari administrador amb la vostra contrasenya i omplireu les dades de connexió a la base de dades MariaDB: nom de la base (per exemple nextcloud_db), usuari (com MYSQL_USER=nextcloud), contrasenya escollida i «mariadb» com a adreça de host si aquest és el nom del contenidor de base de dades a la xarxa Docker.

Des d'aquell moment, qualsevol usuari que es connecti al teu Nextcloud ho farà a través del contenidor de letsencrypt per HTTPS al port 443, i aquest reenviarà el trànsit al contenidor de Nextcloud per la xarxa interna, on no cal xifrar de nou ja que tot queda dins de la teva infraestructura local.

Servidor de fitxers, multimèdia i contrasenyes amb Docker Desktop

Més enllà de la part purament tècnica de xarxes i proxys, un servidor casolà brilla quan comences a fer-lo servir per a coses del dia a dia: emmagatzemar arxius, gestionar la teva biblioteca multimèdia, guardar contrasenyes o bloquejar trackers i publicitat a nivell de xarxa.

Com a servidor de fitxers pots muntar carpetes compartides al teu PC, portàtil o mòbil i utilitzar-les com si fossin discos de xarxa. Solucions com Nextcloud o FileBrowser desplegades en contenidors actuen com el teu propi núvol privat, alternativa a Google Drive o Dropbox, amb possibilitat de compartir, previsualitzar i sincronitzar.

Per a fotos, alguns NAS com Synology porten aplicacions pròpies molt còmodes i ben integrades. Si treballes sobre un servidor genèric amb Docker, pots recórrer a aplicacions de galeria o aprofitar les capacitats de Nextcloud per gestionar i veure fotografies des de qualsevol dispositiu.

A l'àmbit multimèdia, contenidors com Plex, Jellyfin o Emby et permeten muntar un Netflix casolà amb la teva pròpia biblioteca de pel·lícules, sèries i música. Plex té versió nativa per a molts NAS i disposa de aplicacions per a gairebé totes les plataformes; Jellyfin i Emby també són grans opcions, especialment si vols solucions lliures o autoallotjaments sense cost de llicència.

Per automatitzar DESCÀRREGUES de contingut multimèdia, l'ecosistema d'aplicacions -arr (Prowlarr, Sonarr, Radarr, Readarr…) combinat amb un client de torrents com Transmission va com a anell al dit i es desplega de meravella a Docker. Cada servei al seu contenidor, tots compartint carpetes de descàrrega i biblioteca.

Pel que fa a seguretat d'accessos, un gestor de contrasenyes autohostat com Vaultwarden (implementació lleugera compatible amb Bitwarden) és una joia per tenir les teves credencials sota el teu control. S'integra amb extensions de navegador i apps mòbils, i evita el risc de guardar contrasenyes directament al navegador, cosa molt poc recomanable si t'entra el malware.

Pi-hole, DNS filtrant i altres usos avançats

Un altre ús molt pràctic d'un servidor casolà amb Docker és desplegar un DNS filtrant com a Pi-hole. Encara que va néixer principalment per bloquejar publicitat, és igual de útil per tallar trackers i dominis de seguiment que no aporten res i sí que recopilen dades sobre els teus hàbits de navegació.

Amb Pi-hole en un contenidor pots configurar la teva xarxa perquè tots els equips usin aquest DNS, ja sigui apuntant cada dispositiu al seu IP o configurant el router perquè distribueixi la IP de Pi-hole per DHCP. Així tota la navegació passarà per aquest filtre abans de sortir a Internet.

Llistes com les que ofereix Firebog permeten afinar el que es bloqueja: publicitat intrusiva, dominis de codi maliciós, rastrejadors, etc. És qüestió d'anar provant i veure quin equilibri encaixa amb tu, per no trencar webs per bloquejar massa ni deixar passar-ho tot per defecte.

A partir d'aquí, el límit a un servidor casolà amb Docker ho marca la teva imaginació (i el maquinari). Pots muntar servidors de jocs per als teus amics, laboratoris de desenvolupament usant NodeJS, bases de dades MongoDB, entorns MEAN complets, sistemes de càmeres de seguretat que sincronitzin enregistraments al núvol i molt més.

Si et preocupen les connexions segures des de fora, afegir contenidors de WireGuard o ZeroTier et permetrà accedir a la teva xarxa domèstica com si estiguessis dins, o bé oferir als teus amics un accés controlat als teus servidors de joc i altres serveis sense exposar-ho tot obertament a Internet.

Combinar un servidor casolà (PC antic, NAS o cloud) amb Docker o Docker Desktop et dóna una plataforma flexible, ampliable i relativament senzilla de mantenir per centralitzar serveis, experimentar amb noves tecnologies i tenir més control sobre les teves dades, aplicacions i xarxa domèstica, escalant a poc a poc des d'un simple servidor d'arxius fins a un autèntic centre d'operacions digital personal.