--- title: 1-Klik met 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/nl/developers/local-setup). ## Overzicht Deze handleiding biedt stapsgewijze instructies voor het installeren en configureren van de Twenty-applicatie met behulp van Docker Compose. Het doel is om het proces eenvoudig te maken en veelvoorkomende valkuilen te vermijden die uw setup kunnen verstoren. **Belangrijk:** Wijzig alleen de instellingen die expliciet in deze handleiding worden vermeld. Het wijzigen van andere configuraties kan tot problemen leiden. Zie docs [Setup Omgevingsvariabelen](https://docs.twenty.com/l/nl/developers/self-hosting/setup) voor geavanceerde configuratie. Alle omgevingsvariabelen moeten op server- en/of werkniveau in het docker-compose.yml-bestand worden gedeclareerd, afhankelijk van de variabele. ## Systeemvereisten - RAM: Zorg ervoor dat uw omgeving minimaal 2GB RAM heeft. Onvoldoende geheugen kan ervoor zorgen dat processen crashen. - Docker & Docker Compose: Zorg ervoor dat beide zijn geïnstalleerd en up-to-date zijn. ## Optie 1: Eén-regel script Installeer de laatste stabiele versie van Twenty met één enkele opdracht: ```bash bash <(curl -sL https://raw.githubusercontent.com/twentyhq/twenty/main/packages/twenty-docker/scripts/install.sh) ``` Om een specifieke versie of branch te installeren: ```bash VERSION=vx.y.z BRANCH=branch-name bash <(curl -sL https://raw.githubusercontent.com/twentyhq/twenty/main/packages/twenty-docker/scripts/install.sh) ``` - Vervang x.y.z door het gewenste versienummer. - Vervang branch-naam door de naam van de tak die u wilt installeren. ## Optie 2: Handmatige stappen Volg deze stappen voor een handmatige setup. ### Stap 1: Stel het Omgevingsbestand in 1. **Creëer het .env-bestand** Kopieer het voorbeeld van het omgevingsbestand naar een nieuw .env-bestand in uw werkmap: ```bash curl -o .env https://raw.githubusercontent.com/twentyhq/twenty/refs/heads/main/packages/twenty-docker/.env.example ``` 2. **Genereer Geheim Tokens** Voer de volgende opdracht uit om een unieke willekeurige string te genereren: ```bash openssl rand -base64 32 ``` **Belangrijk:** Houd deze waarde geheim / deel het niet. 3. **Werk het `.env` bij** Vervang de tijdelijke waarde in uw .env-bestand door de gegenereerde token: ```ini APP_SECRET=first_random_string ``` 4. **Stel het Postgres-wachtwoord in** Werk de waarde `PG_DATABASE_PASSWORD` in het .env-bestand bij met een sterk wachtwoord zonder speciale tekens. ```ini PG_DATABASE_PASSWORD=my_strong_password ``` ### Stap 2: Verkrijg het Docker Compose-bestand Download het `docker-compose.yml`-bestand naar uw werkmap: ```bash curl -o docker-compose.yml https://raw.githubusercontent.com/twentyhq/twenty/refs/heads/main/packages/twenty-docker/docker-compose.yml ``` ### Stap 3: Start de Applicatie Start de Docker-containers: ```bash docker compose up -d ``` ### Stap 4: Toegang tot de Applicatie Als u twentyCRM op uw eigen computer host, open dan uw browser en ga naar [http://localhost:3000](http://localhost:3000). Als u het op een server host, controleer dan of de server draait en dat alles in orde is met ```bash curl http://localhost:3000 ``` ## Configuratie ### Stel Twenty bloot aan Externe Toegang Standaard draait Twenty op `localhost` op poort `3000`. Om toegang te krijgen via een extern domein of IP-adres, moet u de `SERVER_URL` in uw `.env`-bestand configureren. #### Begrijpen van `SERVER_URL` - **Protocol:** Gebruik `http` of `https` afhankelijk van uw setup. - Gebruik `http` als u geen SSL heeft ingesteld. - Gebruik `https` als u SSL heeft geconfigureerd. - **Domein/IP:** Dit is de domeinnaam of het IP-adres waar uw applicatie toegankelijk is. - **Poort:** Vermeld het poortnummer als u geen gebruik maakt van de standaardpoorten (`80` voor `http`, `443` voor `https`). ### SSL-vereisten SSL (HTTPS) is vereist voor bepaalde browserfunctionaliteiten om correct te werken. Hoewel deze functies tijdens lokale ontwikkeling kunnen werken (omdat browsers localhost anders behandelen), is een goede SSL-configuratie nodig bij het hosten van Twenty op een gewoon domein. Voorbeeld: de Klembord-API heeft mogelijk een beveiligde context nodig - sommige functies zoals kopieerknoppen in de applicatie werken mogelijk niet zonder HTTPS. We raden ten zeerste aan om Twenty achter een reverse proxy met SSL-beëindiging te zetten voor optimale beveiliging en functionaliteit. #### Configuratie van `SERVER_URL` 1. **Bepaal Uw Toegangs-URL** - **Zonder Reverse Proxy (Directe Toegang):** Als u de applicatie direct benadert zonder reverse proxy: ```ini SERVER_URL=http://your-domain-or-ip:3000 ``` - **Met Reverse Proxy (Standaard Poorten):** Als u een reverse proxy zoals Nginx of Traefik gebruikt en SSL heeft geconfigureerd: ```ini SERVER_URL=https://your-domain-or-ip ``` - **Met Reverse Proxy (Aangepaste Poorten):** Als u niet-standaard poorten gebruikt: ```ini SERVER_URL=https://your-domain-or-ip:custom-port ``` 2. **Werk het `.env`-bestand bij** Open uw `.env`-bestand en werk de `SERVER_URL` bij: ```ini SERVER_URL=http(s)://your-domain-or-ip:your-port ``` **Voorbeelden:** - Directe toegang zonder SSL: ```ini SERVER_URL=http://123.45.67.89:3000 ``` - Toegang via domein met SSL: ```ini SERVER_URL=https://mytwentyapp.com ``` 3. **Herstart de Applicatie** Om de wijzigingen door te voeren, herstart de Docker-containers: ```bash docker compose down docker compose up -d ``` #### Overwegingen - **Reverse Proxy Configuratie:** Zorg ervoor dat je reverse proxy verzoeken doorstuurt naar de juiste interne poort (`3000` standaard). Configureer SSL-terminatie en de nodige headers. - **Firewall Instellingen:** Open de benodigde poorten in je firewall om extern toegang te verlenen. - **Consistentie:** De `SERVER_URL` moet overeenkomen met hoe gebruikers je applicatie in hun browsers benaderen. #### Persistentie - **Gegevensvolumes:** De Docker Compose-configuratie gebruikt volumes om gegevens voor de database en serveropslag te bewaren. - **Staatloze Omgevingen:** Als je implementeert in een staatloze omgeving (bijv. bepaalde clouddiensten), configureer dan externe opslag om gegevens te behouden. ## Problemen oplossen Als je een probleem tegenkomt, bekijk dan [Problemen oplossen](https://docs.twenty.com/l/nl/developers/self-hosting/troubleshooting) voor oplossingen.