142 lines
3.1 KiB
Markdown
142 lines
3.1 KiB
Markdown
# 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 `<YOUR_BLOCKCHAIN_DIR_ENV_VAR>/bin/bitcoind -datadir=<YOUR_BLOCKCHAIN_DIR_ENV_VAR>/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
|
|
```
|