--- title: Локална поставка description: "Водич за сараднике (или радознали програмери) који желе да покрену Twenty локално." image: /images/user-guide/fields/field.png --- Header ## Предуслови Пре него што инсталирате и користите Twenty, уверите се да сте инсталирали следеће на вашем рачунару: - [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) - [Node v24.5.0](https://nodejs.org/en/download) - [yarn v4](https://yarnpkg.com/getting-started/install) - [nvm](https://github.com/nvm-sh/nvm/blob/master/README.md) `npm` неће радити, користите `yarn` уместо њега. Yarn је сада укључен у Node.js, тако да га није потребно посебно инсталирати. Потребно је само да покренете `corepack enable` да бисте омогућили Yarn ако то већ нисте урадили. 1. Инсталирајте WSL Отворите PowerShell као администратор и покрените: ```powershell wsl --install ``` Сада би требало да видите поруку да поново покренете рачунар. Ако не, поново покрените га ручно. Након поновног покретања, отвориће се прозор терминала и инсталираће Ubuntu. This may take up some time. Видећете да се појављује прозор за креирање корисничког имена и лозинке за вашу Ubuntu инсталацију. 2. Инсталирајте и конфигуришите git ```bash sudo apt-get install git git config --global user.name "Your Name" git config --global user.email "youremail@domain.com" ``` 3. Инсталирајте nvm, node.js и yarn Користите `nvm` да инсталирате одговарајућу верзију `node`. The `.nvmrc` ensures all contributors use the same version. ```bash sudo apt-get install curl curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash ``` Затворите и поново отворите ваш терминал да бисте користили nvm. Затим покрените следеће команде. ```bash nvm install # installs recommended node version nvm use # use recommended node version corepack enable ``` --- ## Корак 1: Копирање Git-а У вашем терминалу, покрените следећу команду. Ако већ нисте поставили SSH кључеве, можете научити како то да урадите [овде](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/about-ssh). ```bash git clone git@github.com:twentyhq/twenty.git ``` ```bash git clone https://github.com/twentyhq/twenty.git ``` ## Корак 2: Позиционирајте се на root ```bash cd twenty ``` Све команде у наредним корацима треба покренути из корена пројекта. ## Корак 3: Поставите PostgreSQL базу података **Option 1 (preferred):** To provision your database locally: Use the following link to install Postgresql on your Linux 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: ```bash make postgres-on-docker ``` ```` **Option 1 (preferred):** To provision your database locally with `brew`: ```` ```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 ``` ```` All the following steps are to be run in the WSL terminal (within your virtual machine) ```` **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 ``` ```` Сада можете приступити бази података на [localhost:5432](localhost:5432), са корисником `postgres` и лозинком `postgres` . ## Step 4: Set up a Redis Database (cache) Twenty requires a redis cache to provide the best performance **Option 1:** To provision your Redis locally: Use the following link to install Redis on your Linux machine: [Redis Installation](https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/install-redis-on-linux/) ```` **Option 2:** If you have docker installed: ```bash make redis-on-docker ``` ```` **Option 1 (preferred):** To provision your Redis locally with `brew`: ```bash brew install redis ``` Start your redis server: ```brew services start redis``` ```` **Option 2:** If you have docker installed: ```bash make redis-on-docker ``` ```` **Option 1:** To provision your Redis locally: Use the following link to install Redis on your Linux virtual machine: [Redis Installation](https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/install-redis-on-linux/) ```` **Option 2:** If you have docker installed: ```bash make redis-on-docker ``` ```` Ако вам је потребан GUI клијент, препоручујемо [redis insight](https://redis.io/insight/) (доступна бесплатна верзија) ## Корак 5: Поставите променљиве окружења Користите променљиве окружења или `.env` датотеке за конфигурацију вашег пројекта. Више информација [овде](https://docs.twenty.com/l/sr/developers/self-hosting/setup) Копирајте `.env.example` датотеке у `/front` и `/server`: ```bash cp ./packages/twenty-front/.env.example ./packages/twenty-front/.env cp ./packages/twenty-server/.env.example ./packages/twenty-server/.env ``` ## Корак 6: Инсталирање зависности Да бисте изградили Twenty сервер и убацили одређене податке у вашу базу података, покрените следећу команду: ```bash yarn ``` Имајте на уму да `npm` или `pnpm` неће радити ## Корак 7: Покретање пројекта У зависности од ваше Линукс дистрибуције, Redis сервер може бити аутоматски покренут. Ако није, проверите [Водич за инсталацију Redis-а](https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/) за вашу дистрибуцију. Redis би већ требало да ради. If not, run: ```bash brew services start redis ``` У зависности од ваше Линукс дистрибуције, Redis сервер може бити аутоматски покренут. Ако није, проверите [Водич за инсталацију Redis-а](https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/) за вашу дистрибуцију. Подесите вашу базу података следећом командом: ```bash npx nx database:reset twenty-server ``` Покрените сервер, радника и фронтенд сервисе: ```bash npx nx start twenty-server npx nx worker twenty-server npx nx start twenty-front ``` Алтернативно, можете покренути све сервисе одједном: ```bash npx nx start ``` ## Корак 8: Употреба Twenty **Фронтенд** Фронтенд Twenty ће радити на [http://localhost:3001](http://localhost:3001). Можете се пријавити користећи задати демо налог: `tim@apple.dev` (лозинка: `tim@apple.dev`) **Бекенд** - Сервер Twenty ће бити покренут на [http://localhost:3000](http://localhost:3000) - GraphQL API можете приступити на [http://localhost:3000/graphql](http://localhost:3000/graphql) - REST API је доступан на [http://localhost:3000/rest](http://localhost:3000/rest) ## Решавање проблема Ако наиђете на било какав проблем, проверите [Решавање проблема](https://docs.twenty.com/l/sr/developers/self-hosting/troubleshooting) за решења.