@hoodie/server
v23.0.0
Published
Hapi plugin for Hoodie’s server core module
Readme
hoodie-server
Hapi plugin for Hoodie’s server core module
@hoodie/server integrates Hoodie’s server core modules:
Example
var Hapi = require('hapi')
var hoodie = require('@hoodie/server').register
var PouchDB = require('pouchdb-core').plugin(require('pouchdb-mapreduce')).plugin(require('pouchdb-adapter-memory'))
var server = new Hapi.Server()
server.connection({
host: 'localhost',
port: 8000
})
server.register({
register: hoodie,
options: { // pass options here
PouchDB: PouchDB,
paths: {
public: 'dist'
}
}
}, function (error) {
if (error) {
throw error
}
server.start(function (error) {
if (error) {
throw error
}
console.log(('Server running at:', server.info.uri)
})
})Usage
option | default | description
------------------------- | ------------ | -------------
adminPassword | - | Password to login with admin account
paths.data | '.hoodie' | Data path
paths.public | 'public' | Public path
PouchDB | – | PouchDB constructor. See also custom PouchDB builds.
account | {} | Hoodie Account Server options. account.admins are generated based on adminPassword option above. account.usersDb is hardcoded to _users at this point. account.secret is stored in hoodie-store/hoodie and will be generated if it does not yet exist.
store | {} | Hoodie Store Server options. store.couchdb, store.PouchDB are set based on the PouchDB option above. store.hooks.onPreAuth is set to bind user authentication for Hoodie Account to Hoodie Store.
Testing
Local setup
git clone https://github.com/hoodiehq/hoodie-server.git
cd hoodie-server
npm installRun all tests
npm testContributing
Have a look at the Hoodie project's contribution guidelines. If you want to hang out you can join our Hoodie Community Chat.
