69 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| set -e
 | |
| 
 | |
| if [ "$BUILD_ASSETS" = true ]; then
 | |
|   BUILD_ASSETS=false npm 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
 | |
|     regex='postgres:\/\/([^:]+):([^@]+)@([^:]+):([^\/]+)\/(.+)'
 | |
| 
 | |
|     if [[ $DATABASE_URL =~ $regex ]]; then
 | |
| 
 | |
|         username="${BASH_REMATCH[1]}"
 | |
|         password="${BASH_REMATCH[2]}"
 | |
|         host="${BASH_REMATCH[3]}"
 | |
|         port="${BASH_REMATCH[4]}"
 | |
|         database="${BASH_REMATCH[5]}"
 | |
| 
 | |
|         cat << EOF > config.json
 | |
| 
 | |
| {
 | |
|   "production": {
 | |
|     "db": {
 | |
|       "dialect": "postgres",
 | |
|       "host": "${host}",
 | |
|       "username": "${username}",
 | |
|       "password": "${password}",
 | |
|       "database": "${database}",
 | |
|       "port": "${port}",
 | |
|       "dialectOptions": {
 | |
|         "ssl": true
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| }
 | |
| 
 | |
| EOF
 | |
|     else
 | |
| 
 | |
|         cat << EOF > config.json
 | |
| 
 | |
| {
 | |
|   "production": {
 | |
|   }
 | |
| }
 | |
| 
 | |
| EOF
 | |
| 
 | |
|     fi
 | |
| 
 | |
| 
 | |
|   cp public/js/config.js.example public/js/config.js
 | |
| 
 | |
|   # build app
 | |
|   npm run build:prod
 | |
| fi
 |