diff --git a/LISA-High-Level-view.xml b/LISA-High-Level-view.xml new file mode 100644 index 0000000..477aaaa --- /dev/null +++ b/LISA-High-Level-view.xml @@ -0,0 +1 @@ +7Vptb5s6FP41fEwEOBDysc3tukmrFt1UutunyYBDrBqcGeel99dfG2wC2Omi3SRLp1RqZc4xxj7Pw/FzTB0wzXePDK6WTzRFxPHddOeAvxzfn4wm4q80vNaGIIhqQ8ZwWpu8vWGO/0XK6CrrGqeo7HTklBKOV11jQosCJbxjg4zRbbfbgpLuU1cwQ4ZhnkBiWv/BKV/W1sgP9/aPCGdL/WQvVAuOYfKSMbou1PMcHyyqn9qdQz2WWmi5hCndtkzgwQFTRimvW/luiogMrQ5bfd+HA95m3gwV/Kgb1Dw2kKyRnnI1Mf6qg1EtB8kbXAfcb5eYo/kKJtK7FegL25LnRFx5ollyRl/QlBLKqruBW/0IzwIT0rKrsAg7LfgHmGMiufIRkQ3iOIHKoajh+eraNjAkOCuELRFrRsJ5bwZBxWWDGEe7lkkF5RHRHHH2Kroob6DiovjrT9QI2z0bGgyXbSZMlBEqBmbN0HsUREMBYQdlcsPEhgkY90FxDVAAsIDSGP8PKL4ByjODmJTivofdiqGyPDFIYRKheGGClEIULZKrBSkCHZBGrgmSZ3tzwhNgNDIw4hIjEfOXQbKEPBZp9QaSBaRxdDmQxj/PbqhI7+QuLpdNYFnipIo9ZNw0t9HRm6lrgwoAFdHao/f18BQgoR3mX9UsZPubnMQwkFeFCM9XNafqYu87iKRYaYZ4J++gtKNYTGhb0AUW5LSNIQI53nR1jg1O9YQZxWJyDXMaBmjm9FNrSdcsQequtvDoDQT83kBBb6A6BsZAFbuaZR9FOM9M3W8xrqAFuhpeNezZk+mbJpPinHIp1mkGzhDDIkYyY1S93yHXRqNulgLRL3JNbEKdgQL3fFwDBtceKc0EzXx3vkIoWYrG3ezTibehNIzDILQKOj+53m2op7LHF5QKnqkV5rRYmyJOLkeEinyGMSIzWmKOqQxEjtNU9rnXHe5UhBqHAZhODX6dU1byCfkukxX0cEHoVkgUxoe0GMj68jtDCySCKylwQXVxWOGQXgBOyYTQ677pvoUJroUJ/YzwS0yIbky4HiZ4vSIvvCQTzMJ7XtBtTF9PnK7fZ9Xg9bSfZ8PmXPlaj/sHiThPX/S1ml3ZvaniainUpXFb2ekkdyXSzgM9RdZX/8dKOy+6mLRrXph3zEDPMYrQtxlo1LPHMRDcGHgOBpqFLMElHJQcFikkgnADxw+JCNR9ijeimcnmhuIEDRKa56KX9sdMu7VFPLx1023Dc8xjMqssPduGZ1aSFdgrss5wUQ4EmkIbMgvgT5VHLr7qKseUMYGJlGvlDe/DH31A0MH7omfXfmDHO6Y7AxyxHv4TBCI/BqHlRCANUJSObAE8WL3YwD/F2zXuFn22b2xAfwtrR9s/RbTNU+h+Ku3lzT8RgqCPgG8g0KjJkyNglt0VAmtsSWl3RbYmUCQ7dyR+F4xWOzBcrW7Z7I1sFv6+3QuY5drz89ypDkHhi3Xbmn2afnF8MbI7o4S8DofDI8G9nctc4lymd1YLLB/fz3YwA8zSa/9ht0Q/1ojISJqc+vL3k8wXVGaO8gcRr71opJDDGJboljuOzh2jcXi23CEu9//vVFdF+/8pAw//AQ== \ No newline at end of file diff --git a/README.md b/README.md index ba1e0a3..3f1a0a9 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,35 @@ Voice recognition work in 2 phases thanks to the [sonus](https://github.com/evan - `yarn start //npm start //node index.js` - Go to http://localhost:3000 +## Vagrant + +A basic VM can be automaticly provisioned for development purposes using Vagrant. + +Using vagrant you can run L.I.S.A on any machine which supports virtualisation. (windows/OSX/linux/etc). + +### Prerequisites + +* Vagrant +* Virtualbox +* git + +### Setup + +```bash +git clone https://github.com/mylisabox/lisa-box.git +cd lisa-box +vagrant up + +``` + +### Running L.I.S.A + +```bash +vagrant ssh -c "cd /vagrant && yarn start" +``` + +See Vagrant documentation for more information using vagrant. + ## Notification There multiple template available for notifications. Here there are : diff --git a/Vagrantfile b/Vagrantfile new file mode 100644 index 0000000..ccc752c --- /dev/null +++ b/Vagrantfile @@ -0,0 +1,74 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +# All Vagrant configuration is done below. The "2" in Vagrant.configure +# configures the configuration version (we support older styles for +# backwards compatibility). Please don't change it unless you know what +# you're doing. +Vagrant.configure(2) do |config| + # The most common configuration options are documented and commented below. + # For a complete reference, please see the online documentation at + # https://docs.vagrantup.com. + + # Every Vagrant development environment requires a box. You can search for + # boxes at https://atlas.hashicorp.com/search. + config.vm.box = "debian/contrib-jessie64" + + # Disable automatic box update checking. If you disable this, then + # boxes will only be checked for updates when the user runs + # `vagrant box outdated`. This is not recommended. + # config.vm.box_check_update = false + + # Create a forwarded port mapping which allows access to a specific port + # within the machine from a port on the host machine. In the example below, + # accessing "localhost:8080" will access port 80 on the guest machine. + config.vm.network "forwarded_port", guest: 3000, host: 3000 + + # Create a private network, which allows host-only access to the machine + # using a specific IP. + # config.vm.network "private_network", ip: "192.168.33.10" + + # Create a public network, which generally matched to bridged network. + # Bridged networks make the machine appear as another physical device on + # your network. + # config.vm.network "public_network" + + # Share an additional folder to the guest VM. The first argument is + # the path on the host to the actual folder. The second argument is + # the path on the guest to mount the folder. And the optional third + # argument is a set of non-required options. + # config.vm.synced_folder "../data", "/vagrant_data" + config.vm.synced_folder ".", "/vagrant", type: "rsync", rsync__exclude: [ + ".git/"], rsync__args: ["--verbose", "--archive", "-z", "--copy-links"] + + # Provider-specific configuration so you can fine-tune various + # backing providers for Vagrant. These expose provider-specific options. + # Example for VirtualBox: + # + # config.vm.provider "virtualbox" do |vb| + # # Display the VirtualBox GUI when booting the machine + # vb.gui = true + # + # # Customize the amount of memory on the VM: + # vb.memory = "1024" + # end + # + # View the documentation for the provider you are using for more + # information on available options. + + # Define a Vagrant Push strategy for pushing to Atlas. Other push strategies + # such as FTP and Heroku are also available. See the documentation at + # https://docs.vagrantup.com/v2/push/atlas.html for more information. + # config.push.define "atlas" do |push| + # push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME" + # end + + config.vm.provision "shell", path: "scripts/vagrant-provision-debian.sh" + # Enable provisioning with a shell script. Additional provisioners such as + # Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the + # documentation for more information about their specific syntax and use. + # config.vm.provision "shell", inline: <<-SHELL + # sudo apt-get update + # sudo apt-get install -y apache2 + # SHELL +end diff --git a/scripts/vagrant-provision-debian.sh b/scripts/vagrant-provision-debian.sh new file mode 100644 index 0000000..423305b --- /dev/null +++ b/scripts/vagrant-provision-debian.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash +apt-get update -y + +#install build utils +apt-get install -y build-essential + +#install basic utils +apt-get install -y nano curl git unzip mongodb-server + +#install node +curl -sL https://deb.nodesource.com/setup_7.x | bash - +apt-get install -y nodejs + +#install yarn +curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - +echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list +apt-get update -y && apt-get install -y yarn + +#sox install for sonus speech recognition +apt-get install -y sox libsox-fmt-all alsa-utils + +apt-get install -y libatlas-base-dev libatlas3gf-base +apt-get install -y usbutils +apt-get install -y lirc +apt-get install -y libzmq-dev + +cd /vagrant && yarn install