@mantris/appify v6.2.2
d8888 d8b .d888
d88888 Y8P d88P"
d88P888 888
d88P 888 88888b. 88888b. 888 888888 888 888
d88P 888 888 "88b 888 "88b 888 888 888 888
d88P 888 888 888 888 888 888 888 888 888
d8888888888 888 d88P 888 d88P 888 888 Y88b 888
d88P 888 88888P" 88888P" 888 888 "Y88888
888 888 888
888 888 Y8b d88P
888 888 "Y88P"
Appify is a very opinionated Node.js API boilerplate as module shipped with out of the box integration with Sentry and DeepTrace.
Install
npm i @mantris/appify
Usage
// app.js
const appify = require('@mantris/appify')
const connect = require('some-db-lib')
module.exports = appify(async (api, config, environment) => {
const db = await connect(config.db)
api.get('/users/:id', (req, res) => {
res
.set({ 'x-environment': environment })
.json(db.users.find(req.params.id))
})
})
// config.js
const { env } = require('@mantris/appify')
module.exports = (environment) => ({
db: {
dbname: `mydb-${environment}`,
dbhost: env.get('DB_HOST', 'mongo://localhost:27107')
}
})
appify --debug --pretty-errors --config config.js app.js
Environment variables
Setting | Vars | Type | Default value |
---|---|---|---|
Your app's version/release | GIT_RELEASE | string | null |
Release commit | GIT_COMMIT | string | null |
DeepTrace's DSN | APPIFY_DEEPTRACE_DSN or DEEPTRACE_DSN | string | null |
DeepTrace's agent timeout | APPIFY_DEEPTRACE_TIMEOUT or DEEPTRACE_TIMEOUT | number | 3000 |
Morgan request logger format | APPIFY_MORGAN_FORMAT | string | :method :url :status :: :response-time ms :: :resdeeptrace-id |
Sentry's DSN | APPIFY_SENTRY_DSN or SENTRY_DSN | string | null |
HTTP Server binding socket | APPIFY_SERVER_BINDING_SOCKET | string | undefined |
HTTP Server binding IP | APPIFY_SERVER_BINDING_IP | string | 0.0.0.0 |
HTTP Server binding port | APPIFY_SERVER_BINDING_PORT | number | 3000 |
Use HTTP X-Forwarded-For IP as user IP | APPIFY_SERVER_SPDY_X_FORWARDED_FOR | boolean | true |
Send HTTP data as plain text | APPIFY_SERVER_SPDY_PLAIN | boolean | true |
Enable SSL | APPIFY_SERVER_SPDY_SSL | boolean | false |
Path to SSL key | APPIFY_SERVER_SSL_KEY | string | undefined |
Path to SSL cert | APPIFY_SERVER_SSL_CERT | string | undefined |
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago