Dokku’yu (Docker PaaS) Ubuntu 20.04|18.04’e yükleyin

Dokku, seçtiğiniz tek bir sunucuda çalışan, genişletilebilir, açık kaynaklı bir Hizmet olarak Platformdur.  Daha önce Heroku’yu kullandıysanız, bunu Heroku’nun barındırılan sürümü olarak düşünün.  Tek bir sunucuda çalışan docker tabanlı Hizmet Olarak Platforma sahip olabilirsiniz.  Bu kılavuzda Dokku PaaS’ın Ubuntu 20.04|18.04 Linux Sistemine kurulumunu ele alacağız.

Bu makale güncellemesi itibarıyla desteklenen işletim sistemleri şunlardır:

  • Ubuntu 16.04/18.04/20.04 x64
  • Debian 9+ x64

Dokku’yu Ubuntu’ya Kurmak – Önkoşullar

  • Ubuntu 20.04|18.04 kurulu güncel sistem
  • Docker Engine
  • En az 1 GB sistem belleği
  • FQDN ayarlı sunucu – DNS veya /etc/hosts üzerinde olabilir

Dokku’yu Ubuntu 20.04/18.04’e kurmanın iki yolu vardır:

  1. Önyükleme betiğini kullanma
  2. Dokku apt deposundan kurulum

Dokku’yu Ubuntu 20.04|18.04 Linux sunucusuna kurmak için her iki yöntemi de ele alacağız.  Olan biteni görebilmeniz için Dokku’yu apt deposundan yüklemenizi öneririm.

Hostnamectl komutunu kullanarak sistem ana bilgisayar adını ayarlayın:

$ sudo hostamectl set-hostname dokku.computingforgeeks.com

Sisteminizin güncellendiğinden ve yükseltildiğinden emin olun:

sudo apt update
sudo apt upgrade -y
sudo reboot

Yöntem 1: Dokku’yu apt deposundan Ubuntu 20.04|18.04’e yükleyin

Dokku paketleri packagecloud.io dokku deposunda mevcuttur.  Güven paketlerine depo GPG anahtarını içe aktararak başlayın:

sudo apt update
sudo apt install -y apt-transport-https
wget -nv -O - https://packagecloud.io/dokku/dokku/gpgkey | sudo apt-key add -

Anahtar içe aktarma çıktısı:

2020-10-08 19:40:09 URL:https://d28dx6y1hfq314.cloudfront.net/505/623/gpg/dokku-dokku-FB2B6AA421CD193F.pub.gpg?t=1602179109_89e21c60fdf77e8ab2181ba23ae0dc910985dfbb [3937/3937] -> "-" [1]
OK

Aşağıdaki komutları kullanarak repoyu ekleyin:

OS_ID="$(lsb_release -cs 2>/dev/null || echo "bionic")"
echo "deb https://packagecloud.io/dokku/dokku/ubuntu/ ${OS_ID} main" | sudo tee /etc/apt/sources.list.d/dokku.list

Ardından sistem paketi listesini güncelleyin:

sudo apt update

Adım 1: Docker Engine’i Ubuntu 20.04|18.04’e yükleyin

Docker’ın kararlı sürümünü veya uç sürümünü yükleyebilirsiniz; her ikisi de Dokku tarafından desteklenmektedir.

wget -nv -O - https://get.docker.com/ | sudo bash -

Add your user account to docker group:

sudo usermod -aG docker $USER
newgrp docker

Bu katılımsız kurulumdur, tamamlanmasını bekleyin ve ardından docker motor sürümünün kurulu olduğunu onaylayın:

$ docker version
Client: Docker Engine - Community
 Version:           19.03.13
 API version:       1.40
 Go version:        go1.13.15
 Git commit:        4484c46d9d
 Built:             Wed Sep 16 17:02:52 2020
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.13
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       4484c46d9d
  Built:            Wed Sep 16 17:01:20 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.3.7
  GitCommit:        8fba4e9a7d01810a393d5d25a3621dc101981175
 runc:
  Version:          1.0.0-rc10
  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

Adım 2: Dokku’yu Ubuntu 20.04|18.04’e yükleyin

Docker kurulduktan sonra Dokku’yu Ubuntu 20.04|18.04 LTS sisteminize kurmaya devam edebilirsiniz.  Bu, sistem paketlerinin güncellenmesi ve dokku paketinin kurulmasıyla yapılır:

sudo apt update
sudo apt install dokku -y

apt aracılığıyla yüklenen bağımlılıklar şunları içerir:

  • herokuish
  • sshcommand
  • plugn

Web yapılandırma arayüzünün etkinleştirilip etkinleştirilmeyeceği sorulduğunda evet yanıtını verin

Dokku kurulumu ayrıca nginx’i sizin için yapılandıracak ve hizmeti yönetmek için bir systemd hizmet birimi oluşturacaktır.  Kurulum çıktı özeti aşağıda gösterilmiştir:

....
Adding user dokku to group adm
Starting nginx (via systemctl): nginx.service.
-----> Priming bash-completion cache
Ensure proper sshcommand path
Setting up dokku-installer
Enabling dokku-installer
Created symlink /etc/systemd/system/multi-user.target.wants/dokku-installer.service → /etc/systemd/system/dokku-installer.service.
Created symlink /etc/systemd/system/graphical.target.wants/dokku-installer.service → /etc/systemd/system/dokku-installer.service.
Starting dokku-installer
Processing triggers for libc-bin (2.31-0ubuntu9.1) ...
Processing triggers for ufw (0.36-6) ...
Processing triggers for systemd (245.4-4ubuntu3.2) ...
Processing triggers for man-db (2.9.1-1) ...

Dokku bağımlılıklarını yükleyin:

sudo dokku plugin:install-dependencies --core

Dokku adında bir kullanıcı ve grup da sisteme eklenir, ana dizini /home/dokku’dur.  Bu kullanıcı hesabı, uygulamaları Dokku’ya dağıtırken kullanılır.

$ id dokku
uid=1001(dokku) gid=1002(dokku) groups=1002(dokku),4(adm),998(docker)

$ ls -la /home/dokku/
total 44
drwxr-xr-x 5 dokku dokku 4096 Oct  8 19:45 .
drwxr-xr-x 4 root  root  4096 Oct  8 19:43 ..
drwxr-xr-x 2 dokku dokku 4096 Oct  8 19:45 .basher
-rw-r--r-- 1 dokku dokku  220 Oct  8 19:43 .bash_logout
-rw-r--r-- 1 dokku dokku 3771 Oct  8 19:43 .bashrc
-rw-r--r-- 1 dokku dokku    0 Oct  8 19:43 .cloud-locale-test.skip
drwxr-xr-x 2 dokku dokku 4096 Oct  8 19:43 .dokkurc
-rw-r--r-- 1 dokku dokku   29 Oct  8 19:43 HOSTNAME
-rw-r--r-- 1 dokku dokku  807 Oct  8 19:43 .profile
drwxr-xr-x 2 dokku dokku 4096 Oct  8 19:43 .ssh
-rw-r--r-- 1 dokku root    15 Oct  8 19:44 .sshcommand
-rw-r--r-- 1 dokku dokku   29 Oct  8 19:43 VHOST

Hizmet, kurulumdan sonra varsayılan olarak çalışıyor olmalıdır.  Hizmetin adı dokku-installer.service’dir:

$ systemctl status dokku-installer.service
● dokku-installer.service - Dokku web-installer
     Loaded: loaded (/etc/systemd/system/dokku-installer.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2020-10-08 19:44:41 CEST; 6min ago
   Main PID: 14789 (python3)
      Tasks: 1 (limit: 2286)
     Memory: 8.3M
     CGroup: /system.slice/dokku-installer.service
             └─14789 python3 /usr/share/dokku/contrib/dokku-installer.py selfdestruct

Oct 08 19:44:41 ubuntu systemd[1]: Started Dokku web-installer.
Oct 08 19:44:41 ubuntu sudo[14817]:     root : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/usr/sbin/ufw status
Oct 08 19:44:41 ubuntu sudo[14817]: pam_unix(sudo:session): session opened for user root by (uid=0)
Oct 08 19:44:41 ubuntu sudo[14817]: pam_unix(sudo:session): session closed for user root

Hizmetin önyüklemede başlatılmasının etkin olup olmadığını doğrulayın:

$ systemctl is-enabled dokku-installer.service
enabled

Dokku sürümü aşağıdakiler kullanılarak kontrol edilebilir:

$ dokku version
dokku version 0.21.4

Adım 3: Ubuntu 20.04|18.04’te Dokku’yu yapılandırın

Kurulum tamamlandığında sunucunuzun IP’sine gidin ve Dokku’yu yapılandırmak için web yükleyiciyi takip edin.

Onaylama:

  • SSH Public key that you’ll use to access Dokku apps.
  • Provide FQDN hostname for dokku to be used for apps URL
  • Uygulamalarınızın Dokku’da ana bilgisayar adlarıyla dağıtılması için “Use virtualhost naming ” seçeneğini işaretleyin

Daha sonra Dokku’nun Ubuntu 20.04|18.04’e kurulumunu tamamlamak için “Kurulumu Bitir” butonuna tıklayın.

Ayarlarınızı kaydettikten sonra web yöneticisinin kendini sonlandıracağını ve Dokku kurulumunu çalıştırabilmeniz veya dağıtabilmeniz gerektiğini unutmayın.

Ubuntu 20.04|18.04’te Dokku’yu Yükseltme

Dokku’yu en son kararlı sürüme yükseltmek için dokku-update komutunu kullanın:

sudo dokku ps:stopall
sudo apt update
sudo apt install -qq -y dokku herokuish sshcommand plugn gliderlabs-sigil
sudo sudo apt upgrade

Dokku’yu yukarıdaki komutla yükseltmek, çalışan dokku’yu etkilemez ve yükseltme talimatlarının çoğunu sizin için otomatikleştirir.  Yükseltme sonrasında tüm uygulamaları yeniden oluşturmak istiyorsanız şunu kullanın:

sudo dokku ps:rebuildall

Dokku Eklentilerini Yükleme

Dokku, diğer işlevleri yönetmek için bir avuç Eklenti sağlar.  Hepsi Dokku’da mevcuttur ve resmi eklentileri vardır.  Bu eklentilerin kurulumu Dokku ana bilgisayarında root kullanıcı olarak veya sudo ayrıcalıklarına sahip bir kullanıcı hesabı kullanılarak yapılır.

Aşağıdaki örneklere bakın:

PostgreSQL veri deposu hizmetini yükleyin:

sudo dokku plugin:install https://github.com/dokku/dokku-postgres.git

MariaDB veri deposu eklentisini yükleyin:

sudo dokku plugin:install https://github.com/dokku/dokku-mariadb.git mariadb

Uygulamaları Dokku’ya Dağıtma

Artık Ubuntu 20.04|18.04 sisteminizde çalışan bir Dokku kurulumunuz olduğuna göre uygulamaların dağıtımına başlayabilirsiniz.  Uygulamaları Dokku’ya dağıtmaya ilişkin kapsamlı bir kılavuz okuyabilirsiniz.

Yazının orijinalini buradan okuyabilirsimiz.

Skip to content