# Install ## Preliminaries for Ubuntu 16.04 Installation for other distros may be slightly different. This assumes NodeJS 8.3 or higher and npm 5.6 are already installed. All of this is done in the lamassu-server directory. ### Packages ``` sudo apt-get update sudo apt-get install postgresql postgresql-contrib postgresql-server-dev-9.5 libpq-dev git ``` ### Set up PostgreSQL ``` sudo -u postgres createdb lamassu sudo -u postgres psql postgres ``` In ``psql``, run the following and set password to ``postgres123``: ``` \password postgres ctrl-d ``` ## Preliminaries for MacOS ### Postgres Use Postgres.app: https://postgresapp.com/ **psql** is automatically installed. You won't need to set up users. ### NodeJS ``` curl -L https://git.io/n-install | bash -s -- -y lts . ~/.bash_profile ``` ## Installation ### Install node modules Make sure you're running NodeJS 8.3 or higher. Ignore any warnings. ``` npm install ``` ### Generate certificates ``` bash tools/cert-gen.sh ``` Notes: - This will create a ``.lamassu`` directory in your home directory. ### Set up database Important: lamassu-migrate currently gripes about a QueryResultError. Ignore this, it works anyway. ``` node bin/lamassu-migrate ``` ### Run new-lamassu-admin ``` cd new-lamassu-admin/ npm install npm run start ``` ### Run lamassu-admin-server In a second terminal window: ``` node bin/lamassu-admin-server --dev ``` ### Register admin user In a third terminal window: ``` node bin/lamassu-register admin@example.com superuser ``` You'll use this generated URL in the brower in a moment. ### Complete configuration Paste the URL from lamassu-register exactly as output, into a browser (chrome or firefox). **Important**: the host must be localhost. Tell your browser to trust the certificate even though it's not signed by a recognized CA. If you get an "expired" error, try opening https://localhost:8070/graphql in another tab and trust the certificate. Go to all the required, unconfigured red fields and choose some values. Choose mock services whenever available. ### Run lamassu-server ``` node bin/lamassu-server --mockScoring ``` ### Add a lamassu-machine Click on ``+ Add Machine`` in the sidebar. Type in a name for your machine and click **Pair**. Open up development tools to show the JavaScript console and copy the totem. You will use this to run lamassu-machine. This pairing totem expires after an hour. Now continue with lamassu-machine instructions from the ``INSTALL.md`` file in [lamassu-machine repository](https://github.com/lamassu/lamassu-machine). ### Run a local coin node (BTC supported) Run `node bin/lamassu-coins` in the project root and select `Bitcoin`. This process will require the existence of certain environment variables that the setup will warn about. Once that is done, the node needs to be run in a terminal with the following command `/bin/bitcoind -datadir=/bitcoin` ## Subsequent runs To start the Lamassu server run: ``` node bin/lamassu-server --mockScoring ``` To start the Lamassu Admin run: ``` node bin/lamassu-admin-server --dev ``` and ``` cd new-lamassu-admin/ npm run start ```