Fresh install

When setting up a fresh install the following steps are recommended

Install git and set up ssh

Git install

The VCS used here at motiv is git. As such you will need to install git.

https://github.com/git-guides/install-git

Set up ssh

Many of our install scripts rely on git ssh being set up. So you will need to set up your git ssh key and access.

https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account

Install gita

Gita is used by many of Motiv's developers and helps manage the many repositories we have. We recommend install it.

https://github.com/nosarthur/gita

Install docker and compose

You will next need to install docker. All our services are created via docker images and run using docker compose. Both will need to be installed.

Install docker

We do not recommend using docker desktop. Instead install the docker engine and cli.

https://docs.docker.com/engine/install/ubuntu/

Install docker compose

Next install docker compose. Again we do not recommend using docker desktop. Instead install the cli.

https://docs.docker.com/compose/install/#scenario-two-install-the-compose-plugin

Set docker compose alias

If docker compose v2 is used, you will need to create an alias for the command docker compose to run as docker-compose . Astro uses the docker-compose syntax and thus requires this alias to run.

https://stackoverflow.com/questions/72099653/how-to-alias-docker-compose-to-docker-compose

Set docker to run for your user

This step will allow your user to run docker commands without requiring root access.

https://docs.docker.com/engine/install/linux-postinstall/

Docker login

Next you will need to run docker login to ensure you have access to all motivlabs repositories.

In a terminal simply run docker login and then provide the motivlabs docker username and password.

Set VM max map count

Some systems require the vm max map count to be increased. As such you can run the following command to increase it.

sysctl -w vm.max_map_count=262144

To make this persistent, you can add this line:

vm.max_map_count=262144

in your /etc/sysctl.conf and run

$ sudo sysctl -p

Download git clone script

Next you will need to download the git clone script to clone all motiv labs github repositories.

https://github.com/motiv-labs/impulse/blob/master/scripts/gitCloneAllRepos.sh

Download or copy this script to your development directory where all the repositories should live. Make the script executable, then run the script. This will download all github repositories for Impulse into the executed directory, with the appropriate hierarchy.

Set impulse license

Once the git clone script has finished in order to be able to run Impulse, you will need to set up a license to use. Follow the steps in this slack thread to set up a license.

Set git config for go mod

Since many of the go modules used are private repositories, you will need to set up your git config to be able to run go mod commands successfully.

https://stackoverflow.com/questions/71851732/go-mod-tidy-fails-to-download-private-github-repository

Set astro login conf

To run astro's build commands you will need to create an astro-login.conf file at impulse/docker-tools/compose-template/config/astro-login.conf . You can copy the astro-login-base.conf file for the list of environment variables to be set. Then set your personal credentials in astro-login.conf .

GITHUB_USER

This is the user to login to github with. The user must have access to motiv-labs github repositories.

GITHUB_TOKEN

This is the token for the github user to login to github with. You can create a personal access token for this.

https://docs.github.com/en/enterprise-server@3.4/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens

Last updated