Support #648
Updated by Daniel Curtis almost 9 years ago
{{>toc}} This is a guide on installing JSbin on Debian 8. h2. Prepare the System * Make sure the system is up to date: <pre> apt-get update && apt-get upgrade </pre> * Install a few dependencies: <pre> apt-get install curl git build-essential libzmq-dev </pre> * Install nodejs and npm: <pre> curl -sL https://deb.nodesource.com/setup_0.10 | bash - apt-get install -y nodejs </pre> h2. Install JSbin with npm * Install JSbin using npm: <pre> npm install -g jsbin </pre> * Create a new config file and edit it as necessary: <pre> cd /usr/lib/node_modules/jsbin cp config.default.json config.local.json </pre> * Test JSbin in development mode: <pre> jsbin </pre> #* Go to http://localhost:3000 in a web browser h2. Install a few node modules: JSbin from GitHub * Clone JSbin from GitHub: <pre> git clone https://github.com/remy/jsbin.git cd jsbin npm install grunt-contrib-uglify grunt-contrib-jshint grunt-contrib-concat -g </pre> * Then build the production files: Setup JSbin for production: <pre> npm install -g grunt-cli npm install --dev --unsafe-perm -g grunt build </pre> * Test Create a new config file and edit it as necessary: <pre> cd /usr/lib/node_modules/jsbin cp config.default.json config.local.json </pre> * Edit the local JSbin in development mode: config: <pre> jsbin vi config.local.json </pre> #* Go And change the env variable from development to http://localhost:3000 production: <pre> "env": "production", </pre> * Test JS Bin in a web browser production: <pre> cd /usr/lib/node_modules/jsbin node . </pre> h2. Running JSbin with PM2 * Install pm2 globally: <pre> npm install -g pm2 </pre> * Add a jsbin user to separate privileges: <pre> useradd -m -g users -d /usr/lib/node_modules/jsbin -s /bin/bash jsbin </pre> * Change the ownership of the global jsbin folder to the jsbin user: <pre> chown -R jsbin /usr/lib/node_modules/jsbin </pre> * Switch to the jsbin user: <pre> su - jsbin </pre> * Start jsbin using pm2: <pre> pm2 start /usr/lib/node_modules/jsbin/bin/jsbin bin/jsbin </pre> h2. Resources * https://github.com/jsbin/jsbin/blob/master/docs/running-your-own-jsbin.md * https://github.com/nodesource/distributions