8. DOKKU
Dokku is a mini-Heroku powered by Docker written in less than 100 (180) lines of
Bash.
Once it's set up on a host, you can push Heroku-compatible applications to it via
Git. They'll build using Heroku buildpacks and then run in isolated containers.
The end result is your own, single-host version of Heroku.
11. Docker *
Docker containers wrap a piece of software in a complete filesystem that contains
everything needed to run: code, runtime, system tools, system libraries – anything that
can be installed on a server. This guarantees that the software will always run the
same, regardless of its environment.
* Docker: basic usage by Oleksiy Dovzhanytsya
12. Buildpacks/Buildestep
Buildstep uses Heroku's open source buildpacks and is responsible for building the
base images that applications are built on. You can think of it as producing the "stack"
for Dokku, to borrow a concept from Heroku.
Buildpacks are responsible for transforming deployed code into a slug, which can then
be executed on a dyno. Buildpacks are composed of a set of scripts, and depending
on the programming language, the scripts will retrieve dependencies, output
generated assets or compiled code, and more. This output is assembled into a slug by
the slug compiler.
13. Gitreceive
Gitreceive is a project that provides you with a git user that you can push repositories
to. It also triggers a script to handle that push. This provides the push mechanism that
you might be familiar with from Heroku.
Creates an ssh+git user that accepts on the fly repository pushes and triggers a hook
script. Push code anywhere. Extend your Git workflow.
14. Nginx
nginx [engine x] — это HTTP-сервер и обратный прокси-сервер, почтовый прокси-сервер, а
также TCP/UDP прокси-сервер общего назначения, изначально написанный Игорем Сысоевым.
Уже длительное время он обслуживает серверы многих высоконагруженных российских сайтов,
таких как Яндекс, Mail.Ru, ВКонтакте и Рамблер. Согласно статистике Netcraft nginx обслуживал
или проксировал 27.83% самых нагруженных сайтов в ноябре 2016 года. Вот некоторые
примеры успешного внедрения nginx (тексты на английском языке): Netflix, Wordpress.com,
FastMail.FM.
Исходные тексты и документация распространяются под BSD-подобной лицензией из 2 пунктов.
Коммерческая поддержка осуществляется компанией Nginx, Inc.
15. Dokku plugins*
Dokku itself is built out of plugins
and uses plugn for its plugin system.
In essence a plugin is a collection of
scripts that will be run based on
naming convention.
* http://dokku.viewdocs.io/dokku/community/plugins/
22. Procfile: A file called "Procfile" is required to be in the root application directory. The
purpose of this file is to specify how the application should be run once deployed.
Same as on Heroku: https://devcenter.heroku.com/articles/getting-started-with-rails4
git remote add dokku dokku@ip_addres:app_name
git push dokku master
Demo: Linode