# 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](https://github.com/lamassu/lamassu-machine). ### 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 `/bin/bitcoind -datadir=/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 ```