New command: dokku delete <app>

Two new hooks are implemented:

- pre-delete $APP
- post-delete $APP

The following are implemented in the `post-delete` hook:

- `$APP` directory deletion (00_dokku-standard)
- nginx reload (nginx-vhosts)

The following command can be executed by either the `dokku` or `git` user as `sudo`:

    sudo /etc/init.d/nginx reload

Refs #124
Closes #186
This commit is contained in:
Jose Diaz-Gonzalez
2013-10-25 03:17:59 -04:00
parent bcfaefa896
commit 01d57ef0dc
6 changed files with 32 additions and 12 deletions

View File

@@ -3,8 +3,10 @@
#
Alexander <iam.asm89@gmail.com>
Alexander Beletsky <alexander.beletsky@gmail.com>
Alexis Gavoty <kload@kload.fr>
Felipe Coury <felipe.coury@gmail.com>
Jeff Lindsay <progrium@gmail.com>
Jose Diaz-Gonzalez <dokku@josediazgonzalez.com>
Leo Unbekandt <leo@unbekandt.eu>
Luigi Maselli <grigio.org@gmail.com>
Martin Weiss <kornnflake@gmail.com>

View File

@@ -67,18 +67,9 @@ https://github.com/progrium/dokku/wiki/Plugins
## Removing a deployed app
Currently this is a manual process.
SSH onto the server, then execute:
To remove an app, ssh to the server, then run:
$ sudo docker ps
# Then from the list, take repository name of your app and run:
$ sudo docker stop app/node-js-sample
# To find the ids of images to delete, run:
$ sudo docker images
# Then from that list, take the IDs corresponding to your app, and
# those corresponding to no tag at all, and for each run:
$ sudo docker rmi 123456789
$ dokku delete myapp
## Environment setup

View File

@@ -1,5 +1,26 @@
#!/bin/bash
set -e; case "$1" in
delete)
if [[ -z $2 ]]; then
echo "Please specify an app to delete"
exit 1
fi
APP="$2"; IMAGE="app/$APP";
if [[ ! -d "/home/git/$APP" ]]; then
echo "App does not exist"
exit 1
fi
pluginhook pre-delete $APP
ID=$(< "/home/git/$APP/CONTAINER")
docker stop $ID > /dev/null
docker images | grep $IMAGE | awk '{print $3}' | xargs docker rmi &> /dev/null &
docker rm $ID > /dev/null
pluginhook post-delete $APP
;;
logs)
CONTAINER=$(</home/git/$2/CONTAINER)
docker logs $CONTAINER | tail -n 100
@@ -33,6 +54,7 @@ set -e; case "$1" in
help)
cat && cat<<EOF
delete <app> Delete an application
logs <app> Show the last logs for an application
run <app> <cmd> Run a command in the environment of an application
url <app> Show the URL for an application

View File

@@ -17,4 +17,3 @@ script
sudo -i -u git /usr/local/bin/dokku deploy:all
end script
EOF

View File

@@ -0,0 +1,3 @@
#!/bin/bash
set -e
[[ -n $1 ]] && rm -r "/home/git/$1" > /dev/null

View File

@@ -0,0 +1,3 @@
#!/bin/bash
set -e
sudo /etc/init.d/nginx reload > /dev/null