67 lines
1.9 KiB
JavaScript
67 lines
1.9 KiB
JavaScript
|
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 = /*conf.http ||*/ {};
|
||
|
|
||
|
opts.sites = [];
|
||
|
opts.sites._map = {};
|
||
|
|
||
|
// argv.sites
|
||
|
|
||
|
opts.groups = [];
|
||
|
|
||
|
// 'packages', 'assets', 'com.daplie.caddy'
|
||
|
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 ] }
|
||
|
] }
|
||
|
]
|
||
|
};
|
||
|
opts.sites.push({
|
||
|
// greenlock: {}
|
||
|
$id: 'localhost.alpha.daplie.me'
|
||
|
, paths: [
|
||
|
{ $id: '/', modules: [
|
||
|
{ $id: 'serve', paths: [ path.resolve(__dirname, '..', 'admin', 'public') ] }
|
||
|
] }
|
||
|
, { $id: '/api/', modules: [
|
||
|
{ $id: 'app', path: path.join(__dirname, 'admin') }
|
||
|
] }
|
||
|
]
|
||
|
});
|
||
|
opts.sites.push({
|
||
|
$id: 'localhost.daplie.invalid'
|
||
|
, 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, { cwd: conf.cwd, http: opts });
|
||
|
var http = require('http');
|
||
|
return http.createServer(app);
|
||
|
};
|