Dokku è un'alternativa Open Source a Heroku per chi ha la necessità di una soluzione PaaS (Platform as a Service) libera e aperta. Le funzionalità di base sono molto simili a quelle della sua nota alternativa commerciale. In sostanza Dokku permette di gestire l'intero ciclo di vita di un'applicazione, compresi gli aspetti legati alla scalabilità delle risorse. Esiste inoltre una versione Pro, chiaramente a pagamento, con alcune caratteristiche addizionali.
Specifiche tecniche di Dokku
La piattaforma è basata su Docker, questo significa che potrà essere installata in qualsiasi ambiente, indipendentemente dalla configurazione hardware disponibile. Una volta settata all'interno del proprio host di riferimento, essa consente di pushare qualsiasi applicazione compatibile con Heroku utilizzando Git. Il building avviene tramite buildpack Heroku sfruttando l'isolamento dei container.
Uno dei vantaggi di questa soluzione risiede nella grande disponibilità di plugin per l'inclusione di feature aggiuntive. La directory delle estensioni presenta diverse proposte per la gestione dei database (MySQL, MariaDB, Postres, Mongo..), la sicurezza delle connessioni (Let's Encrypt, SSH..), l'orchestrazione (Kubernetes) e non solo. Si possono inoltre realizzare plugin in qualsiasi linguaggio di programmazione e condividerli con il resto della community.
Tutto in Dokku è stato pensato per semplificare la gestione di single server. Per utilizzarlo è necessario disporre di un ambiente con almeno 1GB di memoria RAM e l'installazione di Ubuntu 20.04/22.04, Debian 10+ x64 o, naturalmente, versioni successive.
Procedura di installazione
Per installare l'ultima release stabile di Dokku su Debian o distribuzioni derivate è richiesto il lancio delle seguenti istruzioni da riga di comando:
wget -NP . https://dokku.com/install/v0.34.8/bootstrap.sh
sudo DOKKU_TAG=v0.34.8 bash bootstrap.sh
Il package della piattaforma è particolarmente voluminoso, quindi per completare l'operazione dovrebbero essere necessario attendere tra i 5 e i 10 minuti. Molto dipende dalla velocità della propria connessione ad Internet. Una volta completata l'installazione si potrà procedere con il setup della chiave SSH e del Virtualhost:
cat ~/.ssh/authorized_keys | dokku ssh-keys:add admin
dokku domains:set-global exemple.me
dokku domains:set-global 10.0.0.2.sslip.io