Config heroku deployment

This commit is contained in:
Yukai Huang 2016-10-14 19:28:54 +08:00
parent 33d070e52d
commit 9f63581c61
5 changed files with 84 additions and 3 deletions

View file

@ -15,6 +15,13 @@ Thanks for using! :smile:
Before you go too far, here is the great docker repo for HackMD.
With docker, you can deploy a server in minutes without any downtime.
Heroku Deployment
---
You can quickly setup a sample heroku hackmd application by clicking the button below.
[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy)
[migration-to-0.4.0](https://github.com/hackmdio/migration-to-0.4.0)
---

33
app.json Normal file
View file

@ -0,0 +1,33 @@
{
"name": "HackMD",
"description": "Realtime collaborative markdown notes on all platforms",
"keywords": [
"Collaborative",
"Markdown",
"Notes"
],
"website": "https://hackmd.io",
"repository": "https://github.com/hackmdio/hackmd",
"logo": "https://github.com/hackmdio/hackmd/raw/master/public/hackmd-icon-1024.png",
"success_url": "/",
"scripts": {
"postdeploy": "./node_modules/.bin/sequelize db:migrate"
},
"env": {
"BUILD_ASSETS": {
"description": "Our build script variable",
"value": "true"
},
"NPM_CONFIG_PRODUCTION": {
"description": "Let npm also install development build tool",
"value": "false"
},
"DB_TYPE": {
"description": "Specify database type. See sequelize available databases. Default using postgres",
"value": "postgres"
}
},
"addons": [
"heroku-postgresql"
]
}

35
bin/heroku Executable file
View file

@ -0,0 +1,35 @@
#!/bin/bash
set -e
if [ "$BUILD_ASSETS" = true ]; then
BUILD_ASSETS=false npm install && npm run assets:install
# setup config files
cat << EOF > .sequelizerc
var path = require('path');
module.exports = {
'config': path.resolve('config.json'),
'migrations-path': path.resolve('lib', 'migrations'),
'models-path': path.resolve('lib', 'models'),
'url': process.env.DATABASE_URL,
'dialect': process.env.DB_TYPE
}
EOF
cat << EOF > config.json
{
"production": {
}
}
EOF
cp public/js/config.js.example public/js/config.js
# build app
npm run build
fi

View file

@ -2,7 +2,9 @@
# run command at repo root
CURRENT_PATH=$PWD
cd $(git rev-parse --show-toplevel)
if [ -d .git ]; then
cd $(git rev-parse --show-toplevel)
fi
if ! type npm > /dev/null
then
@ -34,7 +36,7 @@ if [ ! -f .sequelizerc ]; then
fi
echo "install npm and bower packages"
npm install && bower install
BUILD_ASSETS=false npm install && bower install
cat << EOF

View file

@ -6,7 +6,10 @@
"license": "MIT",
"scripts": {
"dev": "webpack --config webpack.config.js --progress --colors --watch",
"build": "webpack --config webpack.production.js --progress --colors"
"build": "webpack --config webpack.production.js --progress --colors",
"assets:install": "bower install",
"postinstall": "bin/heroku",
"start": "node app.js"
},
"dependencies": {
"Idle.Js": "github:shawnmclean/Idle.js",
@ -121,6 +124,7 @@
"devDependencies": {
"babel-core": "^6.17.0",
"babel-loader": "^6.2.5",
"bower": "^1.7.9",
"bower-webpack-plugin": "^0.1.9",
"css-loader": "^0.25.0",
"ejs-loader": "^0.3.0",