Salt la conținutul principal
Containerele Docker sunt pentru găzduire în producție sau auto-găzduire; pentru a contribui, consultați Configurare locală.

Prezentare generală

Acest ghid oferă instrucțiuni pas cu pas pentru a instala și configura aplicația Twenty folosind Docker Compose. Scopul este de a face procesul direct și de a preveni capcanele comune care ar putea deteriora configurarea dvs. Important: Modificați numai setările menționate explicit în acest ghid. Modificarea altor configurații poate duce la probleme. Consultați documentația Setup Environment Variables pentru configurare avansată. Toate variabilele de mediu trebuie declarate în fișierul docker-compose.yml la nivel de server și/sau de lucru, în funcție de variabilă.

Cerințe de Sistem

  • RAM: Asigurați-vă că mediul dvs. are cel puțin 2 GB de RAM. Memoria insuficientă poate provoca prăbușirea proceselor.
  • Docker & Docker Compose: Asigurați-vă că ambele sunt instalate și la zi.

Opțiunea 1: Script într-o singură linie

Instalați cea mai recentă versiune stabilă a Twenty cu o singură comandă:
bash <(curl -sL https://raw.githubusercontent.com/twentyhq/twenty/main/packages/twenty-docker/scripts/install.sh)
Pentru a instala o versiune sau ramură specifică:
VERSION=vx.y.z BRANCH=branch-name bash <(curl -sL https://raw.githubusercontent.com/twentyhq/twenty/main/packages/twenty-docker/scripts/install.sh)
  • Înlocuiți x.y.z cu numărul versiunii dorite.
  • Înlocuiți branch-name cu numele ramurii pe care doriți să o instalați.

Opțiunea 2: Pași manuali

Urmați acești pași pentru o configurare manuală.

Pasul 1: Configurați Fișierul de Mediu

  1. Creați Fișierul .env Copiați exemplul de fișier de mediu într-un fișier .env nou în directorul de lucru:
    curl -o .env https://raw.githubusercontent.com/twentyhq/twenty/refs/heads/main/packages/twenty-docker/.env.example
    
  2. Generați Tokenuri Secrete Rulați următoarea comandă pentru a genera un șir unic aleatoriu:
    openssl rand -base64 32
    
    Important: Păstrați această valoare secretă / nu o împărtășiți.
  3. Actualizați .env Înlocuiți valoarea substituentului în fișierul dvs. .env cu tokenul generat:
    APP_SECRET=first_random_string
    
  4. Setați Parola pentru Postgres Actualizați valoarea PG_DATABASE_PASSWORD în fișierul .env cu o parolă puternică fără caractere speciale.
    PG_DATABASE_PASSWORD=my_strong_password
    

Pasul 2: Obțineți Fișierul Docker Compose

Descărcați fișierul docker-compose.yml în directorul de lucru:
curl -o docker-compose.yml https://raw.githubusercontent.com/twentyhq/twenty/refs/heads/main/packages/twenty-docker/docker-compose.yml

Pasul 3: Lansați Aplicația

Porniți containerele Docker:
docker compose up -d

Pasul 4: Accesați Aplicația

Dacă găzduiți twentyCRM pe propriul computer, deschideți browserul și navigați la http://localhost:3000. Dacă îl găzduiți pe un server, verificați că serverul rulează și că totul este în regulă cu
curl http://localhost:3000

Configurație

Expuneți Twenty pentru Acces Extern

Implicit, Twenty rulează pe localhost la portul 3000. Pentru a-l accesa printr-un domeniu extern sau adresă IP, trebuie să configurați SERVER_URL în fișierul dvs. .env.

Înțelegerea SERVER_URL

  • Protocol: Utilizați http sau https, în funcție de configurarea dvs.
    • Utilizați http dacă nu ați configurat SSL.
    • Utilizați https dacă aveți SSL configurat.
  • Domeniu/IP: Acesta este numele domeniului sau adresa IP unde aplicația dvs. este accesibilă.
  • Port: Includeți numărul portului dacă nu utilizați porturile implicite (80 pentru http, 443 pentru https).

Cerințe SSL

SSL (HTTPS) este necesar pentru funcționarea corespunzătoare a anumitor funcții ale browserului. Deși aceste funcții pot funcționa în timpul dezvoltării locale (deoarece browserele tratează localhost diferit), o configurare SSL corespunzătoare este necesară când găzduiți Twenty pe un domeniu obișnuit. De exemplu, API-ul pentru clipboard ar putea necesita un context securizat - unele funcții precum butoanele de copiere din aplicație ar putea să nu funcționeze fără HTTPS activat. Recomandăm cu tărie configurarea Twenty din spatele unui proxy revers cu terminare SSL pentru securitate și funcționalitate optimă.

Configurarea SERVER_URL

  1. Stabiliți Adresa dvs. de Acces
    • Fără Proxy Revers (Acces Direct): Dacă accesați aplicația direct, fără un proxy revers:
      SERVER_URL=http://your-domain-or-ip:3000
      
    • Cu Proxy Revers (Porturi Standard): Dacă utilizați un proxy revers precum Nginx sau Traefik și aveți configurat SSL:
      SERVER_URL=https://your-domain-or-ip
      
    • Cu Proxy Revers (Porturi Custom): Dacă utilizați porturi non-standard:
      SERVER_URL=https://your-domain-or-ip:custom-port
      
  2. Actualizați Fișierul .env Deschideți fișierul dvs. .env și actualizați SERVER_URL:
    SERVER_URL=http(s)://your-domain-or-ip:your-port
    
    Exemple:
    • Acces direct fără SSL:
      SERVER_URL=http://123.45.67.89:3000
      
    • Acces prin domeniu cu SSL:
      SERVER_URL=https://mytwentyapp.com
      
  3. Reporniți Aplicația Pentru ca modificările să intre în vigoare, reporniți containerele Docker:
    docker compose down
    docker compose up -d
    

Considerații

  • Configurarea Proxy-ului Invers: Asigurați-vă că proxy-ul invers transmite cererile către portul intern corect (3000 în mod implicit). Configurați finalizarea SSL și toate headerele necesare.
  • Setările Firewall-ului: Deschideți porturile necesare în firewall-ul dvs. pentru a permite accesul extern.
  • Consistență: SERVER_URL trebuie să corespundă modului în care utilizatorii accesează aplicația dvs. în browserele lor.

Persistență

  • Volume de Date: Configurația Docker Compose folosește volume pentru a persista datele pentru baza de date și stocarea serverului.
  • Mediile Fără Stare: Dacă se utilizează un mediu fără stare (de ex., anumite servicii de cloud), configurați stocarea externă pentru a persista datele.

Copiere de rezervă și restaurare

Copiile de rezervă regulate vă protejează datele CRM împotriva pierderii.

Creați o copie de rezervă a bazei de date

docker exec twenty-postgres pg_dump -U postgres twenty > backup_$(date +%Y%m%d).sql

Automatizați copiile de rezervă zilnice

Adăugați în crontab-ul dvs. (crontab -e):
0 2 * * * docker exec twenty-postgres pg_dump -U postgres twenty > /backups/twenty_$(date +\%Y\%m\%d).sql

Restaurare din copie de rezervă

  1. Opriți aplicația:
docker compose stop twenty-server twenty-front
  1. Restaurați baza de date:
docker exec -i twenty-postgres psql -U postgres twenty < backup_20240115.sql
  1. Reporniți serviciile:
docker compose up -d

Cele mai bune practici pentru copiile de rezervă

  • Testați restaurările în mod regulat — verificați că copiile de rezervă chiar funcționează
  • Stocați copiile de rezervă în afara sediului — utilizați stocarea în cloud (S3, GCS, etc.)
  • Criptați datele sensibile — protejați copiile de rezervă cu criptare
  • Păstrați mai multe copii — mențineți copii de rezervă zilnice, săptămânale și lunare

Depanare

Dacă întâmpinați vreo problemă, verificați Depanare pentru soluții.