From 3687e57c0472fcc07ac21602bcfd6a7c277f39fa Mon Sep 17 00:00:00 2001 From: jd Date: Fri, 21 Mar 2014 15:07:35 +0100 Subject: [PATCH 1/3] change user from git to dokku --- commands | 32 ++++++++++++++++---------------- pre-release | 2 +- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/commands b/commands index cf899cb..3167df1 100755 --- a/commands +++ b/commands @@ -9,7 +9,7 @@ if [[ $1 == mysql:* ]]; then else APP="$2" # Check if app exists with the same name - if [[ -d "/home/git/$APP" ]]; then + if [[ -d "/home/dokku/$APP" ]]; then APP_EXISTS=true else APP_EXISTS=false @@ -39,12 +39,12 @@ case "$1" in # DB_NAME=$(echo "www.atomic24.com" | sed -e 's/\.//g') # DB_USER='user'$RANDOM # Temporarily store it to a file - if [[ ! -d /home/git/.mysql ]]; then - mkdir -p /home/git/.mysql - chown -R git: /home/git/.mysql + if [[ ! -d /home/dokku/.mysql ]]; then + mkdir -p /home/dokku/.mysql + chown -R dokku: /home/dokku/.mysql fi - echo $DB_PASS > "/home/git/.mysql/pwd_$APP" - chown git: "/home/git/.mysql/pwd_$APP" + echo $DB_PASS > "/home/dokku/.mysql/pwd_$APP" + chown dokku: "/home/dokku/.mysql/pwd_$APP" fi # Fork DB image ID=$(docker run -d hughfletcher/mysql exit 0) @@ -103,8 +103,8 @@ case "$1" in echo echo " Host: $IP" echo " User: 'admin'" - if [[ -f "/home/git/.mysql/pwd_$APP" ]]; then - echo " Password: '$(cat "/home/git/.mysql/pwd_$APP")'" + if [[ -f "/home/dokku/.mysql/pwd_$APP" ]]; then + echo " Password: '$(cat "/home/dokku/.mysql/pwd_$APP")'" fi echo " Database: 'db'" # echo " Public port: $PORT" @@ -121,28 +121,28 @@ case "$1" in fi DB_IMAGE="mysql/$3" # Check temporarily file - if [[ ! -f "/home/git/.mysql/pwd_$APP" ]]; then + if [[ ! -f "/home/dokku/.mysql/pwd_$APP" ]]; then echo "Database is already linked" exit 1 fi - DB_PASSWORD=$(cat "/home/git/.mysql/pwd_$APP") + DB_PASSWORD=$(cat "/home/dokku/.mysql/pwd_$APP") ID=$(docker ps -a | grep "$DB_IMAGE":latest | awk '{print $1}') IP=$(docker inspect $ID | grep IPAddress | awk '{ print $2 }' | tr -d ',"') # Write database connection vars to app's ENV file # I know there has to be a more eloquent method of doing this... HOST="DB_HOST=$IP" - cat "/home/git/$APP/ENV" | grep "$HOST" || echo "export $HOST" >> "/home/git/$APP/ENV" + cat "/home/dokku/$APP/ENV" | grep "$HOST" || echo "export $HOST" >> "/home/dokku/$APP/ENV" USER="DB_USER=admin" - cat "/home/git/$APP/ENV" | grep "$USER" || echo "export $USER" >> "/home/git/$APP/ENV" + cat "/home/dokku/$APP/ENV" | grep "$USER" || echo "export $USER" >> "/home/dokku/$APP/ENV" PASS="DB_PASS=$DB_PASSWORD" - cat "/home/git/$APP/ENV" | grep "$PASS" || echo "export $PASS" >> "/home/git/$APP/ENV" + cat "/home/dokku/$APP/ENV" | grep "$PASS" || echo "export $PASS" >> "/home/dokku/$APP/ENV" NAME="DB_NAME=db" - cat "/home/git/$APP/ENV" | grep "$NAME" || echo "export $NAME" >> "/home/git/$APP/ENV" + cat "/home/dokku/$APP/ENV" | grep "$NAME" || echo "export $NAME" >> "/home/dokku/$APP/ENV" PORT="DB_PORT=3306" - cat "/home/git/$APP/ENV" | grep "$PORT" || echo "export $PORT" >> "/home/git/$APP/ENV" + cat "/home/dokku/$APP/ENV" | grep "$PORT" || echo "export $PORT" >> "/home/dokku/$APP/ENV" echo echo "-----> $APP linked to $DB_IMAGE database" - rm "/home/git/.mysql/pwd_$APP" + rm "/home/dokku/.mysql/pwd_$APP" fi ;; diff --git a/pre-release b/pre-release index 236320e..8855d3d 100755 --- a/pre-release +++ b/pre-release @@ -1,6 +1,6 @@ #!/bin/bash APP="$1"; IMAGE="app/$APP"; -if [[ -f "/home/git/.mysql/pwd_$APP" ]]; then +if [[ -f "/home/dokku/.mysql/pwd_$APP" ]]; then dokku mysql:link $APP $APP fi From e9b88c1ced467a629da14f49ed63f491eca5719e Mon Sep 17 00:00:00 2001 From: jd Date: Fri, 21 Mar 2014 17:39:18 +0100 Subject: [PATCH 2/3] update docker volume path --- commands | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/commands b/commands index 3167df1..654b892 100755 --- a/commands +++ b/commands @@ -1,5 +1,7 @@ #!/bin/bash -set -e; +set -e; + +DOKKU_ROOT=/home/dokku # Check if name is specified if [[ $1 == mysql:* ]]; then @@ -62,7 +64,11 @@ case "$1" in # docker run mysql/create mysql -h $IP -u admin -p'newpass' -e "RENAME USER admin@'%' TO $DB_USER@'%';" # Rename persistent volume - VOLUME_PATH=$(docker inspect $ID | grep "/var/lib/docker/volumes/" | awk '{print $2}' | sed -e"s/\/layer//" | sed -e's/"//g') + VOLUME_PATH=$(docker inspect $ID | grep "/var/lib/docker/vfs/dir/" | awk '{print $2}' | sed -e's/"//g') + if [[ -z $VOLUME_PATH ]]; then + echo "Your docker version is too old, please update it" + exit 1 + fi mv $VOLUME_PATH "/var/lib/docker/volumes/mysql-$APP" sleep 1 fi From 900f7fbaf3a52f5cd93c5f69962c3e433ed641fd Mon Sep 17 00:00:00 2001 From: jd Date: Fri, 21 Mar 2014 17:45:06 +0100 Subject: [PATCH 3/3] dokkuroot variable --- commands | 34 ++++++++++++++++------------------ pre-release | 2 +- 2 files changed, 17 insertions(+), 19 deletions(-) diff --git a/commands b/commands index 654b892..328fe08 100755 --- a/commands +++ b/commands @@ -1,8 +1,6 @@ #!/bin/bash set -e; -DOKKU_ROOT=/home/dokku - # Check if name is specified if [[ $1 == mysql:* ]]; then if [[ -z $2 ]]; then @@ -11,7 +9,7 @@ if [[ $1 == mysql:* ]]; then else APP="$2" # Check if app exists with the same name - if [[ -d "/home/dokku/$APP" ]]; then + if [[ -d "$DOKKU_ROOT/$APP" ]]; then APP_EXISTS=true else APP_EXISTS=false @@ -41,12 +39,12 @@ case "$1" in # DB_NAME=$(echo "www.atomic24.com" | sed -e 's/\.//g') # DB_USER='user'$RANDOM # Temporarily store it to a file - if [[ ! -d /home/dokku/.mysql ]]; then - mkdir -p /home/dokku/.mysql - chown -R dokku: /home/dokku/.mysql + if [[ ! -d $DOKKU_ROOT/.mysql ]]; then + mkdir -p $DOKKU_ROOT/.mysql + chown -R dokku: $DOKKU_ROOT/.mysql fi - echo $DB_PASS > "/home/dokku/.mysql/pwd_$APP" - chown dokku: "/home/dokku/.mysql/pwd_$APP" + echo $DB_PASS > "$DOKKU_ROOT/.mysql/pwd_$APP" + chown dokku: "$DOKKU_ROOT/.mysql/pwd_$APP" fi # Fork DB image ID=$(docker run -d hughfletcher/mysql exit 0) @@ -109,8 +107,8 @@ case "$1" in echo echo " Host: $IP" echo " User: 'admin'" - if [[ -f "/home/dokku/.mysql/pwd_$APP" ]]; then - echo " Password: '$(cat "/home/dokku/.mysql/pwd_$APP")'" + if [[ -f "$DOKKU_ROOT/.mysql/pwd_$APP" ]]; then + echo " Password: '$(cat "$DOKKU_ROOT/.mysql/pwd_$APP")'" fi echo " Database: 'db'" # echo " Public port: $PORT" @@ -127,28 +125,28 @@ case "$1" in fi DB_IMAGE="mysql/$3" # Check temporarily file - if [[ ! -f "/home/dokku/.mysql/pwd_$APP" ]]; then + if [[ ! -f "$DOKKU_ROOT/.mysql/pwd_$APP" ]]; then echo "Database is already linked" exit 1 fi - DB_PASSWORD=$(cat "/home/dokku/.mysql/pwd_$APP") + DB_PASSWORD=$(cat "$DOKKU_ROOT/.mysql/pwd_$APP") ID=$(docker ps -a | grep "$DB_IMAGE":latest | awk '{print $1}') IP=$(docker inspect $ID | grep IPAddress | awk '{ print $2 }' | tr -d ',"') # Write database connection vars to app's ENV file # I know there has to be a more eloquent method of doing this... HOST="DB_HOST=$IP" - cat "/home/dokku/$APP/ENV" | grep "$HOST" || echo "export $HOST" >> "/home/dokku/$APP/ENV" + cat "$DOKKU_ROOT/$APP/ENV" | grep "$HOST" || echo "export $HOST" >> "$DOKKU_ROOT/$APP/ENV" USER="DB_USER=admin" - cat "/home/dokku/$APP/ENV" | grep "$USER" || echo "export $USER" >> "/home/dokku/$APP/ENV" + cat "$DOKKU_ROOT/$APP/ENV" | grep "$USER" || echo "export $USER" >> "$DOKKU_ROOT/$APP/ENV" PASS="DB_PASS=$DB_PASSWORD" - cat "/home/dokku/$APP/ENV" | grep "$PASS" || echo "export $PASS" >> "/home/dokku/$APP/ENV" + cat "$DOKKU_ROOT/$APP/ENV" | grep "$PASS" || echo "export $PASS" >> "$DOKKU_ROOT/$APP/ENV" NAME="DB_NAME=db" - cat "/home/dokku/$APP/ENV" | grep "$NAME" || echo "export $NAME" >> "/home/dokku/$APP/ENV" + cat "$DOKKU_ROOT/$APP/ENV" | grep "$NAME" || echo "export $NAME" >> "$DOKKU_ROOT/$APP/ENV" PORT="DB_PORT=3306" - cat "/home/dokku/$APP/ENV" | grep "$PORT" || echo "export $PORT" >> "/home/dokku/$APP/ENV" + cat "$DOKKU_ROOT/$APP/ENV" | grep "$PORT" || echo "export $PORT" >> "$DOKKU_ROOT/$APP/ENV" echo echo "-----> $APP linked to $DB_IMAGE database" - rm "/home/dokku/.mysql/pwd_$APP" + rm "$DOKKU_ROOT/.mysql/pwd_$APP" fi ;; diff --git a/pre-release b/pre-release index 8855d3d..f3d99d2 100755 --- a/pre-release +++ b/pre-release @@ -1,6 +1,6 @@ #!/bin/bash APP="$1"; IMAGE="app/$APP"; -if [[ -f "/home/dokku/.mysql/pwd_$APP" ]]; then +if [[ -f "$DOKKU_ROOT/.mysql/pwd_$APP" ]]; then dokku mysql:link $APP $APP fi