Dokkufy
A Dokku toolbelt inspired by the Heroku toolbelt
Installation
gem install dokkufy
Basic usage
Want to build your own Heroku? Dokku and Dokkufy make this possible.
- Spin up a Ubuntu 12.04 or 14.04 server
- Dokkufy your server using
dokkufy server
- Change directories to your app
- Dokkufy your app
dokkufy app
- Deploy your app
git push dokku master
- Control your app using the
dokku
command (see dokku help
for available commands)
Commands
Most commands take their parameters as command line arguments or through an interactive prompt.
dokkufy <command>
help shows this list
server installs Dokku on a Ubuntu 12.04 or 14.04 server
server:upgrade upgrades a Dokku server
plugin:list shows a list of Dokku plugins
plugin:install installs a plugin on the server
plugin:uninstall uninstalls a plugin on the server
app adds a dokku remote for a server to an app
app:clear removes a dokku remote for a server for an app
dokku <command> runs dokku commands on the server attached to this app
dokkufy server
dokkufy server <hostname> <username> <domain> --version <version>
Installs Dokku on server at IP or Hostname <hostname>
, using the <username>
account to install the software.
It also sets up the app on domain <domain>
, resulting in all apps being served as a subdomain of that domain.
Optionally this takes a <version>
to specify the Dokku tag.
dokkufy plugin:list
dokkufy plugin:list
Lists all plugins as listed on the Dokku wiki. Only supports plugins that follow the standard install procedure.
dokkufy plugin:install
dokkufy plugin:install <plugin_name_or_id> [<hostname> <username>]
Installs a Dokku plugin either by name or ID (as received by dokkufy plugin:list
) on a server. Only supports the standard install procedure. Check the plugins wiki for any additional install notes.
dokkufy plugin:uninstall
dokkufy plugin:uninstall <plugin_name_or_id> [<hostname> <username>]
Uninstalls a Dokku plugin either by name or ID (as received by dokkufy plugin:list
) on a server. Simply performs a delete of the folder. Server instances already deployed with this plugin will need to be redeployed.
dokkufy app
dokkufy app <git_repo> [OR <hostname> <dokku_username>]
Adds a dokku remote to the local git repository for an app. Also writes this remote to a .dokkurc
file.
dokkufy app:clear
dokkufy app:clear
Removes any dokku
remotes for the local git repository and deletes the .dokkurc
file.
dokku
dokku <command>
Runs the command on the Dokku server attached to this app. Intelligently determines the remote address if the app has been dokkufied, and automatically adds the app name where needed.
Some examples:
dokku help
dokku run ls
Every dokku
command translates to an auto generated ssh call. The <app_name>
is automatically added if the response returns a "App not found".
Some examples
cat .dokkurc
$ dokku@example.com:test_app
dokku help
$ ssh -t dokku@example.com help
dokku run ls
$ ssh -t dokku@example.com run test_app ls
Release notes
- 0.1.6 Locking dependencies down further
- 0.1.5 Using classic style commander
- 0.1.4 Checks for SSH key before installing on server
- 0.1.3 Applies double install fix on 14.04
- 0.1.0 Adds the
dokku
command - 0.0.7 Adds the (un)dokkufication of apps
- 0.0.6 Adds plugin uninstall
- 0.0.5 Small bug fix to plugin installs
- 0.0.4 Adds plugin listing and installing
- 0.0.3 Determines latest version from Dokku github page
- 0.0.2 Added
server
command - 0.0.1 Gem skeleton
Contributing
- Fork it
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create new Pull Request
License
See LICENSE