Hapi plugin for Hoodie’s server core module


2421023.0.05 years ago5 years agoMinified + gzip package size for @hoodie/server in KB



Hapi plugin for Hoodie’s server core module

Build Status Coverage Status Dependency Status devDependency Status

@hoodie/server integrates Hoodie’s server core modules:


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()
  host: 'localhost',
  port: 8000

  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)


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.


Local setup

git clone https://github.com/hoodiehq/hoodie-server.git
cd hoodie-server
npm install

Run all tests

npm test


Have a look at the Hoodie project's contribution guidelines. If you want to hang out you can join our Hoodie Community Chat.


Apache 2.0

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.