[PATCH 1/4] docker: Move 'docker' directory to 'tools'

Daniel Axtens dja at axtens.net
Sun Aug 28 14:00:19 AEST 2016


Stephen Finucane <stephenfinucane at hotmail.com> writes:

> ...like the Vagrant scripts (which have been renamed also).
>
> Signed-off-by: Stephen Finucane <stephenfinucane at hotmail.com>

Looks good to me. I haven't checked it because it doesn't apply cleanly
for me, but I like the idea. I don't know if I'm quite in the position
to formally give it an Acked-by yet, but I'm happy to give it a +1 :)

Regards,
Daniel

> ---
>  .dockerignore                 |  2 +-
>  Vagrantfile                   |  2 +-
>  docker-compose.yml            |  6 +--
>  docker/Dockerfile             | 46 -----------------------
>  docker/bashrc                 |  5 ---
>  docker/db/.dockerignore       |  1 -
>  docker/db/.gitignore          |  1 -
>  docker/db/Dockerfile          | 10 -----
>  docker/entrypoint.sh          | 86 -------------------------------------------
>  tools/docker/Dockerfile       | 46 +++++++++++++++++++++++
>  tools/docker/bashrc           |  5 +++
>  tools/docker/db/.dockerignore |  1 +
>  tools/docker/db/.gitignore    |  1 +
>  tools/docker/db/Dockerfile    | 10 +++++
>  tools/docker/entrypoint.sh    | 86 +++++++++++++++++++++++++++++++++++++++++++
>  tools/install/install.sh      | 75 -------------------------------------
>  tools/vagrant/install.sh      | 75 +++++++++++++++++++++++++++++++++++++
>  17 files changed, 229 insertions(+), 229 deletions(-)
>  delete mode 100644 docker/Dockerfile
>  delete mode 100644 docker/bashrc
>  delete mode 100644 docker/db/.dockerignore
>  delete mode 100644 docker/db/.gitignore
>  delete mode 100644 docker/db/Dockerfile
>  delete mode 100755 docker/entrypoint.sh
>  create mode 100644 tools/docker/Dockerfile
>  create mode 100644 tools/docker/bashrc
>  create mode 100644 tools/docker/db/.dockerignore
>  create mode 100644 tools/docker/db/.gitignore
>  create mode 100644 tools/docker/db/Dockerfile
>  create mode 100755 tools/docker/entrypoint.sh
>  delete mode 100644 tools/install/install.sh
>  create mode 100644 tools/vagrant/install.sh
>
> diff --git a/.dockerignore b/.dockerignore
> index 24473bb..83cfa98 100644
> --- a/.dockerignore
> +++ b/.dockerignore
> @@ -1,3 +1,3 @@
>  .vagrant
> -docker/db
> +tools/docker/db
>  
> diff --git a/Vagrantfile b/Vagrantfile
> index b316d41..2ddbca0 100644
> --- a/Vagrantfile
> +++ b/Vagrantfile
> @@ -22,5 +22,5 @@ Vagrant.configure(2) do |config|
>    #   vb.memory = "1024"
>    # end
>  
> -  config.vm.provision :shell, :path => "tools/install/install.sh"
> +  config.vm.provision :shell, :path => "tools/vagrant/install.sh"
>  end
> diff --git a/docker-compose.yml b/docker-compose.yml
> index 881a72a..7db3486 100644
> --- a/docker-compose.yml
> +++ b/docker-compose.yml
> @@ -5,12 +5,12 @@
>  # or upgrade to v2 and use the build-arg to override it.
>  
>  db:
> -  build: docker/db
> +  build: tools/docker/db
>    volumes:
> -   - ./docker/db/data:/var/lib/mysql
> +   - ./tools/docker/db/data:/var/lib/mysql
>  web:
>    build: .
> -  dockerfile: ./docker/Dockerfile
> +  dockerfile: ./tools/docker/Dockerfile
>    command: python3 manage.py runserver 0.0.0.0:8000
>    volumes:
>      - .:/home/patchwork/patchwork/
> diff --git a/docker/Dockerfile b/docker/Dockerfile
> deleted file mode 100644
> index ea2a8fc..0000000
> --- a/docker/Dockerfile
> +++ /dev/null
> @@ -1,46 +0,0 @@
> -FROM ubuntu
> -
> -ARG UID=1000
> -
> -ENV PROJECT_HOME /home/patchwork/patchwork
> -
> -ENV db_user root
> -ENV db_pass password
> -
> -ENV DJANGO_SETTINGS_MODULE patchwork.settings.dev
> -ENV DEBIAN_FRONTEND noninteractive
> -ENV PYTHONUNBUFFERED 1
> -
> -# System
> -RUN apt-get update -qq && \
> -    apt-get install -y --no-install-recommends \
> -    python-dev python-pip python-setuptools python-wheel \
> -    python3-dev python3-pip python3-setuptools python3-wheel \
> -    libmysqlclient-dev mysql-client curl unzip xvfb chromium-chromedriver \
> -    chromium-browser build-essential && \
> -    ln -s /usr/lib/chromium-browser/chromedriver /usr/bin/
> -
> -# User
> -RUN useradd --uid=$UID --create-home patchwork
> -
> -# Python requirements.
> -# If you update requirements, you should rebuild the container.
> -# entrypoint.sh will prompt you to do this.
> -COPY requirements-*.txt /tmp/
> -RUN pip3  install virtualenv tox && \
> -    pip3  install -r /tmp/requirements-dev.txt
> -# we deliberately leave the requirements files in tmp so we can
> -# ping the user in entrypoint.sh if the change them!
> -
> -COPY docker/bashrc /tmp/bashrc
> -
> -# we put the code in ~/patchwork rather than ~ so that we
> -# can put in these bashrc snippets without dirtying the
> -# working directory
> -RUN cat /tmp/bashrc >> /home/patchwork/.bashrc
> -
> -COPY docker/entrypoint.sh /usr/local/bin/entrypoint.sh
> -
> -ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
> -USER patchwork
> -WORKDIR /home/patchwork/patchwork
> diff --git a/docker/bashrc b/docker/bashrc
> deleted file mode 100644
> index eb2ed7d..0000000
> --- a/docker/bashrc
> +++ /dev/null
> @@ -1,5 +0,0 @@
> -# This snippet is appended to ~/.bashrc when the container is created
> -
> -alias runserver='python3 $PROJECT_HOME/manage.py runserver 0.0.0.0:8000'
> -alias createsu='python3 $PROJECT_HOME/manage.py createsuperuser'
> -
> diff --git a/docker/db/.dockerignore b/docker/db/.dockerignore
> deleted file mode 100644
> index 1269488..0000000
> --- a/docker/db/.dockerignore
> +++ /dev/null
> @@ -1 +0,0 @@
> -data
> diff --git a/docker/db/.gitignore b/docker/db/.gitignore
> deleted file mode 100644
> index 60baa9c..0000000
> --- a/docker/db/.gitignore
> +++ /dev/null
> @@ -1 +0,0 @@
> -data/*
> diff --git a/docker/db/Dockerfile b/docker/db/Dockerfile
> deleted file mode 100644
> index 5df9b5a..0000000
> --- a/docker/db/Dockerfile
> +++ /dev/null
> @@ -1,10 +0,0 @@
> -FROM mysql:5.7
> -
> -ENV MYSQL_ROOT_PASSWORD password
> -ENV MYSQL_USER patchwork
> -ENV MYSQL_PASSWORD password
> -
> -# We don't want to use the MYSQL_DATABASE env here because
> -# we want to be able to create the database with UTF-8 explictly.
> -# We also can't load in the data because it's in XML, yay.
> -
> diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh
> deleted file mode 100755
> index 8efaada..0000000
> --- a/docker/entrypoint.sh
> +++ /dev/null
> @@ -1,86 +0,0 @@
> -#!/bin/bash
> -set -euo pipefail
> -
> -# functions
> -
> -test_db_connection() {
> -    mysqladmin -h $PW_TEST_DB_HOST -u patchwork --password=password ping > /dev/null 2> /dev/null
> -}
> -
> -reset_data() {
> -    mysql -u$db_user -p$db_pass -h $PW_TEST_DB_HOST << EOF
> -DROP DATABASE IF EXISTS patchwork;
> -CREATE DATABASE patchwork CHARACTER SET utf8;
> -GRANT ALL ON patchwork.* TO 'patchwork' IDENTIFIED BY 'password';
> -GRANT ALL PRIVILEGES ON test_patchwork.* TO 'patchwork'@'%';
> -FLUSH PRIVILEGES;
> -EOF
> -
> -    # load initial data
> -    python3 $PROJECT_HOME/manage.py migrate #> /dev/null
> -    python3 $PROJECT_HOME/manage.py loaddata default_tags #> /dev/null
> -    python3 $PROJECT_HOME/manage.py loaddata default_states #> /dev/null
> -    python3 $PROJECT_HOME/manage.py loaddata default_projects #> /dev/null
> -}
> -
> -# the script begins!
> -
> -# check if patchwork is mounted. Checking if we exist is a
> -# very good start!
> -if [ ! -f ~patchwork/patchwork/docker/entrypoint.sh ]; then
> -    echo "The patchwork directory doesn't seem to be mounted!"
> -    echo "Are you using docker-compose?"
> -    echo "If not, you need -v PATH_TO_PATCHWORK:/home/patchwork/patchwork"
> -    exit 1
> -fi
> -
> -# check if we need to rebuild because requirements changed
> -for x in /tmp/requirements-*.txt; do
> -    if ! cmp $x ~/patchwork/$(basename $x); then
> -        echo "A requirements file has changed."
> -        echo "Please rebuild the patchwork image:"
> -        echo "    docker-compose build web"
> -        exit 1
> -    fi
> -done
> -
> -# check if mysql is connected
> -if ! test_db_connection; then
> -    echo "MySQL seems not to be connected, or the patchwork user is broken"
> -    echo "MySQL may still be starting. Waiting 5 seconds."
> -    sleep 5
> -    if ! test_db_connection; then
> -        echo "Still cannot connect to MySQL."
> -        echo "Maybe you are starting the db for the first time. Waiting 15 seconds."
> -        sleep 15
> -        if ! test_db_connection; then
> -            echo "Still cannot connect to MySQL. Giving up."
> -            echo "Are you using docker-compose? If not, have you set up the link correctly?"
> -            exit 1
> -        fi
> -    fi
> -fi
> -
> -# rebuild mysql db
> -# do this on --reset or if the db doesn't exist
> -if [[ "$1" == "--reset" ]]; then
> -    shift
> -    reset_data
> -elif ! ( echo ';' | mysql -h db -u patchwork -ppassword patchwork 2> /dev/null ); then
> -    reset_data
> -fi
> -
> -if [ $# -eq 0 ]; then
> -    # we probably ran with --reset and nothing else
> -    # just exit cleanly
> -    exit 0
> -elif [ "$1" == "--shell" ]; then
> -    exec bash
> -elif [ "$1" == "--quick-test" ]; then
> -    export PW_SKIP_BROWSER_TESTS=yes
> -    python3 manage.py test
> -elif [ "$1" == "--test" ]; then
> -    xvfb-run --server-args='-screen 0, 1024x768x16' python3 manage.py test
> -else # run whatever CMD is set to
> -    $@
> -fi
> diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile
> new file mode 100644
> index 0000000..99a03bd
> --- /dev/null
> +++ b/tools/docker/Dockerfile
> @@ -0,0 +1,46 @@
> +FROM ubuntu
> +
> +ARG UID=1000
> +
> +ENV PROJECT_HOME /home/patchwork/patchwork
> +
> +ENV db_user root
> +ENV db_pass password
> +
> +ENV DJANGO_SETTINGS_MODULE patchwork.settings.dev
> +ENV DEBIAN_FRONTEND noninteractive
> +ENV PYTHONUNBUFFERED 1
> +
> +# System
> +RUN apt-get update -qq && \
> +    apt-get install -y --no-install-recommends \
> +    python-dev python-pip python-setuptools python-wheel \
> +    python3-dev python3-pip python3-setuptools python3-wheel \
> +    libmysqlclient-dev mysql-client curl unzip xvfb chromium-chromedriver \
> +    chromium-browser build-essential && \
> +    ln -s /usr/lib/chromium-browser/chromedriver /usr/bin/
> +
> +# User
> +RUN useradd --uid=$UID --create-home patchwork
> +
> +# Python requirements.
> +# If you update requirements, you should rebuild the container.
> +# entrypoint.sh will prompt you to do this.
> +COPY requirements-*.txt /tmp/
> +RUN pip3  install virtualenv tox && \
> +    pip3  install -r /tmp/requirements-dev.txt
> +# we deliberately leave the requirements files in tmp so we can
> +# ping the user in entrypoint.sh if the change them!
> +
> +COPY tools/docker/bashrc /tmp/bashrc
> +
> +# we put the code in ~/patchwork rather than ~ so that we
> +# can put in these bashrc snippets without dirtying the
> +# working directory
> +RUN cat /tmp/bashrc >> /home/patchwork/.bashrc
> +
> +COPY tools/docker/entrypoint.sh /usr/local/bin/entrypoint.sh
> +
> +ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
> +USER patchwork
> +WORKDIR /home/patchwork/patchwork
> diff --git a/tools/docker/bashrc b/tools/docker/bashrc
> new file mode 100644
> index 0000000..eb2ed7d
> --- /dev/null
> +++ b/tools/docker/bashrc
> @@ -0,0 +1,5 @@
> +# This snippet is appended to ~/.bashrc when the container is created
> +
> +alias runserver='python3 $PROJECT_HOME/manage.py runserver 0.0.0.0:8000'
> +alias createsu='python3 $PROJECT_HOME/manage.py createsuperuser'
> +
> diff --git a/tools/docker/db/.dockerignore b/tools/docker/db/.dockerignore
> new file mode 100644
> index 0000000..1269488
> --- /dev/null
> +++ b/tools/docker/db/.dockerignore
> @@ -0,0 +1 @@
> +data
> diff --git a/tools/docker/db/.gitignore b/tools/docker/db/.gitignore
> new file mode 100644
> index 0000000..60baa9c
> --- /dev/null
> +++ b/tools/docker/db/.gitignore
> @@ -0,0 +1 @@
> +data/*
> diff --git a/tools/docker/db/Dockerfile b/tools/docker/db/Dockerfile
> new file mode 100644
> index 0000000..5df9b5a
> --- /dev/null
> +++ b/tools/docker/db/Dockerfile
> @@ -0,0 +1,10 @@
> +FROM mysql:5.7
> +
> +ENV MYSQL_ROOT_PASSWORD password
> +ENV MYSQL_USER patchwork
> +ENV MYSQL_PASSWORD password
> +
> +# We don't want to use the MYSQL_DATABASE env here because
> +# we want to be able to create the database with UTF-8 explictly.
> +# We also can't load in the data because it's in XML, yay.
> +
> diff --git a/tools/docker/entrypoint.sh b/tools/docker/entrypoint.sh
> new file mode 100755
> index 0000000..bad507d
> --- /dev/null
> +++ b/tools/docker/entrypoint.sh
> @@ -0,0 +1,86 @@
> +#!/bin/bash
> +set -euo pipefail
> +
> +# functions
> +
> +test_db_connection() {
> +    mysqladmin -h $PW_TEST_DB_HOST -u patchwork --password=password ping > /dev/null 2> /dev/null
> +}
> +
> +reset_data() {
> +    mysql -u$db_user -p$db_pass -h $PW_TEST_DB_HOST << EOF
> +DROP DATABASE IF EXISTS patchwork;
> +CREATE DATABASE patchwork CHARACTER SET utf8;
> +GRANT ALL ON patchwork.* TO 'patchwork' IDENTIFIED BY 'password';
> +GRANT ALL PRIVILEGES ON test_patchwork.* TO 'patchwork'@'%';
> +FLUSH PRIVILEGES;
> +EOF
> +
> +    # load initial data
> +    python3 $PROJECT_HOME/manage.py migrate #> /dev/null
> +    python3 $PROJECT_HOME/manage.py loaddata default_tags #> /dev/null
> +    python3 $PROJECT_HOME/manage.py loaddata default_states #> /dev/null
> +    python3 $PROJECT_HOME/manage.py loaddata default_projects #> /dev/null
> +}
> +
> +# the script begins!
> +
> +# check if patchwork is mounted. Checking if we exist is a
> +# very good start!
> +if [ ! -f ~patchwork/patchwork/tools/docker/entrypoint.sh ]; then
> +    echo "The patchwork directory doesn't seem to be mounted!"
> +    echo "Are you using docker-compose?"
> +    echo "If not, you need -v PATH_TO_PATCHWORK:/home/patchwork/patchwork"
> +    exit 1
> +fi
> +
> +# check if we need to rebuild because requirements changed
> +for x in /tmp/requirements-*.txt; do
> +    if ! cmp $x ~/patchwork/$(basename $x); then
> +        echo "A requirements file has changed."
> +        echo "Please rebuild the patchwork image:"
> +        echo "    docker-compose build web"
> +        exit 1
> +    fi
> +done
> +
> +# check if mysql is connected
> +if ! test_db_connection; then
> +    echo "MySQL seems not to be connected, or the patchwork user is broken"
> +    echo "MySQL may still be starting. Waiting 5 seconds."
> +    sleep 5
> +    if ! test_db_connection; then
> +        echo "Still cannot connect to MySQL."
> +        echo "Maybe you are starting the db for the first time. Waiting 15 seconds."
> +        sleep 15
> +        if ! test_db_connection; then
> +            echo "Still cannot connect to MySQL. Giving up."
> +            echo "Are you using docker-compose? If not, have you set up the link correctly?"
> +            exit 1
> +        fi
> +    fi
> +fi
> +
> +# rebuild mysql db
> +# do this on --reset or if the db doesn't exist
> +if [[ "$1" == "--reset" ]]; then
> +    shift
> +    reset_data
> +elif ! ( echo ';' | mysql -h db -u patchwork -ppassword patchwork 2> /dev/null ); then
> +    reset_data
> +fi
> +
> +if [ $# -eq 0 ]; then
> +    # we probably ran with --reset and nothing else
> +    # just exit cleanly
> +    exit 0
> +elif [ "$1" == "--shell" ]; then
> +    exec bash
> +elif [ "$1" == "--quick-test" ]; then
> +    export PW_SKIP_BROWSER_TESTS=yes
> +    python3 manage.py test
> +elif [ "$1" == "--test" ]; then
> +    xvfb-run --server-args='-screen 0, 1024x768x16' python3 manage.py test
> +else # run whatever CMD is set to
> +    $@
> +fi
> diff --git a/tools/install/install.sh b/tools/install/install.sh
> deleted file mode 100644
> index 3edec85..0000000
> --- a/tools/install/install.sh
> +++ /dev/null
> @@ -1,75 +0,0 @@
> -#!/bin/bash
> -
> -# Script to set up Patchwork on a Vagrant-powered Ubuntu Trusty host
> -
> -echo -e "\n--- Configuring environment ---\n"
> -
> -PROJECT_NAME=patchwork
> -PROJECT_HOME=/vagrant
> -WORKON_HOME=$PROJECT_HOME/.virtualenvs
> -
> -db_user=root
> -db_pass=password
> -
> -export DJANGO_SETTINGS_MODULE=patchwork.settings.dev
> -export DEBIAN_FRONTEND=noninteractive
> -
> -echo "mysql-server mysql-server/root_password password $db_pass" | debconf-set-selections
> -echo "mysql-server mysql-server/root_password_again password $db_pass" | debconf-set-selections
> -
> -echo -e "\n--- Updating packages list ---\n"
> -
> -apt-get update -qq
> -
> -echo -e "\n--- Installing system packages ---\n"
> -
> -apt-get install -y python python3-dev python3-pip mysql-server \
> -    libmysqlclient-dev curl > /dev/null
> -
> -echo -e "\n--- Installing Python dependencies ---\n"
> -
> -pip3 -q install virtualenv tox
> -pip3 -q install -r $PROJECT_HOME/requirements-dev.txt
> -
> -echo -e "\n--- Configuring database ---\n"
> -
> -mysql -u$db_user -p$db_pass << EOF
> -DROP DATABASE IF EXISTS patchwork;
> -CREATE DATABASE patchwork CHARACTER SET utf8;
> -GRANT ALL ON patchwork.* TO 'patchwork'@'localhost' IDENTIFIED BY 'password';
> -EOF
> -
> -chmod a+x $PROJECT_HOME/manage.py
> -
> -echo -e "\n--- Loading initial data ---\n"
> -
> -sudo -E -u vagrant python3 $PROJECT_HOME/manage.py migrate > /dev/null
> -sudo -E -u vagrant python3 $PROJECT_HOME/manage.py loaddata \
> -    default_tags > /dev/null
> -sudo -E -u vagrant python3 $PROJECT_HOME/manage.py loaddata \
> -    default_states > /dev/null
> -sudo -E -u vagrant python3 $PROJECT_HOME/manage.py loaddata \
> -    default_projects > /dev/null
> -
> -echo -e "\n--- Configuring environment ---\n"
> -
> -cat >> /home/vagrant/.bashrc << EOF
> -export DJANGO_SETTINGS_MODULE='patchwork.settings.dev'
> -
> -alias runserver='python3 /vagrant/manage.py runserver 0.0.0.0:8000'
> -alias createsu='python3 /vagrant/manage.py createsuperuser'
> -cd /vagrant
> -EOF
> -
> -echo "Done."
> -echo "You may now log in:"
> -echo "    $ vagrant ssh"
> -echo "Once logged in, start the server using the 'runserver' alias:"
> -echo "    $ runserver"
> -echo "You may wish to create a superuser for use with the admin console:"
> -echo "    $ createsuperuser"
> -echo "For information on the above, and some examples on loading sample date,"
> -echo "please refer to the documentation found in the 'doc' folder."
> -echo "Alternatively, check out the docs online:"
> -echo "    https://patchwork.readthedocs.org/en/latest/development/"
> -echo "Happy patchworking."
> diff --git a/tools/vagrant/install.sh b/tools/vagrant/install.sh
> new file mode 100644
> index 0000000..3edec85
> --- /dev/null
> +++ b/tools/vagrant/install.sh
> @@ -0,0 +1,75 @@
> +#!/bin/bash
> +
> +# Script to set up Patchwork on a Vagrant-powered Ubuntu Trusty host
> +
> +echo -e "\n--- Configuring environment ---\n"
> +
> +PROJECT_NAME=patchwork
> +PROJECT_HOME=/vagrant
> +WORKON_HOME=$PROJECT_HOME/.virtualenvs
> +
> +db_user=root
> +db_pass=password
> +
> +export DJANGO_SETTINGS_MODULE=patchwork.settings.dev
> +export DEBIAN_FRONTEND=noninteractive
> +
> +echo "mysql-server mysql-server/root_password password $db_pass" | debconf-set-selections
> +echo "mysql-server mysql-server/root_password_again password $db_pass" | debconf-set-selections
> +
> +echo -e "\n--- Updating packages list ---\n"
> +
> +apt-get update -qq
> +
> +echo -e "\n--- Installing system packages ---\n"
> +
> +apt-get install -y python python3-dev python3-pip mysql-server \
> +    libmysqlclient-dev curl > /dev/null
> +
> +echo -e "\n--- Installing Python dependencies ---\n"
> +
> +pip3 -q install virtualenv tox
> +pip3 -q install -r $PROJECT_HOME/requirements-dev.txt
> +
> +echo -e "\n--- Configuring database ---\n"
> +
> +mysql -u$db_user -p$db_pass << EOF
> +DROP DATABASE IF EXISTS patchwork;
> +CREATE DATABASE patchwork CHARACTER SET utf8;
> +GRANT ALL ON patchwork.* TO 'patchwork'@'localhost' IDENTIFIED BY 'password';
> +EOF
> +
> +chmod a+x $PROJECT_HOME/manage.py
> +
> +echo -e "\n--- Loading initial data ---\n"
> +
> +sudo -E -u vagrant python3 $PROJECT_HOME/manage.py migrate > /dev/null
> +sudo -E -u vagrant python3 $PROJECT_HOME/manage.py loaddata \
> +    default_tags > /dev/null
> +sudo -E -u vagrant python3 $PROJECT_HOME/manage.py loaddata \
> +    default_states > /dev/null
> +sudo -E -u vagrant python3 $PROJECT_HOME/manage.py loaddata \
> +    default_projects > /dev/null
> +
> +echo -e "\n--- Configuring environment ---\n"
> +
> +cat >> /home/vagrant/.bashrc << EOF
> +export DJANGO_SETTINGS_MODULE='patchwork.settings.dev'
> +
> +alias runserver='python3 /vagrant/manage.py runserver 0.0.0.0:8000'
> +alias createsu='python3 /vagrant/manage.py createsuperuser'
> +cd /vagrant
> +EOF
> +
> +echo "Done."
> +echo "You may now log in:"
> +echo "    $ vagrant ssh"
> +echo "Once logged in, start the server using the 'runserver' alias:"
> +echo "    $ runserver"
> +echo "You may wish to create a superuser for use with the admin console:"
> +echo "    $ createsuperuser"
> +echo "For information on the above, and some examples on loading sample date,"
> +echo "please refer to the documentation found in the 'doc' folder."
> +echo "Alternatively, check out the docs online:"
> +echo "    https://patchwork.readthedocs.org/en/latest/development/"
> +echo "Happy patchworking."
> -- 
> 2.7.4
>
> _______________________________________________
> Patchwork mailing list
> Patchwork at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/patchwork
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 859 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/patchwork/attachments/20160828/244f3ebc/attachment.sig>


More information about the Patchwork mailing list