Dokku - Heroku like deployment

Vorraussetzungen:

  • Debian/Ubuntu (sollte auch mit anderen Distributionen funktionieren)
  • Docker
  • NGINX
  • Dokku
  • Zugriff auf Port 80/443/22

Installation:

$ wget https://raw.githubusercontent.com/dokku/dokku/v0.14.3/bootstrap.sh
$ sudo DOKKU_TAG=v0.14.3 bash bootstrap.sh

https://github.com/dokku/dokku/blob/master/docs/getting-started/install/debian.md

Dokumentation

http://dokku.viewdocs.io/dokku/ http://dokku.viewdocs.io/dokku/getting-started/installation/

Dokku Plugins

  • Dokku Letsencrypt - https://github.com/dokku/dokku-letsencrypt
  • Dokku MariaDB - https://github.com/dokku/dokku-mariadb
  • weitere siehe https://github.com/dokku/dokku/blob/master/docs/community/plugins.md

Dokku Deployment mit Gitlab https://github.com/dokku/dokku/blob/master/docs/community/tutorials/deploying-with-gitlab-ci.md

Dateien der Repository hinzufügen

.buildpacks

https://github.com/heroku/heroku-buildpack-nodejs.git#v131
https://github.com/heroku/heroku-buildpack-php.git#v145

Procfile

web: heroku-php-apache2 Web/

package.json

  "engines": {
    "node": "10.12.0",
    "yarn": "1.12.1",
    "npm": "6.4.1"
  },

Ablauf definieren

Es muss festgelegt werden wie der Deployment Workflow sein soll. Danach wird dann die GitlabCI Configuration angepasst bzw. erweitert.