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

https://github.com/baikunz/dokku-post-deploy-script

Execute script on your dokku host after a deployment
https://github.com/baikunz/dokku-post-deploy-script

Last synced: about 1 month ago
JSON representation

Execute script on your dokku host after a deployment

Awesome Lists containing this project

README

        

# dokku-post-deploy-script

Dokku plugin to execute scripts on dokku host after a deploy

## requirements

- dokku 0.4.0+

## installation

```shell
# on 0.4.x
dokku plugin:install https://github.com/baikunz/dokku-post-deploy-script.git post-deploy-script
```

## hooks

This plugin provides hooks:

* `post-deploy`: Execute script on dokku host after deploy

## usage
This plugin allows you to execute on your host a script which reside in the `$DOKKU_ROOT/$APP/` after a deploy.

The file must be named `POST_DEPLOY_SCRIPT`.

## example

Two dokku apps need to communicate with each other. In order to do so we have to create a common network and attach both of our apps that common network.

However, after every deploy, the newly created container won't be reattached automatically, and you'll have to do that manually, or using this plugin you can create in both of those apps a `POST_DEPLOY_SCRIPT` that will do that for you.

In `$DOKKU_ROOT/firstapp/POST_DEPLOY_SCRIPT` for the first app

```shell
#!/bin/bash
NETWORK_NAME='common-network'

# Create network if it does not exists
NETWORK=$(docker network ls -q -f name="$NETWORK_NAME")
[[ -z "$NETWORK" ]] && docker network create "$NETWORK_NAME"

# Connect to the network
docker network connect "$NETWORK_NAME" firstapp.web.1
```

In `$DOKKU_ROOT/secondapp/POST_DEPLOY_SCRIPT` for the second app

```shell
#!/bin/bash
NETWORK_NAME='common-network'

# Create network if it does not exists
NETWORK=$(docker network ls -q -f name="$NETWORK_NAME")
[[ -z "$NETWORK" ]] && docker network create "$NETWORK_NAME"

# Connect to the network
docker network connect "$NETWORK_NAME" secondapp.web.1
```