--- title: 1-Click z Docker Compose image: /images/user-guide/objects/objects.png --- Header 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). ## 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ń.