var adminDomains = [ 'localhost.alpha.daplie.me' , 'localhost.admin.daplie.me' , 'alpha.localhost.daplie.me' , 'admin.localhost.daplie.me' , 'localhost.daplie.invalid' ]; module.exports.adminDomains = adminDomains; module.exports.create = function (deps, conf) { 'use strict'; var path = require('path'); //var defaultServername = 'localhost.daplie.me'; //var defaultWebRoot = '.'; var assetsPath = path.join(__dirname, '..', '..', 'packages', 'assets'); var opts = {}; opts.global = opts.global || {}; opts.sites = opts.sites || []; opts.sites._map = {}; // argv.sites opts.groups = []; // 'packages', 'assets', 'com.daplie.goldilocks' opts.global = { modules: [ // TODO uh-oh we've got a mixed bag of modules (various types), a true map { $id: 'greenlock', email: opts.email, tos: opts.tos } , { $id: 'rvpn', email: opts.email, tos: opts.tos } //, { $id: 'content', content: content } , { $id: 'livereload', on: opts.livereload } , { $id: 'app', path: opts.expressApp } ] , paths: [ { $id: '/assets/', modules: [ { $id: 'serve', paths: [ assetsPath ] } ] } // TODO figure this b out , { $id: '/.well-known/', modules: [ { $id: 'serve', paths: [ path.join(assetsPath, 'well-known') ] } ] } ] }; opts.defaults = { modules: [] , paths: [ /* { $id: '/', modules: [ { $id: 'serve', paths: [ defaultWebRoot ] } , { $id: 'indexes', paths: [ defaultWebRoot ] } ] } */ ] }; adminDomains.forEach(function (id) { opts.sites.push({ $id: id , paths: [ { $id: '/', modules: [ { $id: 'serve', paths: [ path.resolve(__dirname, '..', '..', 'admin', 'public') ] } ] } , { $id: '/api/', modules: [ { $id: 'app', path: path.join(__dirname, 'admin') } ] } ] }); }); var app = require('../app.js')(deps, conf, opts); return require('http').createServer(app); };