diff --git a/.travis.yml b/.travis.yml index d59cc96..7e4935b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,6 +6,13 @@ node_js: cache: directories: - node_modules +addons: +apt: + sources: + - google-chrome + packages: + - google-chrome-stable + - google-chrome-beta before_install: - sudo apt-get update - sudo apt-get install -y libappindicator1 fonts-liberation @@ -13,12 +20,11 @@ before_install: - sudo dpkg -i google-chrome*.deb - wget http://chromedriver.storage.googleapis.com/2.24/chromedriver_linux64.zip - unzip chromedriver_linux64 - - sudo mv chromedriver /usr/bin + - sudo mv chromedriver /usr/bin before_script: - export CHROME_BIN=/usr/bin/google-chrome - "export DISPLAY=:99.0" - "sh -e /etc/init.d/xvfb start" - - "/sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -ac -screen 0 1280x1024x16" - sleep 5 # give xvfb some time to start - gulp bundle - npm start & diff --git a/karma.conf.js b/karma.conf.js index 80b8397..0ebe370 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -49,7 +49,12 @@ module.exports = function(config) { // start these browsers // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher browsers: ['Chrome'], - + customLaunchers: { + Chrome_without_sandbox: { + base: 'Chrome', + flags: ['--no-sandbox'] // with sandbox it fails under Docker + } + }, // Continuous Integration mode // if true, Karma captures browsers, runs the tests and exits singleRun: false, diff --git a/package.json b/package.json index 11c7759..4311c6c 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ }, "scripts": { "start": "node index.js", - "prod": "forever start -c \"npm start\" ./", + "prod": "npm run bundle && forever start -c \"npm start\" ./", "dev": "npm run bundle && gulp start", "bundle": "gulp bundle", "test": "npm run bundle && gulp test", diff --git a/readme.md b/readme.md index 5bbf36e..1637a27 100644 --- a/readme.md +++ b/readme.md @@ -5,10 +5,11 @@ Simple encrypted web chat. Powered by [socket.io](http://socket.io) and the [web cryptography API](https://developer.mozilla.org/en-US/docs/Web/API/Window/crypto). ### Running a local copy -Starting at version **1.5.7**, you can run a local copy of Darkwire via Docker through dockerhub. +You can run a local copy of Darkwire via Docker through dockerhub. Versions are strictly controlled, [we recommend using the latest tagged version](https://github.com/seripap/darkwire.io/releases/latest) as older versions may pose some security issues. ``` -$ docker run -d -p 80:3000 --name dakrwire darkwire/1.5.7 +# Version numbers can be found in latest releases +$ docker run -d -p 80:3000 --name dakrwire darkwire/${VERSION_NUMBER} ``` Docker is now running on local port 80. @@ -23,21 +24,18 @@ $ docker run -p 80:3000 darkwire Darkwire is now online on local port 80. Default container port is 3000. ### Installation - # Get latest version of NodeJS for ES2015 support - npm install -g n - n stable - npm install + # Using node@v6.7 + $ npm install # Starting dev environment - npm run dev - - # Running tests locally - brew install chromedriver - npm test + $ npm run dev + # Running tests locally (Mac) + $ brew install chromedriver + $ npm test # Start a local instance of darkwire - npm run bundle - npm start + $ npm run bundle + $ npm start # Changing ports, default is 3000 port=3000 npm start diff --git a/src/app.js b/src/app.js index 574d1f5..75fd5cc 100644 --- a/src/app.js +++ b/src/app.js @@ -13,7 +13,7 @@ import Room from './room'; let usage = 0; const $CONFIG = { - port: process.env.port || 3000 + port: process.env.port || process.env.PORT || 3000 }; const app = express(); diff --git a/src/views/index.mustache b/src/views/index.mustache index 50ce6b8..6314a17 100644 --- a/src/views/index.mustache +++ b/src/views/index.mustache @@ -117,6 +117,7 @@