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

5
.gitignore vendored
View file

@ -16,3 +16,8 @@ backups/
*.pid *.pid
*.log *.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 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 3. Setup the configs, see more below
4. Setup environment variables which will overwrite the configs 4. Setup environment variables which will overwrite the configs
5. Run the server as you like (node, forever, pm2) 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