---
title: 1-Клик са Docker Compose
image: /images/user-guide/objects/objects.png
---

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

<Warning>
Docker containers are for production hosting or self-hosting, for the contribution please check the [Local Setup](https://docs.twenty.com/l/sr/developers/local-setup).
</Warning>

## Преглед

Овај водич нуди корак-по-корак упутства за инсталирање и конфигурацију Twenty апликације користећи Docker Compose. Циљ је да се процес учини једноставним и избегну уобичајене грешке које би могле нарушити ваша подешавања.

**Важно:** Подесите искључиво поставке специфично наведене у овом водичу. Промена других конфигурација може довести до проблема.

Погледајте документацију о [Подешавање Енвиронментских Променљивих](https://docs.twenty.com/l/sr/developers/self-hosting/setup) за напредну конфигурацију. Све енвиронментске променљиве морају бити декларисане у датотеци docker-compose.yml на серверском и / или радничком нивоу у зависности од променљиве.

## Системски Захтеви

- РАМ: Уверите се да ваше окружење има најмање 2ГБ РАМ-а. Недовољна меморија може проузроковати пад процеса.
- Docker & Docker Compose: Пазите да оба буду инсталирана и ажурирана.

## Опција 1: Скрипта у једној линији

Install the latest stable version of Twenty with a single command:

```bash
bash <(curl -sL https://raw.githubusercontent.com/twentyhq/twenty/main/packages/twenty-docker/scripts/install.sh)
```

Да бисте инсталирали специфичну верзију или грану:

```bash
VERSION=vx.y.z BRANCH=branch-name bash <(curl -sL https://raw.githubusercontent.com/twentyhq/twenty/main/packages/twenty-docker/scripts/install.sh)
```

- Замените x.y.z са жељеним бројем верзије.
- Замените branch-name са именом гране коју желите да инсталирате.

## Опција 2: Ручни кораци

Следите ове кораке за ручну инсталацију.

### Корак 1: Подесите Енвиронментску Датотеку

1. **Направите .env Датотеку**

   Копирајте пример енвиронментске датотеке у нову .env датотеку у вашем радном директоријуму:

   ```bash
   curl -o .env https://raw.githubusercontent.com/twentyhq/twenty/refs/heads/main/packages/twenty-docker/.env.example
   ```

2. **Генеришите Тајне Токене**

   Покрените следећу команду да бисте генерисали јединствени случајни низ:

   ```bash
   openssl rand -base64 32
   ```

   **Важно:** Држите ову вредност тајном / не делите је.

3. **Ажурирајте `.env`**

   Замените привремену вредност у вашој .env датотеци са генерисаним токеном:

   ```ini
   APP_SECRET=first_random_string
   ```

4. **Подесите Лозинку за Postgres**

   Ажурирајте вредност `PG_DATABASE_PASSWORD` у .env датотеци са јаком лозинком без посебних знакова.

   ```ini
   PG_DATABASE_PASSWORD=my_strong_password
   ```

### Корак 2: Набавите Docker Compose Фајл

Преузмите `docker-compose.yml` датотеку у ваш радни директоријум:

```bash
curl -o docker-compose.yml https://raw.githubusercontent.com/twentyhq/twenty/refs/heads/main/packages/twenty-docker/docker-compose.yml
```

### Корак 3: Покрените Апликацију

Покрените Docker контејнере:

```bash
docker compose up -d
```

### Корак 4: Приступите Апликацији

Ако хостирате twentyCRM на сопственом рачунару, отворите прегледач и идите на [http://localhost:3000](http://localhost:3000).

Ако је хостирате на серверу, проверите да ли је сервер активан и да ли све функционише исправно

```bash
curl http://localhost:3000
```

## Конфигурација

### Expose Twenty to External Access

By default, Twenty runs on `localhost` at port `3000`. To access it via an external domain or IP address, you need to configure the `SERVER_URL` in your `.env` file.

#### Разумевање `SERVER_URL`

- **Протокол:** Користите `http` или `https` у зависности од вашег подешавања.
  - Користите `http` ако нисте подесили SSL.
  - Користите `https` ако сте конфигурисали SSL.
- **Домен/ИП:** Ово је име домена или ИП адреса на којој је ваша апликација доступна.
- **Порт:** Укључите број порта ако не користите стандардне портове (`80` за `http`, `443` за `https`).

### SSL Захтеви

SSL (HTTPS) је неопходан за исправан рад појединих функција прегледача. Иако ове функције могу радити током локалног развоја (јер прегледачи различито третирају localhost), потребна је правилна SSL конфигурација када се Twenty хостује на редовном домену.

На пример, clipboard API можда захтева безбедан контекст - неке функције попут дугмета за копирање широм апликације можда неће радити без омогућеног HTTPS.

Снажно препоручујемо подешавање Twenty иза реверсног проксија са SSL терминатором за максималну безбедност и функцију.

#### Конфигурација `SERVER_URL`

1. **Одредите Ваш УРЛ за Приступ**
   - **Без Реверсног Проксија (Директан Приступ):**

     Ако приступате апликацији директно без реверсног проксија:

     ```ini
     SERVER_URL=http://your-domain-or-ip:3000
     ```

   - **Са Реверсним Проксијем (Стандардни Портови):**

     Ако користите реверсни прокси попут Nginx или Traefik и имате конфигурисан SSL:

     ```ini
     SERVER_URL=https://your-domain-or-ip
     ```

   - **Са Реверсним Проксијем (Прилагођени Портови):**

     Ако користите нестандардне портове:

     ```ini
     SERVER_URL=https://your-domain-or-ip:custom-port
     ```

2. **Ажурирајте `.env` Датотеку**

   Отворите вашу `.env` датотеку и ажурирајте `SERVER_URL`:

   ```ini
   SERVER_URL=http(s)://your-domain-or-ip:your-port
   ```

   **Примери:**

   - Директан приступ без SSL-а:
     ```ini
     SERVER_URL=http://123.45.67.89:3000
     ```
   - Приступ преко домена са SSL-ом:
     ```ini
     SERVER_URL=https://mytwentyapp.com
     ```

3. **Поново Покрените Апликацију**

   Да би се промене примењивале, поново покрените Docker контејнере:

   ```bash
   docker compose down
   docker compose up -d
   ```

#### Разматрања

- **Конфигурација повратног проксија:**

  Уверите се да ваш повратни прокси усмерава захтеве на исправан интерни порт (подразумевано `3000`). Конфигуришите завршетак SSL-а и све неопходне заглавља.

- **Подешавања заштитног зида:**

  Отворите неопходне портове у вашем заштитном зиду да бисте омогућили екстерни приступ.

- **Конзистентност:**

  `SERVER_URL` мора одговарати начину на који корисници приступају вашој апликацији у својим прегледачима.

#### Трајност

- **Волумени података:**

  Конфигурација Docker Compose користи волумене за чување података за базу података и складиштење сервера.

- **Stateless Environments:**

  Ако се примењује на окружје без државе (нпр., одређене услуге у облаку), конфигуришите спољашње складиштење за чување података.

## Решавање проблема

Ако наиђете на било какав проблем, проверите [Решавање проблема](https://docs.twenty.com/l/sr/developers/self-hosting/troubleshooting) за решења.

