cbetta / dokkufy

Dokku Provisioning Made Easy
MIT License
233 stars 15 forks source link

Dokkufy

Gem Version Code Climate

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.

  1. Spin up a Ubuntu 12.04 or 14.04 server
  2. Dokkufy your server using dokkufy server
  3. Change directories to your app
  4. Dokkufy your app dokkufy app
  5. Deploy your app git push dokku master

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

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.

Release notes

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

License

See LICENSE