Files: 6565e1ee207af3a6a1daf1c4628f34d1ae5ef0d3 / server-process.js
1433 bytesRaw
1 | var serveBlobs = require('./lib/serve-blobs') |
2 | var fs = require('fs') |
3 | var Path = require('path') |
4 | var electron = require('electron') |
5 | var spawn = require('child_process').spawn |
6 | var fixPath = require('fix-path') |
7 | |
8 | var createSbot = require('scuttlebot') |
9 | .use(require('scuttlebot/plugins/master')) |
10 | .use(require('scuttlebot/plugins/gossip')) |
11 | .use(require('scuttlebot/plugins/replicate')) |
12 | .use(require('ssb-friends')) |
13 | .use(require('ssb-blobs')) |
14 | .use(require('ssb-backlinks')) |
15 | .use(require('ssb-private')) |
16 | .use(require('scuttlebot/plugins/invite')) |
17 | .use(require('scuttlebot/plugins/local')) |
18 | .use(require('scuttlebot/plugins/logging')) |
19 | .use(require('ssb-query')) |
20 | .use(require('ssb-about')) |
21 | // .use(require('ssb-ebt')) // enable at your own risk! |
22 | .use(require('./sbot')) |
23 | |
24 | fixPath() |
25 | |
26 | module.exports = function (ssbConfig) { |
27 | var context = { |
28 | sbot: createSbot(ssbConfig), |
29 | config: ssbConfig |
30 | } |
31 | ssbConfig.manifest = context.sbot.getManifest() |
32 | serveBlobs(context) |
33 | fs.writeFileSync(Path.join(ssbConfig.path, 'manifest.json'), JSON.stringify(ssbConfig.manifest)) |
34 | electron.ipcRenderer.send('server-started', ssbConfig) |
35 | |
36 | // attempt to run git-ssb if it is installed and in path |
37 | var gitSsb = spawn('git-ssb', [ 'web' ], { |
38 | stdio: 'inherit' |
39 | }) |
40 | gitSsb.on('error', () => { |
41 | console.log('git-ssb is not installed, or not available in path') |
42 | }) |
43 | process.on('exit', () => { |
44 | gitSsb.kill() |
45 | }) |
46 | } |
47 |
Built with git-ssb-web