Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix commands, the easy way. #344

Merged
4 commits merged into from
Nov 22, 2013
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 9 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,15 @@ You're done!
Right now Buildstep supports buildpacks for Node.js, Ruby, Python, [and more](https://github.com/progrium/buildstep#supported-buildpacks). It's not hard to add more, [go add more](https://github.com/progrium/buildstep#adding-buildpacks)!
Please check the documentation for your particular build pack as you may need to include configuration files (such as a Procfile) in your project root.

## Remote commands

Dokku commands can be run over ssh. Anywhere you would run `dokku <command>`, just run `ssh -t dokku@progriumapp.com <command>`
The `-t` is used to request a pty. It is highly recommended to do so.
To avoid the need to type the `-t` option each time, simply create/modify a section in the `.ssh/config`, on the client side, as follows :

Host progriumapp.com
RequestTTY yes

## Run a command in the app environment

It's possible to run commands in the environment of the deployed application:
Expand Down Expand Up @@ -119,13 +128,6 @@ eventually replace the Docker image for buildstep.

You can use [Github Issues](https://github.com/progrium/dokku/issues), check [Troubleshooting](https://github.com/progrium/dokku/wiki/Troubleshooting) on the wiki, or join us on Freenode in #dokku

## Known Issues

The issues are known and should be fixed soon :

* #236: "dokku run" cannot run interactive commands over ssh
* #272: Most commands hang at the end over ssh. CTRL-D is required to end them. As a workaround for now, run ssh using the `-t` flag.

## Components

* [Docker](https://github.com/dotcloud/docker) - Container runtime and manager
Expand Down
4 changes: 3 additions & 1 deletion dokku
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,9 @@ EOF
;;

*)
pluginhook commands "$@"
for script in $(ls -d /var/lib/dokku/plugins/*/commands); do
$script "$@"
done
;;

esac
4 changes: 2 additions & 2 deletions plugins/00_dokku-standard/commands
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ case "$1" in
exit 1
fi
shift 2
docker run -i -t -a stdout -a stderr $IMAGE /exec "$@"
docker run -i -t $IMAGE /exec "$@"
;;

url)
Expand Down Expand Up @@ -84,4 +84,4 @@ EOF
;;

esac
cat

4 changes: 2 additions & 2 deletions plugins/backup/commands
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ set -e; case "$1" in
BACKUP_TMP_DIR=$(mktemp -d)
BACKUP_TMP_FILE="$BACKUP_TMP_DIR/backup.tar"

pluginhook backup-export 1 $BACKUP_DIR | tar -cf $BACKUP_TMP_FILE --files-from -
: | pluginhook backup-export 1 $BACKUP_DIR | tar -cf $BACKUP_TMP_FILE --files-from -

pushd $BACKUP_DIR > /dev/null
ls -d */ | grep -oE '[^/]+' > "$BACKUP_TMP_DIR/.dokku_backup_apps"
Expand Down Expand Up @@ -75,4 +75,4 @@ EOF
;;

esac
cat

2 changes: 1 addition & 1 deletion plugins/config/commands
Original file line number Diff line number Diff line change
Expand Up @@ -173,4 +173,4 @@ EOF
;;

esac
cat

4 changes: 3 additions & 1 deletion plugins/git/commands
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ EOF
git-shell -c "$args"
;;

help)
cat
;;
esac
cat

1 change: 0 additions & 1 deletion plugins/nginx-vhosts/commands
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
cat
1 change: 1 addition & 0 deletions tests/run_vagrant
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ if [[ ! $(cat ~/.ssh/config 2>/dev/null | grep dokku.me) ]]; then
touch ~/.ssh/config
echo "Host dokku.me" >> ~/.ssh/config
echo " Port $VAGRANT_SSH_PORT" >> ~/.ssh/config
echo " RequestTTY yes" >> ~/.ssh/config
fi
echo "-----> Ensuring Vagrant is running..."
cd "$(dirname $SELF)/.." && vagrant up | indent
Expand Down