Created by Github action --------- Co-authored-by: github-actions <github-actions@twenty.com>
215 lines
9.8 KiB
Plaintext
215 lines
9.8 KiB
Plaintext
---
|
||
title: 1-Click w/ 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/uk/developers/local-setup).
|
||
</Warning>
|
||
|
||
## Огляд
|
||
|
||
Цей посібник надає покрокові інструкції з встановлення та налаштування додатка Twenty за допомогою Docker Compose. Мета - зробити процес зрозумілим і уникнути поширених помилок, які можуть порушити ваше налаштування.
|
||
|
||
**Важливо:** Змінюйте лише ті налаштування, які чітко зазначені в цьому посібнику. Зміна інших конфігурацій може призвести до проблем.
|
||
|
||
Див. документацію [Налаштування змінних середовища](https://docs.twenty.com/l/uk/developers/self-hosting/setup) для розширеного налаштування. Усі змінні середовища мають бути задекларовані у файлі docker-compose.yml на сервері та/або на рівні робочої станції, залежно від змінної.
|
||
|
||
## Системні вимоги
|
||
|
||
- RAM: Переконайтеся, що ваше середовище має принаймні 2GB оперативної пам'яті. Недостатня пам'ять може призвести до аварійного завершення процесів.
|
||
- Docker & Docker Compose: Переконайтеся, що обидва встановлені та оновлені.
|
||
|
||
## Опція 1: Скрипт в один рядок
|
||
|
||
Встановіть останню стабільну версію Twenty за допомогою однієї команди:
|
||
|
||
```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).
|
||
|
||
If you host it on a server, check that the server is running and that everything is ok with
|
||
|
||
```bash
|
||
curl http://localhost:3000
|
||
```
|
||
|
||
## Конфігурація
|
||
|
||
### Відкрийте доступ до Twenty з зовнішньої мережі
|
||
|
||
За замовчуванням Twenty працює на `localhost` на порту `3000`. Щоб отримати доступ через зовнішній домен або IP-адресу, потрібно налаштувати `SERVER_URL` у вашому файлі `.env`.
|
||
|
||
#### Зрозуміння `SERVER_URL`
|
||
|
||
- **Протокол:** Використовуйте `http` або `https` залежно від вашої конфігурації.
|
||
- Використовуйте `http`, якщо у вас не налаштовано SSL.
|
||
- Використовуйте `https`, якщо у вас налаштований SSL.
|
||
- **Домен/IP:** Це доменне ім'я або IP-адреса, де ваш додаток доступний.
|
||
- **Порт:** Вкажіть номер порту, якщо ви не використовуєте стандартні порти (`80` для `http`, `443` для `https`).
|
||
|
||
### Вимоги до SSL
|
||
|
||
SSL (HTTPS) необхідний для роботи певних функцій браузера належним чином. Хоча ці функції можуть працювати під час локальної розробки (оскільки браузери по-різному ставляться до localhost), належне налаштування SSL потрібне при розміщенні Twenty на звичайному домені.
|
||
|
||
Наприклад, API буфера обміну може вимагати безпечного контексту - деякі функції, як кнопки копіювання у всьому додатку, можуть не працювати без HTTPS.
|
||
|
||
Ми настійно рекомендуємо налаштувати Twenty за зворотним проксі з термінацією SSL для оптимальної безпеки та функціональності.
|
||
|
||
#### Налаштування `SERVER_URL`
|
||
|
||
1. **Визначте свій URL доступу**
|
||
- **Без зворотного проксі (прямий доступ):**
|
||
|
||
Якщо ви отримуєте доступ до додатку безпосередньо без зворотного проксі:
|
||
|
||
```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` повинен відповідати тому, як користувачі отримують доступ до вашої програми у своїх браузерах.
|
||
|
||
#### Persistence
|
||
|
||
- **Data Volumes:**
|
||
|
||
Конфігурація Docker Compose використовує томи для збереження даних для бази даних і серверного сховища.
|
||
|
||
- **Stateless Environments:**
|
||
|
||
Якщо розгортаєте в безстатевому середовищі (наприклад, в певних хмарних сервісах), налаштуйте зовнішнє сховище для збереження даних.
|
||
|
||
## Усунення несправностей
|
||
|
||
Якщо виникнуть проблеми, перегляньте [Усунення несправностей](https://docs.twenty.com/l/uk/developers/self-hosting/troubleshooting) для отримання вирішення.
|
||
|