---
title: 1-Click z 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/pl/developers/local-setup).
</Warning>

## Przegląd

This guide provides step-by-step instructions to install and configure the Twenty application using Docker Compose. Celem jest uczynienie procesu prostym i uniknięcie typowych błędów, które mogą zakłócić twoją konfigurację.

**Ważne:** Modyfikuj wyłącznie ustawienia wyraźnie wskazane w tym przewodniku. Zmiana innych konfiguracji może prowadzić do problemów.

Zobacz dokumenty [Konfiguracja zmiennych środowiskowych](https://docs.twenty.com/l/pl/developers/self-hosting/setup) dla zaawansowanej konfiguracji. Wszystkie zmienne środowiskowe muszą być zadeklarowane w pliku docker-compose.yml na poziomie serwera i/lub pracownika, w zależności od zmiennej.

## Wymagania systemowe

- Pamięć RAM: Upewnij się, że środowisko ma co najmniej 2GB RAM. Niewystarczająca pamięć może powodować awarie procesów.
- Docker i Docker Compose: Upewnij się, że oba są zainstalowane i aktualne.

## Opcja 1: Skrypt w jednej linii

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)
```

Aby zainstalować konkretną wersję lub gałąź:

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

- Zastąp x.y.z wybranym numerem wersji.
- Zastąp nazwę-gałęzi nazwą gałęzi, którą chcesz zainstalować.

## Opcja 2: Manualne kroki

Wykonaj te kroki, aby skonfigurować ręcznie.

### Krok 1: Ustaw plik środowiskowy

1. **Utwórz plik .env**

   Skopiuj przykładowy plik środowiska do nowego pliku .env w swoim katalogu roboczym:

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

2. **Generuj tajne tokeny**

   Uruchom poniższe polecenie, aby wygenerować unikalną losową sekwencję:

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

   **Important:** Keep this value secret / do not share it.

3. **Zaktualizuj `.env`**

   Zastąp wartość zastępczą w pliku .env wygenerowanym tokenem:

   ```ini
   APP_SECRET=first_random_string
   ```

4. **Ustaw hasło do Postgresa**

   Zaktualizuj wartość `PG_DATABASE_PASSWORD` w pliku .env silnym hasłem bez znaków specjalnych.

   ```ini
   PG_DATABASE_PASSWORD=my_strong_password
   ```

### Krok 2: Pobierz plik Docker Compose

Pobierz plik `docker-compose.yml` do swojego katalogu roboczego:

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

### Krok 3: Uruchom aplikację

Uruchom kontenery Dockera:

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

### Krok 4: Uzyskaj dostęp do aplikacji

Jeśli hostujesz twentyCRM na swoim komputerze, otwórz przeglądarkę i przejdź do [http://localhost:3000](http://localhost:3000).

Jeśli hostujesz to na serwerze, sprawdź, czy serwer działa i wszystko jest w porządku z

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

## Konfiguracja

### Expose Twenty to External Access

Domyślnie Twenty działa na `localhost` na porcie `3000`. Aby uzyskać do niego dostęp przez zewnętrzną domenę lub adres IP, musisz skonfigurować `SERVER_URL` w swoim pliku `.env`.

#### Zrozumienie `SERVER_URL`

- **Protokół:** Użyj `http` lub `https` w zależności od swojej konfiguracji.
  - Użyj `http`, jeśli nie skonfigurowano SSL.
  - Użyj `https`, jeśli masz skonfigurowane SSL.
- **Domena/IP:** To nazwa domeny lub adres IP, pod którym aplikacja jest dostępna.
- **Port:** Dołącz numer portu, jeśli nie używasz domyślnych portów (`80` dla `http`, `443` dla `https`).

### Wymagania SSL

SSL (HTTPS) jest wymagany do poprawnego działania pewnych funkcji przeglądarki. Podczas gdy te funkcje mogą działać podczas lokalnego rozwoju (ponieważ przeglądarki traktują localhost inaczej), prawidłowa konfiguracja SSL jest potrzebna przy hostowaniu Twenty na regularnej domenie.

Na przykład API schowka może wymagać bezpiecznego kontekstu - niektóre funkcje, takie jak przyciski kopiowania w całej aplikacji, mogą nie działać bez włączonego HTTPS.

Zdecydowanie zalecamy skonfigurowanie Twenty za pośrednictwem proxy odwrotnego z zakończeniem SSL dla optymalnego bezpieczeństwa i funkcjonalności.

#### Konfigurowanie `SERVER_URL`

1. **Określ swój URL dostępu**
   - **Bez proxy odwrotnego (Bezpośredni dostęp):**

     Jeśli uzyskujesz dostęp do aplikacji bezpośrednio, bez proxy odwrotnego:

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

   - **Z proxy odwrotnym (Standardowe porty):**

     Jeśli używasz proxy odwrotnego, takiego jak Nginx lub Traefik, i masz skonfigurowane SSL:

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

   - **Z proxy odwrotnym (Niestandardowe porty):**

     Jeśli używasz niestandardowych portów:

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

2. **Zaktualizuj plik `.env`**

   Otwórz plik `.env` i zaktualizuj `SERVER_URL`:

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

   **Przykłady:**

   - Bezpośredni dostęp bez SSL:
     ```ini
     SERVER_URL=http://123.45.67.89:3000
     ```
   - Dostęp przez domenę z SSL:
     ```ini
     SERVER_URL=https://mytwentyapp.com
     ```

3. **Zrestartuj aplikację**

   Aby zmiany weszły w życie, zrestartuj kontenery Dockera:

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

#### Kwestie do rozważenia

- **Konfiguracja serwera proxy odwrotnego:**

  Upewnij się, że Twój serwer proxy odwrotny przekazuje żądania na właściwy wewnętrzny port (domyślnie `3000`). Skonfiguruj zakończenie SSL i wszelkie niezbędne nagłówki.

- **Ustawienia zapory:**

  Otwórz niezbędne porty w zaporze, aby umożliwić zewnętrzny dostęp.

- **Spójność:**

  `SERVER_URL` musi odpowiadać temu, jak użytkownicy uzyskują dostęp do Twojej aplikacji w przeglądarkach.

#### Trwałość

- **Wolumeny danych:**

  The Docker Compose configuration uses volumes to persist data for the database and server storage.

- **Środowiska bezstanowe:**

  Jeśli wdrażasz w środowisku bezstanowym (np. pewne usługi w chmurze), skonfiguruj zewnętrzne przechowywanie, aby przechowywać dane.

## Rozwiązywanie problemów

Jeśli napotkasz jakiekolwiek problemy, sprawdź [Rozwiązywanie problemów](https://docs.twenty.com/l/pl/developers/self-hosting/troubleshooting) w poszukiwaniu rozwiązań.

