
CloudBeaver Community è la versione open source e gratuita della piattaforma di gestione database sviluppata da DBeaver Corp, pensata per offrire un accesso ai dati completamente basato su browser, senza bisogno di installare alcun client desktop sulle postazioni degli utenti.
A differenza del classico DBeaver, che è un’applicazione desktop, CloudBeaver gira come servizio web: si installa una sola volta su un server centrale e da quel momento chiunque in azienda può connettersi, navigare tra schemi e tabelle, eseguire query SQL e consultare i risultati semplicemente aprendo un browser, da qualsiasi postazione o dispositivo.
Questa caratteristica lo rende particolarmente adatto in contesti dove serve dare accesso ai database a più persone (sviluppatori, analisti, team di supporto) senza dover gestire installazioni multiple, licenze client o configurazioni di rete complicate per ogni singolo utente.
Supporta nativamente i principali motori di database (PostgreSQL, MySQL, MariaDB, SQLite e molti altri tramite driver JDBC), e consente di centralizzare in un unico punto la gestione delle connessioni e dei permessi di accesso.
In questa guida vedremo come installare e configurare CloudBeaver Community su un server Ubuntu Server 26.04, sfruttando Docker Compose per ottenere un deployment pulito, riproducibile e facile da mantenere nel tempo: dalla preparazione dell’ambiente Docker, alla stesura del file docker-compose.yml, fino ai primi passi di configurazione post-installazione necessari per rendere l’istanza operativa.
PREREQUISITI
Docker e Docker Compose già installati. Se non presenti eseguire i comandi:
|
0 1 2 3 4 5 6 |
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh sudo usermod -aG docker $USER newgrp docker |
Verificare che il plugin Compose sia disponibile con il comando:
|
0 |
docker compose version |
Dovremmo visualizzare il seguente output:
|
0 |
Docker Compose version v5.5.0 |
CREAZIONE DELLA STRUTTURA DI CARTELLE
Creare la struttura delle cartelle con i comandi:
|
0 1 2 3 4 |
sudo mkdir -p /opt/cloudbeaver/workspace sudo chown -R $USER:$USER /opt/cloudbeaver cd /opt/cloudbeaver |
Il volume workspace è dove CloudBeaver salva configurazione, connessioni e credenziali cifrate: deve essere persistente.
CREAZIONE DEL FILE DOCKER-COMPOSE.YML
Creare il file docker-compose.yml con il comando:
|
0 |
nano /opt/cloudbeaver/docker-compose.yml |
Quindi incollare il seguente output:
|
0 1 2 3 4 5 6 7 8 9 10 11 12 13 |
services: cloudbeaver: image: dbeaver/cloudbeaver:26.0.1 container_name: cloudbeaver restart: unless-stopped ports: - "8978:8978" volumes: - ./workspace:/opt/cloudbeaver/workspace healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8978/status"] interval: 30s timeout: 10s retries: 3 |
Salvare e chiudere il file di configurazione
NOTA BENE: 26.0.1 è la versione stabile più recente al momento; puoi anche usare il tag latest, ma per un ambiente di produzione è meglio fissare la versione (i downgrade non sono supportati, quindi conviene aggiornare consapevolmente).
AVVIARE IL CONTAINER
Avviare il container con i comandi:
|
0 1 2 |
cd /opt/cloudbeaver docker compose up -d |
Dovremmo visualizzare il seguente output:
|
0 1 2 3 |
[+] up 13/13 ✔ Image dbeaver/cloudbeaver:26.0.1 Pulled ✔ Network cloudbeaver_default Created ✔ Container cloudbeaver Started |
Controllare i log per verificare che sia partito correttamente con il comando:
|
0 |
docker compose logs -f cloudbeaver |
Dovremmo visualizzare un output simile al seguente:
|
0 1 2 3 4 5 |
cloudbeaver | Starting Cloudbeaver Server cloudbeaver | 2026-08-25 15:46:30.280 - Workspace path initialized: /opt/cloudbeaver/workspace cloudbeaver | 2026-08-25 15:46:30.323 - Platform not initialized: metadata folder may be not set cloudbeaver | 2026-08-25 15:46:30.333 - Starting instance server at http://localhost:33071 cloudbeaver | SLF4J(I): Logback configuration is used: conf/logback.xml cloudbeaver | 25-08-2026 15:46:30.440 [main] DEBUG i.c.model.app.BaseServletApplication - Loading configuration from /opt/cloudbeaver/conf/cloudbeaver.conf |
APERTURA PORTE FIREWALL
Aprire la porta sul firewall (se usi UFW) con il comando:
|
0 |
sudo ufw allow 8978/tcp |
Se preferisci esporlo solo su localhost (per poi metterci un reverse proxy come Nginx Proxy Manager, che già usi), modificare il binding della porta così:
|
0 1 |
ports: - "127.0.0.1:8978:8978" |
SETUP INIZIALE VIA BROWSER
Richiamare da un qualsiasi browser il link http://<IP-del-server>:8978
Cliccare su Next
In questa schermata compilare:
Server Name: impostare un nome del server
Administrator Credentials: impostare username e password amministratore
Allow Anonymus Access: Decidere se abilitare l’accesso anonimo. Ti consiglio di disabilitarlo, soprattutto se il servizio è raggiungibile fuori dalla LAN
Confermare la configurazione e cliccare Next
Terminare la configurazione cliccando Finish
Inserire le credendiziali create in precendenza e cliccare Login
AGGIUNGERE UNA CONNESSIONE AL DATABASE
Dal pannello cliccare sull’icona a forma di database/plug in alto a sinistra
Cliccare New Connection
Scegliere il driver (PostgreSQL, MySQL, MSSQL, ecc)
Inserire tutte le info relative alla connessione quindi cliccare Create
NOTE OPERATIVE
Backup: prima di ogni aggiornamento fare un backup della cartella workspace (contiene config e connessioni salvate).
Aggiornamenti: cambiare il tag immagine nel compose e rilanciare docker compose up -d (ATTENZIONE: non usare mai una versione più vecchia di quella già in uso, i downgrade non sono supportati).
HTTPS: se lo esponi con un reverse Proxy davanti, ricordarsi di forzare redirect HTTP→HTTPS e di impostare gli header giusti per il WebSocket (CloudBeaver lo usa per l’editor SQL live).
CONCLUSIONI
Ecco un quadro pro/contro di CloudBeaver Community:
PRO
- È completamente gratuito e open source, senza costi di licenza né limiti sul numero di utenti o connessioni, a differenza delle edizioni Lite/Enterprise/Ultimate a pagamento.
- Essendo web-based, non richiede installazioni sui client: basta un browser, il che semplifica molto la distribuzione in team distribuiti o con policy IT restrittive sui pacchetti installabili.
- Il deployment con Docker è molto rapido e riproducibile, ed è lo stesso identico stack usato per la Enterprise, quindi eventuali migrazioni future sono semplici.
- Supporta un buon numero di database out-of-the-box (PostgreSQL, MySQL, MariaDB, SQLite e altri via driver JDBC) e offre un editor SQL, navigazione degli schemi e gestione dati di base già solida per usi quotidiani.
- Interfaccia centralizzata: amministratori e utenti condividono le stesse connessioni configurate sul server, riducendo duplicazione di credenziali e configurazioni sparse.
CONTRO
- Manca il single sign-on e i metodi di autenticazione avanzati (SSO, OpenID, Entra ID/AzureAD, Okta, IAM): l’autenticazione resta basilare, il che può essere un problema in ambienti aziendali con requisiti di identity management centralizzato.
- Non ha la gestione multi-utente/team avanzata con ruoli e permessi granulari, né la condivisione sicura delle credenziali tra utenti autorizzati: funzionalità di collaborazione più fini restano riservate alla Enterprise.
- Mancano strumenti “PRO” utili in contesti più complessi: query builder visuale, diagrammi entità-relazione, gestione avanzata dei driver, query manager/history, session manager, secret management.
- Nessun supporto nativo per Cloud Explorer / Cloud Storage (AWS, Azure, GCP), quindi per scenari cloud-native più integrati serve comunque l’Enterprise.
- Nessun dominio personalizzato/SSL brandizzato incluso: per un deployment pubblico “professionale” bisogna comunque occuparsi tu stesso di reverse proxy, certificati e dominio (cosa comunque fattibile, ma è lavoro in più).
- Essendo la fascia gratuita, il supporto è essenzialmente quello della community (GitHub, forum), senza SLA o supporto commerciale diretto.

0 Commenti