discourse/bin/docker/boot_dev

54 lines
1.2 KiB
Plaintext
Raw Normal View History

2015-11-02 10:33:08 +08:00
#!/bin/bash
2017-12-14 15:02:42 +08:00
set -e
SCRIPTPATH=$(cd "$(dirname "$0")" > /dev/null; pwd -P)
SOURCE_DIR=$(cd "$SCRIPTPATH" > /dev/null; cd ../.. > /dev/null; pwd -P)
DATA_DIR="$SOURCE_DIR/data/postgres"
2015-11-02 10:33:08 +08:00
show_help() {
cat <<EOF
2016-12-12 14:39:20 +08:00
Usage: ${0##*/} [-h] [--init]
2015-11-02 10:33:08 +08:00
--init perform first-time initialization
EOF
}
initialize=""
while [ "${#@}" -ne "0" ]; do
case "$1" in
-h | --help)
show_help
exit 0
;;
-i | --init)
initialize="initialize"
;;
*)
echo "unexpected argument: $1" >& 2
show_help >& 2
exit 1
;;
esac
shift
done
echo "Using source in: ${SOURCE_DIR}"
echo "Using data in: ${DATA_DIR}"
mkdir -p "${DATA_DIR}"
2017-05-16 23:05:11 +08:00
docker run -d -p 1080:1080 -p 3000:3000 -v "$DATA_DIR:/shared/postgres_data" -v "$SOURCE_DIR:/src" --hostname=discourse --name=discourse_dev --restart=always discourse/discourse_dev:release /sbin/boot
if [ "${initialize}" = "initialize" ]; then
echo "Installing gems..."
"${SCRIPTPATH}/bundle" install
echo "Migrating database..."
"${SCRIPTPATH}/rake" db:migrate
2017-04-13 01:33:56 +08:00
RAILS_ENV=test "${SCRIPTPATH}/rake" db:migrate
2015-11-02 10:33:08 +08:00
echo "Creating admin user..."
"${SCRIPTPATH}/rake" admin:create
fi