Accedi
Accedi

Eseguire Selenium con Chrome in Docker

Eseguire Selenium con Chrome in Docker
Hostman Team
Redattore tecnico
Piattaforma Docker
30.10.2025
Reading time: 6 min

A volte è utile lavorare con Selenium in Python all’interno di un container Docker. Questo solleva alcune domande sui vantaggi di questa configurazione, sulla compatibilità tra ChromeDriver e Chromium, e sui dettagli della loro implementazione. In questo articolo analizzeremo i punti fondamentali e forniremo soluzioni ai problemi più comuni.

Perché eseguire Selenium in Docker?

Eseguire Selenium in un container offre diversi vantaggi:

  • 🧩 Portabilità – L’ambiente può essere facilmente trasferito tra diverse macchine, evitando conflitti di versione e dipendenze specifiche del sistema operativo.

  • 🧱 Isolamento – Il container Selenium può essere aggiornato o sostituito rapidamente senza influire su altri componenti del server.

  • ⚙️ Compatibilità CI/CD – Selenium containerizzato si integra perfettamente nelle pipeline CI/CD, permettendo di creare un ambiente di test pulito ogni volta che vengono eseguite le verifiche automatiche.

Preparare un server Ubuntu per Selenium con Docker

Prima di iniziare, assicurati che Docker e Docker Compose siano installati:

docker --version && docker compose version

💡 In alcune versioni, il comando si scrive docker-compose (con trattino) invece di docker compose.

Se gli strumenti sono installati, verranno visualizzate le versioni. In caso contrario, segui la guida di installazione per aggiungerli al sistema.

Esempio: Selenium in Docker

Quando si implementa Selenium all’interno di container Docker, è importante considerare:

  • l’architettura dell’host,

  • i requisiti funzionali,

  • e le prestazioni.

Le immagini ufficiali selenium/standalone-* sono progettate per CPU AMD64 (x86_64), mentre seleniarm/standalone-* sono ottimizzate per architetture ARM (come Apple Silicon o server ARM64).

Crea un file docker-compose.yml nella directory principale del progetto:

version: "3"

services:
  app:
    build: .
    restart: always
    volumes:
      - .:/app
    depends_on:
      - selenium
    platform: linux/amd64

  selenium:
    image: selenium/standalone-chromium:latest # For AMD64
#    image: seleniarm/standalone-chromium:latest # For ARM64
    container_name: selenium-container
    restart: unless-stopped
    shm_size: 2g
    ports:
      - "4444:4444"  # Selenium WebDriver API
      - "7900:7900"  # VNC Viewer
    environment:
      - SE_NODE_MAX_SESSIONS=1
      - SE_NODE_OVERRIDE_MAX_SESSIONS=true
      - SE_NODE_SESSION_TIMEOUT=300
      - SE_NODE_GRID_URL=http://localhost:4444
      - SE_NODE_DETECT_DRIVERS=false

Scegli l’immagine corretta per la tua architettura commentando o decommentando la riga appropriata. Il servizio app eseguirà il codice Python principale.

Definiscilo in un Dockerfile come segue:

# Use a minimal Python image
FROM python:3.11-slim

# Set working directory
WORKDIR /app

# Install Python dependencies
COPY requirements.txt /app/
RUN pip install --no-cache-dir -r requirements.txt

# Copy project files
COPY . /app/

# Set environment variables (Chromium is in a separate container)
ENV SELENIUM_REMOTE_URL="http://selenium:4444/wd/hub"

# Run Python script
CMD ["python", "main.py"]

Questo Dockerfile utilizza una base Python leggera e installa automaticamente le dipendenze richieste.

Script principale (main.py)

import time  # Used to create a delay for checking browser functionality
import os

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options

# WebDriver settings
chrome_options = Options()
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-dev-shm-usage")
chrome_options.add_argument("--disable-gpu")
chrome_options.add_argument("--disable-webrtc")
chrome_options.add_argument("--hide-scrollbars")
chrome_options.add_argument("--disable-notifications")
chrome_options.add_argument("--start-maximized")

SELENIUM_REMOTE_URL = os.getenv("SELENIUM_REMOTE_URL", "http://selenium:4444/wd/hub")

driver = webdriver.Remote(
    command_executor=SELENIUM_REMOTE_URL,
    options=chrome_options
)

# Open a test page
driver.get("https://www.hostman.com")

time.sleep(9999)

# Shut down WebDriver
driver.quit()

requirements.txt

attrs==25.1.0
certifi==2025.1.31
h11==0.14.0
idna==3.10
outcome==1.3.0.post0
PySocks==1.7.1
selenium==4.28.1
sniffio==1.3.1
sortedcontainers==2.4.0
trio==0.28.0
trio-websocket==0.11.1
typing_extensions==4.12.2
urllib3==2.3.0
websocket-client==1.8.0
wsproto==1.2.0

Avvio dei container

Avvia i container con:

docker compose up -d

Docker costruirà e avvierà i container in background. Verifica lo stato con:

docker compose ps

Se entrambi i container risultano attivi, l’ambiente è stato avviato correttamente. Puoi ora utilizzare Selenium per interagire con i siti web.

Debug di Selenium in Docker tramite VNC

Nelle immagini ufficiali di Selenium (come selenium/standalone-chrome o seleniarm/standalone-chromium), l’accesso diretto al Chrome DevTools Protocol (CDP) viene gestito da Selenium Grid. Ogni sessione crea una nuova porta WebSocket, impedendo l’accesso esterno diretto.

Le opzioni come --remote-debugging-port=9229 vengono ignorate o sovrascritte. Per questo motivo, queste immagini includono un server VNC (Virtual Network Computing) integrato, simile a TeamViewer o AnyDesk.

⚠️ La modalità headless deve essere disattivata, poiché il VNC trasmette lo schermo reale, e senza interfaccia visiva non verrà mostrato nulla.

Accedi all’interfaccia web VNC su:

http://<server_ip>:7900

Alla connessione verrà richiesta una password. Per crearla, accedi al container Selenium:

docker exec -it selenium-container bash
x11vnc -storepasswd

Inserisci e conferma la password. Successivamente, utilizza la password nella pagina VNC per accedere al browser controllato da Selenium. Da qui puoi aprire DevTools, ispezionare elementi DOM o analizzare le richieste di rete.

Conclusione

Eseguire Selenium in container Docker semplifica la portabilità dell’ambiente e riduce i conflitti di versione tra strumenti. Inoltre, consente di eseguire il debug visivo tramite VNC quando necessario.

Ricorda di:

  • scegliere l’immagine corretta in base all’architettura (AMD64 o ARM64);

  • disattivare la modalità headless se desideri visualizzare l’interfaccia grafica.

Questa configurazione fornisce un’infrastruttura di test flessibile, stabile e facilmente integrabile nelle pipeline CI/CD, ottimizzando i flussi di lavoro di test automatizzati con Selenium.

Piattaforma Docker
30.10.2025
Reading time: 6 min

Simili

Piattaforma Docker

Come installare Docker su Ubuntu 22.04

Docker è uno strumento gratuito e open source per la containerizzazione delle applicazioni. I container sono ambienti isolati simili alle macchine virtuali (VM), ma sono più leggeri e portabili tra piattaforme diverse, richiedendo meno risorse di sistema. Docker utilizza la virtualizzazione a livello di sistema operativo, sfruttando funzionalità integrate nel kernel Linux. Ordine delle applicazioni dopo l’installazione di Docker su Ubuntu Sebbene la procedura sia applicabile anche ad altre versioni di Ubuntu, questo tutorial spiega come installare Docker su Ubuntu 22.04. Scaricheremo inoltre Docker Compose, uno strumento necessario per gestire in modo efficace più container. Per questa guida utilizzeremo un server cloud Hostman. Scegli il tuo server ora Requisiti di sistema Secondo la documentazione Docker, sono supportate le seguenti versioni a 64 bit di Ubuntu: Ubuntu Oracular 24.10 Ubuntu Noble 24.04 (LTS) Ubuntu Jammy 22.04 (LTS) Ubuntu Focal 20.04 (LTS) Docker funziona sulla maggior parte delle architetture più diffuse. I requisiti di risorse del dispositivo dipendono dall’uso previsto e da quanto comodamente desideri lavorare con Docker. La scala delle applicazioni che intendi distribuire nei container determinerà in larga misura le esigenze di sistema. Alcune fonti consigliano un minimo di 2 GB di RAM. È inoltre necessaria una connessione Internet stabile. Installare Docker su Ubuntu 22.04 L’installazione di Docker su Ubuntu 22.04 comporta l’esecuzione di una serie di comandi nel terminale. Di seguito è riportata una guida passo dopo passo con spiegazioni. I passaggi sono applicabili anche alle versioni server di Ubuntu. 1. Aggiornare gli indici dei pacchetti Il repository predefinito potrebbe non contenere sempre le versioni software più recenti. Pertanto, scaricheremo Docker dal repository ufficiale per garantire l’installazione della versione più aggiornata. Per prima cosa, aggiorna gli indici dei pacchetti: sudo apt update 2. Installare pacchetti aggiuntivi Per installare Docker, è necessario scaricare quattro pacchetti aggiuntivi: curl: Necessario per interagire con risorse web. software-properties-common: Consente la gestione del software tramite script. ca-certificates: Contiene informazioni sulle autorità di certificazione. apt-transport-https: Necessario per il trasferimento dei dati tramite il protocollo HTTPS. Scarica questi pacchetti con il seguente comando: sudo apt install curl software-properties-common ca-certificates apt-transport-https -y L’opzione -y risponde automaticamente "Sì" a tutte le richieste del terminale. 3. Importare la chiave GPG Le firme software devono essere verificate utilizzando una chiave GPG. Il repository Docker deve essere aggiunto all’elenco locale. Usa il seguente comando per importare la chiave GPG: wget -O- https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor | sudo tee /etc/apt/keyrings/docker.gpg > /dev/null Durante il processo di importazione, il terminale potrebbe mostrare un avviso prima di confermare l’esecuzione corretta del comando. 4. Aggiungere il repository Docker Aggiungi il repository per la tua versione di Ubuntu con il nome in codice "Jammy". Per altre versioni, utilizza i rispettivi nomi in codice indicati nella sezione "Requisiti di sistema". Esegui il seguente comando: echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null Durante l’esecuzione, il terminale ti chiederà di confermare l’operazione. Premi Invio. 5. Aggiornare nuovamente gli indici dei pacchetti Dopo aver apportato queste modifiche, aggiorna nuovamente gli indici dei pacchetti utilizzando il comando abituale: sudo apt update 6. Verificare il repository Assicurati che l’installazione avvenga dal repository corretto eseguendo il seguente comando: apt-cache policy docker-ce Esempio di output: A seconda delle versioni più recenti di Docker, il risultato potrebbe variare. Verificare che l’installazione venga eseguita dal repository ufficiale Docker è fondamentale. 7. Installare Docker Dopo aver configurato i repository, procedi con l’installazione di Docker: sudo apt install docker-ce -y Il processo di installazione inizierà immediatamente. Per confermare che l’installazione sia avvenuta correttamente, controlla lo stato di Docker nel sistema: sudo systemctl status docker Esempio di output: L’output dovrebbe indicare che il servizio Docker è attivo e in esecuzione. Se stai cercando una soluzione affidabile, ad alte prestazioni ed economica per i tuoi workflow, Hostman offre opzioni di Linux VPS Hosting, inclusi Debian VPS, Ubuntu VPS e VPS CentOS. Installare Docker Compose Docker Compose è uno strumento Docker progettato per gestire più container. Viene comunemente utilizzato in progetti in cui molti container devono lavorare insieme come un sistema unificato. Gestire manualmente questo processo può essere complesso. In alternativa, puoi descrivere l’intera configurazione in un unico file YAML contenente le impostazioni e le configurazioni di tutti i container e delle loro applicazioni. Esistono diversi modi per installare Docker Compose. Se hai bisogno della versione più recente, assicurati di utilizzare l’installazione manuale o l’installazione tramite il sistema di controllo di versione Git. Installazione tramite apt-get Se avere l’ultima versione non è fondamentale per te, Docker Compose può essere installato direttamente dal repository Ubuntu. Esegui il seguente comando: sudo apt-get install docker-compose Installazione tramite Git Per prima cosa, installa Git: sudo apt-get install git Verifica l’installazione controllando la versione di Git: git --version L’output dovrebbe mostrare la versione di Git. Successivamente, clona il repository Docker Compose. Vai alla pagina GitHub di Docker Compose e copia l’URL del repository. Esegui il seguente comando per clonare il repository: git clone https://github.com/docker/compose.git Il processo di clonazione inizierà e il repository verrà scaricato da GitHub. Installazione manuale Accedi al repository GitHub di Docker Compose e individua la versione più recente sotto l’etichetta Latest. Al momento della stesura di questa guida, la versione più recente di Docker Compose è v2.31.0. Procediamo al download: sudo curl -L "https://github.com/docker/compose/releases/download/v2.31.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose In questo comando, i parametri $(uname -s) e $(uname -m) tengono automaticamente conto delle caratteristiche e dell’architettura del sistema. Al termine del download, modifica i permessi del file: sudo chmod +x /usr/local/bin/docker-compose Ordine corretto della tua infrastruttura dopo l’installazione di Docker su Ubuntu Conclusione In questa guida abbiamo trattato l’installazione di Docker su Ubuntu 22.04, insieme a diversi metodi per installare Docker Compose. Puoi ordinare un server cloud Hostman per i tuoi esperimenti e le tue esercitazioni. Scegli il tuo server ora Domande frequenti (FAQ) Come installare Docker dal terminale? Il modo più semplice per installare la versione standard di Ubuntu è eseguire: sudo apt update sudo apt install docker.io Nota: per ottenere la versione più recente, è necessario configurare il repository ufficiale Docker e installare docker-ce. Come eseguire Docker senza usare sudo? Per impostazione predefinita, Docker richiede privilegi di root. Per eseguirlo come utente standard, aggiungi il tuo utente al gruppo "docker": sudo usermod -aG docker $USER Disconnettiti e riconnettiti affinché le modifiche abbiano effetto. Come verificare se Docker è installato e in esecuzione? Esegui il container "hello-world" per verificare l’intera toolchain: sudo docker run hello-world Se l’operazione ha esito positivo, verrà scaricata un’immagine di test e verrà visualizzato un messaggio di benvenuto. Come installare Docker Compose su Ubuntu 22.04? Nelle versioni moderne, Docker Compose è incluso come plugin. Installalo tramite: sudo apt install docker-compose-plugin Potrai quindi eseguirlo usando docker compose (nota lo spazio, nessun trattino). Qual è la differenza tra docker.io e docker-ce? docker.io: Il pacchetto Docker mantenuto dal team Ubuntu. È stabile ma potrebbe essere leggermente meno aggiornato. docker-ce: Il pacchetto "Community Edition" mantenuto direttamente da Docker, Inc. Contiene le funzionalità e le patch più recenti. Come disinstallare Docker? Per rimuovere il software mantenendo container e immagini: sudo apt remove docker docker.io containerd runc Per rimuovere completamente Docker, incluse immagini e volumi, elimina la directory: sudo rm -rf /var/lib/docker.
27 January 2026 · 8 min to read
Piattaforma Docker

Docker Compose: Guida Completa all’Installazione e all’Utilizzo

Docker Compose ha cambiato radicalmente il modo in cui gli sviluppatori affrontano le applicazioni containerizzate, in particolare quando devono coordinare servizi che dipendono gli uni dagli altri. Questo strumento sostituisce la gestione manuale dei container con un flusso di lavoro strutturato basato su YAML, consentendo ai team di definire intere architetture applicative in un unico file di configurazione. Negli ambienti Ubuntu, ciò si traduce in distribuzioni riproducibili, scalabilità semplificata e riduzione dell’overhead operativo. Questa guida offre una prospettiva aggiornata sull’installazione e sull’utilizzo di Docker Compose, fornendo approfondimenti pratici sulla sua implementazione reale. Prerequisiti Prima di iniziare questo tutorial, assicurati di avere quanto segue: Distribuire un’istanza di server cloud Ubuntu su Hostman. Disporre di un account utente con privilegi sudo o accesso root, necessari per installare pacchetti e gestire Docker. Avere Docker installato e in esecuzione sul server, poiché Docker Compose funziona sopra Docker Engine. Perché Docker Compose è importante Le applicazioni moderne spesso includono componenti interconnessi come API, database e livelli di caching. Gestire questi elementi singolarmente tramite comandi Docker diventa rapidamente complesso man mano che l’architettura cresce. Docker Compose risolve questo problema permettendo agli sviluppatori di dichiarare tutti i servizi, le reti e i requisiti di storage in un file docker-compose.yml. Questo approccio garantisce coerenza tra gli ambienti, sia che si lavori su una macchina Ubuntu locale sia su un server cloud. Ad esempio, considera un’applicazione web composta da un backend Node.js, un database PostgreSQL e una cache Redis. Senza Docker Compose, ogni componente richiederebbe un comando docker run separato con parametri di rete precisi. Con Compose, queste relazioni vengono definite una sola volta, consentendo l’avvio e l’arresto dell’intero stack con un singolo comando. Installazione di Docker Compose Segui i passaggi seguenti per installare Docker Compose sul tuo sistema Ubuntu. Passaggio 1: verificare che Docker Engine sia installato e in esecuzione Docker Compose funziona come un’estensione di Docker, quindi verifica lo stato del servizio: sudo systemctl status docker Se non è attivo, avvialo con: sudo systemctl start docker Passaggio 2: aggiornare i pacchetti di sistema Aggiorna l’elenco dei pacchetti per assicurarti di avere accesso alle versioni più recenti del software: sudo apt-get update Passaggio 3: installare le utility di base Per garantire una comunicazione sicura con i repository Docker, sono necessari i seguenti pacchetti: sudo apt-get install ca-certificates curl Passaggio 4: configurare la chiave GPG di Docker Autentica i pacchetti Docker aggiungendo la relativa chiave crittografica: sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc Questo passaggio garantisce che i pacchetti non siano stati alterati durante il download. Passaggio 5: aggiungere il repository Docker Aggiungi il repository Docker in base alla versione di Ubuntu in uso: echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null Il comando rileva automaticamente la versione del sistema tramite VERSION_CODENAME. Passaggio 6: installare il plugin Docker Compose Aggiorna i repository e installa l’estensione Compose: sudo apt update sudo apt-get install docker-compose-plugin Passaggio 7: verificare l’installazione Conferma che Docker Compose sia stato installato correttamente: docker compose version Esempio di output: Docker Compose version v2.33.0 Creare un progetto Docker Compose pratico Per dimostrare le funzionalità di Docker Compose, distribuiamo un server web utilizzando Nginx. 1. Inizializzare la directory del progetto Crea un’area di lavoro dedicata: mkdir ~/compose-demo && cd ~/compose-demo 2. Definire i servizi in docker-compose.yml Crea il file di configurazione: nano docker-compose.yml Inserisci il seguente contenuto: services:   web:     image: nginx:alpine     ports:       - "8080:80"     volumes:       - ./app:/usr/share/nginx/html Spiegazione: services: elemento radice che dichiara i container web: nome personalizzato del servizio image: utilizza l’immagine Nginx basata su Alpine per un ingombro ridotto ports: mappa la porta 8080 dell’host sulla porta 80 del container volumes: sincronizza la directory locale app con la root web del container 3. Creare il contenuto web Costruisci la struttura HTML: mkdir app nano app/index.html Aggiungi il seguente codice HTML: <!DOCTYPE html> <html lang="en"> <head>   <meta charset="UTF-8">   <title>Docker Compose Test</title> </head> <body>   <h1>Hello from Docker Compose!</h1> </body> </html> Orchestrazione dei container: dall’avvio all’arresto 1. Avviare i servizi in modalità detached docker compose up -d Docker Compose scaricherà automaticamente l’immagine Nginx se mancante e configurerà la rete. 2. Verificare lo stato dei container docker compose ps -a 3. Accedere all’applicazione web Visita http://localhost:8080 in locale oppure http://<SERVER_IP>:8080 sui server remoti. La pagina di test dovrebbe visualizzare correttamente il contenuto HTML. 4. Diagnosticare i problemi tramite i log In caso di problemi, ispeziona i log del container: docker compose logs web 5. Arresto e pulizia corretti Arresta temporaneamente i container: docker compose stop Rimuovi tutte le risorse del progetto: docker compose down Riferimento comandi: oltre le operazioni di base I seguenti comandi migliorano la gestione dei container: docker compose up --build – Ricostruisce le immagini prima dell’avvio docker compose pause – Mette in pausa i container senza terminarli docker compose top – Mostra i processi in esecuzione nei container docker compose config – Valida e visualizza la configurazione finale docker compose exec – Esegue comandi nei container attivi(ad esempio, docker compose exec web nginx -t per testare la configurazione di Nginx) Conclusione Docker Compose trasforma l’orchestrazione di applicazioni multi-container da un’attività manuale e complessa a un processo strutturato, ripetibile ed efficiente. Seguendo i passaggi descritti — installazione di Docker Compose, definizione dei servizi in YAML e utilizzo dei comandi essenziali — è possibile gestire applicazioni complesse con sicurezza e controllo.
15 January 2026 · 6 min to read
Piattaforma Docker

Come Installare Nextcloud con Docker

Per chi desidera avere il pieno controllo sui propri dati, Nextcloud offre una potente soluzione open-source per creare un sistema di archiviazione cloud privato. La piattaforma non solo consente la sincronizzazione sicura dei file tra dispositivi diversi, ma permette anche di ospitare l’archiviazione sul proprio server, evitando la dipendenza da provider terzi. In questa guida vedremo come installare Nextcloud utilizzando container Docker isolati, semplificando notevolmente il processo di deployment e gestione. Inoltre, configureremo la cifratura automatica del traffico tramite certificati SSL di Let’s Encrypt, per garantire una trasmissione sicura dei dati. Prerequisiti Avrai bisogno di: Un server cloud Hostman con Linux Ubuntu 24.04 preinstallato. Un nome di dominio. Docker e Docker Compose installati. Per il server si consiglia una configurazione con 1 core CPU, 2 GB di RAM e un indirizzo IPv4 pubblico, che puoi richiedere durante la creazione del server o successivamente nella sezione “Network”. Il server sarà pronto in pochi minuti. L’indirizzo IPv4 e le credenziali SSH saranno disponibili nel Dashboard. Installare ed eseguire Nextcloud Nextcloud richiede diversi componenti chiave: Database: in questo caso MariaDB, un sistema di gestione database veloce e affidabile. Certificato SSL: utilizzeremo certificati SSL gratuiti rilasciati da Let’s Encrypt. Reverse proxy: aggiungeremo Nginx Proxy Manager, che instraderà il traffico HTTP e HTTPS verso i container appropriati. Passo 1: Creare la directory di configurazione Crea una cartella per i file di configurazione e accedi al suo interno: mkdir nextcloud && cd nextcloud Passo 2: Creare il file .env Questo file nascosto conterrà variabili con password: nano .env Contenuto del file: NEXTCLOUD_ROOT_PASSWORD=secure_root_password_123 NEXTCLOUD_DB_PASSWORD=secure_nextcloud_db_password_456 NPM_ROOT_PASSWORD=secure_npm_root_password_789 NPM_DB_PASSWORD=secure_npm_db_password_012 Ricorda di sostituire questi valori con le tue password personali. Passo 3: Creare il file docker-compose.yml Crea il file con: nano docker-compose.yml Aggiungi la configurazione seguente (non tradotta su tua richiesta): volumes:   nextcloud-data:   nextcloud-db:   npm-data:   npm-ssl:   npm-db:   networks:   frontend:   backend:   services:   nextcloud-app:     image: nextcloud:31.0.8     restart: always     volumes:       - nextcloud-data:/var/www/html     environment:       - MYSQL_PASSWORD=${NEXTCLOUD_DB_PASSWORD}       - MYSQL_DATABASE=nextcloud       - MYSQL_USER=nextcloud       - MYSQL_HOST=nextcloud-db       - MYSQL_PORT=3306     networks:       - frontend       - backend     nextcloud-db:     image: mariadb:12.0.2     restart: always     command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW     volumes:       - nextcloud-db:/var/lib/mysql     environment:       - MYSQL_ROOT_PASSWORD=${NEXTCLOUD_ROOT_PASSWORD}       - MYSQL_PASSWORD=${NEXTCLOUD_DB_PASSWORD}       - MYSQL_DATABASE=nextcloud       - MYSQL_USER=nextcloud     networks:       - backend     npm-app:     image: jc21/nginx-proxy-manager:2.12.6     restart: always     ports:       - "80:80"       - "81:81"       - "443:443"     environment:       - DB_MYSQL_HOST=npm-db       - DB_MYSQL_PORT=3306       - DB_MYSQL_USER=npm       - DB_MYSQL_PASSWORD=${NPM_DB_PASSWORD}       - DB_MYSQL_NAME=npm     volumes:       - npm-data:/data       - npm-ssl:/etc/letsencrypt     networks:       - frontend       - backend     npm-db:     image: jc21/mariadb-aria:10.11.5     restart: always     environment:       - MYSQL_ROOT_PASSWORD=${NPM_ROOT_PASSWORD}       - MYSQL_DATABASE=npm       - MYSQL_USER=npm       - MYSQL_PASSWORD=${NPM_DB_PASSWORD}     volumes:       - npm-db:/var/lib/mysql     networks:       - backend Passo 4: Avviare i container Avvia i container con: docker compose up -d Se compare un errore riguardante i limiti di pull di Docker Hub: Accedi al tuo account Docker Hub o creane uno nuovo. Vai su Account settings → Personal access tokens. Clicca su Generate new token. Aggiungi una descrizione, imposta una data di scadenza e seleziona i permessi: Read, Write, Delete. Clicca su Generate e copia il token (sarà mostrato una sola volta). Sul server, accedi con: docker login -u dockeruser Sostituisci dockeruser con il tuo nome utente e inserisci il token come password. Riavvia quindi i container: docker compose up -d Controlla lo stato: docker ps Tutti i container dovranno mostrare lo stato Up. Passo 5: Configurare HTTPS con Let’s Encrypt Apri nel browser: http://<server-IP>:81 Accedi con le credenziali predefinite: Login: admin@example.com Password: changeme Al primo accesso: Aggiorna nome completo, nickname ed email. Modifica la password: Current Password: changeme New Password: nuova password Confirm Password: ripeti la password Passo 6: Aggiungere un Proxy Host Vai su Hosts → Proxy Hosts. Clicca su Add Proxy Host e compila: Domain Names: il dominio della tua istanza Nextcloud Scheme: http Forward Hostname/IP: nextcloud-app Forward Port: 80 Nella scheda SSL: Seleziona Request a new SSL Certificate Attiva: Force SSL HTTP/2 Support HSTS Enabled Inserisci la tua email per Let’s Encrypt e accetta i termini. Salva le modifiche. Passo 7: Accedere a Nextcloud Ora visita il tuo dominio. Se tutto è configurato correttamente, l’interfaccia web di Nextcloud si aprirà e verrà emesso automaticamente un certificato SSL Let’s Encrypt. Crea un nuovo account amministratore. Facoltativamente installa le app consigliate. L’installazione e la configurazione di base sono concluse. Conclusione In questo articolo abbiamo mostrato come distribuire Nextcloud con Docker e ottenere un certificato SSL gratuito tramite Let’s Encrypt. Questo metodo è tra i più affidabili, sicuri e facilmente scalabili. Docker garantisce un isolamento corretto delle applicazioni, semplifica gli aggiornamenti e facilita le migrazioni. Utilizzare un certificato SSL non è solo consigliato, ma essenziale per proteggere dati sensibili e garantire traffico crittografato.
25 November 2025 · 7 min to read

Hai domande,
commenti o dubbi?

I nostri professionisti sono disponibili per assisterti in ogni momento,
che tu abbia bisogno di aiuto o non sappia da dove iniziare.
Inviaci un'email
Hostman's Support