lamassu-server/INSTALL.md
siiky e10493abc6 Merge branch 'dev' into feat/lam-1291/stress-testing
* dev: (85 commits)
  chore: console.log debug leftovers
  fix: third level navigation links
  fix: show subheader on refresh
  fix: machines/:id routing
  fix: customer route
  chore: update wallet nodes
  feat: shorten long addresses in funding page
  feat: shorten long addresses
  refactor: support copied text different from presented text
  chore: udpate react, downshift and routing
  refactor: use Wizard component on first route
  fix: autocomplete component rendering
  feat: skip2fa option on .env
  fix: drop contraint before dropping index
  chore: stop using alias imports
  fix: re-instate urlResolver
  chore: server code formatting
  chore: reformat code
  chore: adding eslint and prettier config
  chore: typo
  ...
2025-05-20 11:59:44 +01:00

3 KiB

Install

Preliminaries for Ubuntu 16.04

Installation for other distros may be slightly different. This assumes NodeJS 22 or higher is 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

Installation

Install node modules

Make sure you're running NodeJS 22 or higher. Ignore any warnings.

npm install

Generate certificates

bash packages/server/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 packages/server/bin/lamassu-migrate

Run new-lamassu-admin

cd packages/admin-ui/
npm run start

Run lamassu-admin-server

In a second terminal window:

node packages/server/bin/lamassu-admin-server --dev

Register admin user

In a third terminal window:

node packages/server/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 packages/server/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.

Run a local coin node (BTC supported)

Run node packages/server/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 packages/server/bin/lamassu-server --mockScoring

To start the Lamassu Admin run:

node packages/server/bin/lamassu-admin-server --dev

and

cd packages/admin-ui/
npm run start