---
title: crwdns60770:0crwdne60770:0
description: "crwdns60772:0crwdne60772:0"
image: crwdns60774:0crwdne60774:0
---

<Frame>
  <img src="/images/user-guide/fields/field.png" alt="Header" />
</Frame>

## crwdns60776:0crwdne60776:0

<Tabs>
<Tab title="Linux and MacOS">

crwdns60778:0crwdne60778:0

- crwdns60780:0https://git-scm.com/book/en/v2/Getting-Started-Installing-Gitcrwdne60780:0
- crwdns60782:0https://nodejs.org/en/downloadcrwdne60782:0
- crwdns60784:0https://yarnpkg.com/getting-started/installcrwdne60784:0
- crwdns60786:0https://github.com/nvm-sh/nvm/blob/master/README.mdcrwdne60786:0

<Warning>
crwdns60788:0crwdne60788:0 crwdns60790:0crwdne60790:0
crwdns60792:0crwdne60792:0
</Warning>

</Tab>

<Tab title="Windows (WSL)">

1. crwdns60794:0crwdne60794:0

```powershell
wsl --install
```

crwdns60796:0crwdne60796:0 crwdns60798:0crwdne60798:0

crwdns60800:0crwdne60800:0 crwdns60802:0crwdne60802:0
crwdns60804:0crwdne60804:0

2. crwdns60806:0crwdne60806:0

```bash
sudo apt-get install git

git config --global user.name "Your Name"

git config --global user.email "youremail@domain.com"
```

3. crwdns60808:0crwdne60808:0

<Warning>
crwdns64054:0crwdne64054:0 crwdns64056:0crwdne64056:0
</Warning>

```bash
sudo apt-get install curl

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
```

crwdns64058:0crwdne64058:0 crwdns64060:0crwdne64060:0

```bash

nvm install # installs recommended node version

nvm use # use recommended node version

corepack enable
```

</Tab>
</Tabs>

---

## crwdns64062:0crwdne64062:0

crwdns64064:0crwdne64064:0

<Tabs>
<Tab title="SSH (Recommended)">
crwdns64066:0https://docs.github.com/en/authentication/connecting-to-github-with-ssh/about-sshcrwdne64066:0
crwdns64068:0crwdne64068:0
</Tab>
<Tab title="HTTPS">

```bash
git clone https://github.com/twentyhq/twenty.git
```

</Tab>
</Tabs>

## crwdns64070:0crwdne64070:0

```bash
cd twenty
```

crwdns64072:0crwdne64072:0

## crwdns64074:0crwdne64074:0

<Tabs>
  <Tab title="Linux">crwdns64076:0https://www.postgresql.org/download/linux/crwdne64076:0

````
**Option 2:** If you have docker installed:
```bash
  make postgres-on-docker
```
````

  </Tab>
  <Tab title="Mac OS">crwdns64080:0crwdne64080:0

````
```bash
  brew install postgresql@16
  export PATH="/opt/homebrew/opt/postgresql@16/bin:$PATH"
  brew services start postgresql@16
  psql postgres -c "CREATE DATABASE \"default\";" -c "CREATE DATABASE test;"
```

You can verify if the PostgreSQL server is running by executing:
```bash
  brew services list
```

The installer might not create the `postgres` user by default when installing
via Homebrew on MacOS. Instead, it creates a PostgreSQL role that matches your macOS
username (e.g., "john").
To check and create the `postgres` user if necessary, follow these steps:
```bash
  # Connect to PostgreSQL
  psql postgres
  or
  psql -U $(whoami) -d postgres
```

Once at the psql prompt (postgres=#), run:
 ```bash
  # List existing PostgreSQL roles
  \du
```
You'll see output similar to:
 ```bash
  Role name | Attributes  | Member of
  -----------+-------------+-----------
  john      | Superuser   | {}
```

If you do not see a `postgres` role listed, proceed to the next step.
Create the `postgres` role manually:
 ```bash
  CREATE ROLE postgres WITH SUPERUSER LOGIN;
```
This creates a superuser role named `postgres` with login access.

**Option 2:** If you have docker installed:
```bash
  make postgres-on-docker
```
````

  </Tab>
  <Tab title="Windows (WSL)">crwdns64084:0crwdne64084:0

````
**Option 1:** To provision your Postgresql locally:
Use the following link to install Postgresql on your Linux virtual machine: [Postgresql Installation](https://www.postgresql.org/download/linux/)
```bash
  psql postgres -c "CREATE DATABASE \"default\";" -c "CREATE DATABASE test;"
```
Note: You might need to add `sudo -u postgres` to the command before `psql` to avoid permission errors.

**Option 2:** If you have docker installed:
Running Docker on WSL adds an extra layer of complexity.
Only use this option if you are comfortable with the extra steps involved, including turning on [Docker Desktop WSL2](https://docs.docker.com/desktop/wsl).
```bash
  make postgres-on-docker
```
````

  </Tab>
</Tabs>

crwdns64088:0localhost:5432crwdne64088:0

## crwdns64090:0crwdne64090:0

crwdns64092:0crwdne64092:0

<Tabs>
  <Tab title="Linux">crwdns64094:0https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/install-redis-on-linux/crwdne64094:0

````
**Option 2:** If you have docker installed:
```bash
  make redis-on-docker
```
````

  </Tab>
  <Tab title="Mac OS">crwdns64098:0crwdne64098:0

````
**Option 2:** If you have docker installed:
```bash
  make redis-on-docker
```
````

  </Tab>
  <Tab title="Windows (WSL)">crwdns64102:0https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/install-redis-on-linux/crwdne64102:0

````
**Option 2:** If you have docker installed:
```bash
  make redis-on-docker
```
````

  </Tab>
</Tabs>

crwdns64106:0https://redis.io/insight/crwdne64106:0

## crwdns64108:0crwdne64108:0

crwdns64110:0crwdne64110:0 crwdns64112:0https://docs.twenty.com/l/aa/developers/self-hosting/setupcrwdne64112:0

crwdns64114:0crwdne64114:0

```bash
cp ./packages/twenty-front/.env.example ./packages/twenty-front/.env
cp ./packages/twenty-server/.env.example ./packages/twenty-server/.env
```

## crwdns64116:0crwdne64116:0

crwdns64118:0crwdne64118:0

```bash
yarn
```

crwdns64120:0crwdne64120:0

## crwdns64122:0crwdne64122:0

<Tabs>
  <Tab title="Linux">
    crwdns64124:0crwdne64124:0
    crwdns64126:0https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/crwdne64126:0
  </Tab>
  <Tab title="Mac OS">
  crwdns64128:0crwdne64128:0 crwdns64130:0crwdne64130:0  
</Tab>
  <Tab title="Windows (WSL)">
    crwdns64132:0crwdne64132:0
    crwdns64134:0https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/crwdne64134:0
  </Tab>
</Tabs>

crwdns64136:0crwdne64136:0

```bash
npx nx database:reset twenty-server
```

crwdns64138:0crwdne64138:0

```bash
npx nx start twenty-server
npx nx worker twenty-server
npx nx start twenty-front
```

crwdns64140:0crwdne64140:0

```bash
npx nx start
```

## crwdns64142:0crwdne64142:0

crwdns64144:0crwdne64144:0

crwdns64146:0http://localhost:3001crwdne64146:0
crwdns64148:0crwdne64148:0

crwdns64150:0crwdne64150:0

- crwdns64152:0http://localhost:3000crwdne64152:0
- crwdns64154:0http://localhost:3000/graphqlcrwdne64154:0
- crwdns64156:0http://localhost:3000/restcrwdne64156:0

## crwdns64158:0crwdne64158:0

crwdns64160:0https://docs.twenty.com/l/aa/developers/self-hosting/troubleshootingcrwdne64160:0