An open API service indexing awesome lists of open source software.

https://github.com/cbetta/dokkufy

Dokku Provisioning Made Easy
https://github.com/cbetta/dokkufy

Last synced: about 1 year ago
JSON representation

Dokku Provisioning Made Easy

Awesome Lists containing this project

README

          

# Dokkufy

[![Gem Version](https://badge.fury.io/rb/dokkufy.svg)](http://badge.fury.io/rb/dokkufy) [![Code Climate](https://codeclimate.com/github/cbetta/dokkufy/badges/gpa.svg)](https://codeclimate.com/github/cbetta/dokkufy) ![](http://ruby-gem-downloads-badge.herokuapp.com/dokkufy?type=total)

A [Dokku](https://github.com/progrium/dokku) toolbelt inspired by the [Heroku toolbelt](https://toolbelt.heroku.com/)

## 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
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

```sh
dokkufy server --version
```

Installs Dokku on server at IP or Hostname ``, using the `` account to install the software.

It also sets up the app on domain ``, resulting in all apps being served as a subdomain of that domain.

Optionally this takes a `` to specify the [Dokku tag](https://github.com/progrium/dokku/tags).

### dokkufy plugin:list

```sh
dokkufy plugin:list
```

Lists all plugins as listed on the [Dokku wiki](http://progrium.viewdocs.io/dokku/plugins/). Only supports plugins that follow the standard install procedure.

### dokkufy plugin:install

```sh
dokkufy plugin:install [ ]
```

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

```sh
dokkufy plugin:uninstall [ ]
```

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

```sh
dokkufy app [OR ]
```

Adds a dokku remote to the local git repository for an app. Also writes this remote to a `.dokkurc` file.

### dokkufy app:clear

```sh
dokkufy app:clear
```

Removes any `dokku` remotes for the local git repository and deletes the `.dokkurc` file.

## Release notes

* **0.2.1** Updated the Plugin URL
* **0.2.0** Dropped Toolchain functionality in favor of other tools
* **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

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](https://github.com/cbetta/dokkufy/blob/master/LICENSE)