Merge pull request #190 from Yukaii/setup-script

Setup script for getting started
This commit is contained in:
Max Wu 2016-10-05 14:21:03 +08:00 committed by GitHub
commit 4f16a26fcc
6 changed files with 60 additions and 3 deletions

7
.gitignore vendored
View file

@ -15,4 +15,9 @@ tmp/
backups/
*.pid
*.log
*.sqlite
*.sqlite
# ignore config files
config.json
public/js/common.js
.sequelizerc

View file

@ -43,7 +43,7 @@ Get started
---
1. Download a release and unzip or clone into a directory
2. Enter the directory and type `npm install && bower install`, which will install all the dependencies
2. Enter the directory and type `bin/setup`, which will install npm/bower dependencies and create configs. The setup script is written in Bash, you would need bash as a prerequisite.
3. Setup the configs, see more below
4. Setup environment variables which will overwrite the configs
5. Run the server as you like (node, forever, pm2)

52
bin/setup Executable file
View file

@ -0,0 +1,52 @@
#!/bin/bash
# run command at repo root
CURRENT_PATH=$PWD
cd $(git rev-parse --show-toplevel)
if ! type npm > /dev/null
then
cat << EOF
npm is not installed, please install Node.js and npm.
Read more on Node.js official website: https://nodejs.org
Setup will not be run
EOF
exit 0
fi
if ! type bower > /dev/null
then
echo "bower is not installed, install via npm"
npm install -g bower
fi
echo "copy config files"
if [ ! -f config.json ]; then
cp config.json.example config.json
fi
if [ ! -f publis/js/common.js ]; then
cp public/js/common.js.example public/js/common.js
fi
if [ ! -f .sequelizerc ]; then
cp .sequelizerc.example .sequelizerc
fi
echo "install npm and bower packages"
npm install && bower install
cat << EOF
Edit the following config file to setup hackmd server and client.
Read more info at https://github.com/hackmdio/hackmd#configuration-files
* config.json -- server config
* public/js/common.js -- client config
* .sequelizerc -- db config
EOF
# change directory back
cd $CURRENT_PATH

View file

@ -49,4 +49,4 @@
"clientID": "change this"
}
}
}
}