Use dburl to configurate

This commit is contained in:
bananaappletw 2016-12-22 21:20:43 +08:00
parent 3a091ff9a5
commit 96fb3743f3
3 changed files with 7 additions and 6 deletions

View file

@ -120,6 +120,7 @@ Environment variables (will overwrite other server configs)
| HMD_USECDN | `true` or `false` | set to use CDN resources or not (default is `true`) | | HMD_USECDN | `true` or `false` | set to use CDN resources or not (default is `true`) |
| HMD_ALLOW_ANONYMOUS | `true` or `false` | set to allow anonymous usage (default is `true`) | | HMD_ALLOW_ANONYMOUS | `true` or `false` | set to allow anonymous usage (default is `true`) |
| HMD_ALLOW_FREEURL | `true` or `false` | set to allow new note by accessing not exist note url | | HMD_ALLOW_FREEURL | `true` or `false` | set to allow new note by accessing not exist note url |
| HMD_DB_URL | `mysql://localhost:3306/database` | set the db url |
| HMD_FACEBOOK_CLIENTID | no example | Facebook API client id | | HMD_FACEBOOK_CLIENTID | no example | Facebook API client id |
| HMD_FACEBOOK_CLIENTSECRET | no example | Facebook API client secret | | HMD_FACEBOOK_CLIENTSECRET | no example | Facebook API client secret |
| HMD_TWITTER_CONSUMERKEY | no example | Twitter API consumer key | | HMD_TWITTER_CONSUMERKEY | no example | Twitter API consumer key |
@ -157,6 +158,7 @@ Server settings `config.json`
| usecdn | `true` or `false` | set to use CDN resources or not (default is `true`) | | usecdn | `true` or `false` | set to use CDN resources or not (default is `true`) |
| allowanonymous | `true` or `false` | set to allow anonymous usage (default is `true`) | | allowanonymous | `true` or `false` | set to allow anonymous usage (default is `true`) |
| allowfreeurl | `true` or `false` | set to allow new note by accessing not exist note url | | allowfreeurl | `true` or `false` | set to allow new note by accessing not exist note url |
| dburl | `mysql://localhost:3306/database` | set the db url, if set this variable then below db config won't be applied |
| db | `{ "dialect": "sqlite", "storage": "./db.hackmd.sqlite" }` | set the db configs, [see more here](http://sequelize.readthedocs.org/en/latest/api/sequelize/) | | db | `{ "dialect": "sqlite", "storage": "./db.hackmd.sqlite" }` | set the db configs, [see more here](http://sequelize.readthedocs.org/en/latest/api/sequelize/) |
| sslkeypath | `./cert/client.key` | ssl key path (only need when you set usessl) | | sslkeypath | `./cert/client.key` | ssl key path (only need when you set usessl) |
| sslcertpath | `./cert/hackmd_io.crt` | ssl cert path (only need when you set usessl) | | sslcertpath | `./cert/hackmd_io.crt` | ssl cert path (only need when you set usessl) |

View file

@ -24,10 +24,8 @@ var allowanonymous = process.env.HMD_ALLOW_ANONYMOUS ? (process.env.HMD_ALLOW_AN
var allowfreeurl = process.env.HMD_ALLOW_FREEURL ? (process.env.HMD_ALLOW_FREEURL === 'true') : !!config.allowfreeurl; var allowfreeurl = process.env.HMD_ALLOW_FREEURL ? (process.env.HMD_ALLOW_FREEURL === 'true') : !!config.allowfreeurl;
// db // db
var db = config.db || { var dburl = config.dburl || process.env.HMD_DB_URL || process.env.DATABASE_URL;
dialect: 'sqlite', var db = config.db || {};
storage: './db.hackmd.sqlite'
};
// ssl path // ssl path
var sslkeypath = config.sslkeypath || ''; var sslkeypath = config.sslkeypath || '';
@ -131,6 +129,7 @@ module.exports = {
usecdn: usecdn, usecdn: usecdn,
allowanonymous: allowanonymous, allowanonymous: allowanonymous,
allowfreeurl: allowfreeurl, allowfreeurl: allowfreeurl,
dburl: dburl,
db: db, db: db,
sslkeypath: path.join(cwd, sslkeypath), sslkeypath: path.join(cwd, sslkeypath),
sslcertpath: path.join(cwd, sslcertpath), sslcertpath: path.join(cwd, sslcertpath),

View file

@ -15,8 +15,8 @@ dbconfig.logging = config.debug ? logger.info : false;
var sequelize = null; var sequelize = null;
// Heroku specific // Heroku specific
if (process.env.DATABASE_URL) if (config.dburl)
sequelize = new Sequelize(process.env.DATABASE_URL); sequelize = new Sequelize(config.dburl, dbconfig);
else else
sequelize = new Sequelize(dbconfig.database, dbconfig.username, dbconfig.password, dbconfig); sequelize = new Sequelize(dbconfig.database, dbconfig.username, dbconfig.password, dbconfig);