Files
twenty/docs/docs/contributor/local-setup/yarn-setup.mdx
Charles Bochet 77729e4d4b Update installation doc (#2019)
* Update installation doc

* Update install scripts

* Update install scripts
2023-10-14 13:43:45 +02:00

151 lines
4.2 KiB
Plaintext

---
title: Yarn Setup
sidebar_position: 1
description: |
Set up the project with Yarn
(MacOs and Linux)
sidebar_custom_props:
icon: TbScript
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
In this document, you'll learn how to install the project using yarn. We recommend this method since it's the easiest way to get started but you can also run the project with [Docker](/contributor/local-setup/docker-setup) or [WSL2](/contributor/local-setup/wsl-setup).
:::info
`npm` currently does not support local packages satisfactorily. We strongly recommend using `yarn` instead.
:::
## Prerequisites
Before you can install and use Twenty, make sure you install the following on your computer:
- [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)
- [Node v18](https://nodejs.org/en/download)
- [yarn v1](https://classic.yarnpkg.com/lang/en/docs/install/)
- [nvm](https://github.com/nvm-sh/nvm/blob/master/README.md)
---
## Step 1: Git Clone
In your terminal, run the following command.
We recommend using SSH for this step. If you already haven't set up SSH keys, please do so first. You can learn more about it [here](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/about-ssh).
<Tabs>
<TabItem value="ssh" label="SSH (Recommended)" default>
```bash
git clone git@github.com:twentyhq/twenty.git
```
</TabItem>
<TabItem value="https" label="HTTPS" >
```bash
git clone https://github.com/twentyhq/twenty.git
```
</TabItem>
</Tabs>
## Step 2: Set up PostgreSQL Database
You need to have a PostgreSQL instance available to be able to use Twenty.
This database needs to be provisionned with the a `twenty` user (password: `twenty`), a `default` database and a `test` database.
<Tabs>
<TabItem value="linux" label="Linux" default>
<b>Option 1:</b> To provision your database locally:
<br /><br />
```bash
cd twenty
sh ./infra/dev/scripts/setup-database.sh
```
<b>Option 2:</b> Alternatively if you have docker installed:
<br /><br />
```bash
cd twenty
make provision-postgres
```
This will create a Docker container, exposing a PostgresSQL instance at [http://localhost:5432](http://localhost:5432).
You can access them using `twenty` postgres user (password: `twenty`)
</TabItem>
<TabItem value="mac-os" label="Mac OS" default>
You must provision PostgresSQL using Docker. To do so, run the following command:
```bash
cd twenty
make provision-postgres
```
This will create a Docker container, exposing a PostgresSQL instance at [http://localhost:5432](http://localhost:5432).
You can access them using `twenty` postgres user (password: `twenty`)
</TabItem>
<TabItem value="wsl" label="Windows (WSL)">
We recommend to provision your database locally:
```bash
cd twenty
sh ./infra/dev/scripts/setup-database.sh
```
This will create a Docker container, exposing a PostgresSQL instance at [http://localhost:5432](http://localhost:5432).
You can access them using `twenty` postgres user (password: `twenty`)
</TabItem>
</Tabs>
## Step 3: Setup env variables
Twenty requires a few environment variables to be set. Locally, we recommend setting them through a `.env` file.
To do so, make copies of the `.env.example` files in `/front` and `/server`:
```bash
cp ./front/.env.example ./front/.env
cp ./server/.env.example ./server/.env
```
## Step 4: Server setup
:::info
We recommend that you use `nvm` to install the correct `node` version. We have added a `server/.nvmrc` to ensure all contributors use the same version.
:::
To build Twenty server and seed some data into your database, run the following commands:
```bash
cd server
nvm install #recommended
nvm use #recommended
yarn
yarn database:setup
yarn database:reset
yarn start:dev
```
Twenty's server will be up and running at [http://localhost:3000/graphql](http://localhost:3000/graphql).
## Step 5: Frontend setup
:::info
For the frontend setup, too, we recommend using `nvm` to install the right node version.
:::
To set up the frontend, run the following commands in another terminal:
```bash
cd front
nvm install #recommended
nvm use #recommended
yarn
yarn start
```
Twenty's frontend will be running at [http://localhost:3001](http://localhost:3001). Simply login using our seeded demo account: `tim@apple.dev` to start using Twenty.