254 lines
8.0 KiB
Plaintext
254 lines
8.0 KiB
Plaintext
---
|
||
title: 1-Tıklama ile Docker Compose
|
||
---
|
||
|
||
<Warning>
|
||
Docker kapsayıcıları, üretim ortamında barındırma veya kendi kendine barındırma içindir. Katkıda bulunmak için lütfen [Yerel Kurulum](/l/tr/developers/contribute/capabilities/local-setup) bölümüne bakın.
|
||
</Warning>
|
||
|
||
## Genel Bakış
|
||
|
||
Bu kılavuz, Docker Compose kullanarak Twenty uygulamasını kurmak ve yapılandırmak için adım adım yönergeler sunar. Amaç, süreci sadeleştirmek ve kurulumunuzu bozabilecek yaygın sorunları önlemektir.
|
||
|
||
**Önemli:** Yalnızca bu kılavuzda açıkça belirtilen ayarları değiştirin. Diğer yapılandırmaları değiştirmek sorunlara yol açabilir.
|
||
|
||
İleri düzey yapılandırma için [Ortam Değişkenlerini Ayarlama](/l/tr/developers/self-host/capabilities/setup) bölümüne bakın. Tüm ortam değişkenleri, değişkene bağlı olarak sunucu ve/veya işçi düzeyinde `docker-compose.yml` dosyasında tanımlanmalıdır.
|
||
|
||
## Sistem Gereksinimleri
|
||
|
||
* RAM: Ortamınızda en az 2GB RAM bulunduğundan emin olun. Yetersiz bellek, işlemlerin çökmesine neden olabilir.
|
||
* Docker & Docker Compose: Her ikisinin de yüklendiğinden ve güncel olduğundan emin olun.
|
||
|
||
## Seçenek 1: Tek satırlık komut dosyası
|
||
|
||
Tek bir komutla en son kararlı Twenty sürümünü yükleyin:
|
||
|
||
```bash
|
||
bash <(curl -sL https://raw.githubusercontent.com/twentyhq/twenty/main/packages/twenty-docker/scripts/install.sh)
|
||
```
|
||
|
||
Belirli bir sürüm veya dal yüklemek için:
|
||
|
||
```bash
|
||
VERSION=vx.y.z BRANCH=dal-adı bash <(curl -sL https://raw.githubusercontent.com/twentyhq/twenty/main/packages/twenty-docker/scripts/install.sh)
|
||
```
|
||
|
||
* x.y.z'yi istediğiniz sürüm numarasıyla değiştirin.
|
||
* dal-adını yüklemek istediğiniz dal adıyla değiştirin.
|
||
|
||
## Seçenek 2: Manuel adımlar
|
||
|
||
Manuel kurulum için bu adımları uygulayın.
|
||
|
||
### Adım 1: Çevre Dosyasını Kurun
|
||
|
||
1. **.env Dosyasını Oluşturun**
|
||
|
||
Örnek çevre dosyasını, çalışma dizininizde yeni bir .env dosyasına kopyalayın:
|
||
|
||
```bash
|
||
curl -o .env https://raw.githubusercontent.com/twentyhq/twenty/refs/heads/main/packages/twenty-docker/.env.example
|
||
```
|
||
|
||
2. **Gizli Jetonlar Oluşturun**
|
||
|
||
Benzersiz bir rastgele karakter dizisi oluşturmak için aşağıdaki komutu çalıştırın:
|
||
|
||
```bash
|
||
openssl rand -base64 32
|
||
```
|
||
|
||
**Önemli:** Bu değeri gizli tutun / paylaşmayın.
|
||
|
||
3. **`.env` Güncelleyin**
|
||
|
||
.env dosyanızdaki yer tutucu değeri oluşturulan jetonla değiştirin:
|
||
|
||
```ini
|
||
APP_SECRET=birinci_rastgele_dize
|
||
```
|
||
|
||
4. **Postgres Şifresini Ayarlayın**
|
||
|
||
.env dosyasındaki `PG_DATABASE_PASSWORD` değerini özel karakter içermeyen güçlü bir şifre ile güncelleyin.
|
||
|
||
```ini
|
||
PG_DATABASE_PASSWORD=benim_guclu_sifrem
|
||
```
|
||
|
||
### Adım 2: Docker Compose Dosyasını Edinin
|
||
|
||
`docker-compose.yml` dosyasını çalışma dizininize indirin:
|
||
|
||
```bash
|
||
curl -o docker-compose.yml https://raw.githubusercontent.com/twentyhq/twenty/refs/heads/main/packages/twenty-docker/docker-compose.yml
|
||
```
|
||
|
||
### Adım 3: Uygulamayı Başlatın
|
||
|
||
Docker konteynerlerini başlatın:
|
||
|
||
```bash
|
||
docker compose up -d
|
||
```
|
||
|
||
### Adım 4: Uygulamaya Erişin
|
||
|
||
Eğer twentyCRM'i kendi bilgisayarınızda barındırıyorsanız, tarayıcınızı açın ve [http://localhost:3000](http://localhost:3000) adresine gidin.
|
||
|
||
Bir sunucuda barındırıyorsanız, sunucunun çalıştığını ve her şeyin yolunda olduğunu kontrol edin
|
||
|
||
```bash
|
||
curl http://localhost:3000
|
||
```
|
||
|
||
## Yapılandırma
|
||
|
||
### Twenty'yi Dış Erişime Açma
|
||
|
||
Varsayılan olarak, Twenty `localhost` üzerinde `3000` portunda çalışır. Harici bir alan adı veya IP adresi aracılığıyla erişim sağlamak için `.env` dosyanızda `SERVER_URL`'i yapılandırmanız gerekir.
|
||
|
||
#### `SERVER_URL`'a Genel Bakış
|
||
|
||
* **Protokol:** Yapılandırmanıza bağlı olarak `http` veya `https` kullanın.
|
||
* SSL ayarlamadıysanız `http` kullanın.
|
||
* SSL yapılandırıldıysa `https` kullanın.
|
||
* **Alan Adı/IP:** Uygulamanızın erişilebilir olduğu alan adı veya IP adresi.
|
||
* **Port:** Varsayılan portları kullanmıyorsanız, port numarasını ekleyin (`80` `http` için, `443` `https` için).
|
||
|
||
### SSL Gereksinimleri
|
||
|
||
Belirli tarayıcı özelliklerinin düzgün çalışabilmesi için SSL (HTTPS) gereklidir. Bu özellikler yerel geliştirme sırasında çalışabilirken (tarayıcılar localhost'u farklı şekilde ele alır), Twenty'yi düzenli bir alanda barındırırken uygun bir SSL kurulumu gereklidir.
|
||
|
||
Örneğin, panoya kopyalama API'si güvenli bir bağlam gerektirebilir - uygulama boyunca kopyalama düğmeleri gibi bazı özellikler HTTPS etkinleştirilmediğinde çalışmayabilir.
|
||
|
||
Optimum güvenlik ve işlevsellik için Twenty'nin SSL sonlandırma ile bir ters proxy arkasında ayarlanmasını şiddetle öneririz.
|
||
|
||
#### `SERVER_URL`'ı Yapılandırma
|
||
|
||
1. **Erişim URL'nizi Belirleyin**
|
||
* **Ters Proxy Olmadan (Doğrudan Erişim):**
|
||
|
||
Uygulamaya doğrudan bir ters proxy olmadan erişiyorsanız:
|
||
|
||
```ini
|
||
SERVER_URL=http://alan-adiniz-veya-ip:3000
|
||
```
|
||
|
||
* **Ters Proxy ile (Standart Portlar):**
|
||
|
||
Nginx veya Traefik gibi bir ters proxy kullanıyorsanız ve SSL yapılandırıldıysa:
|
||
|
||
```ini
|
||
SERVER_URL=https://alan-adiniz-veya-ip
|
||
```
|
||
|
||
* **Ters Proxy ile (Özel Portlar):**
|
||
|
||
Standart olmayan portlar kullanıyorsanız:
|
||
|
||
```ini
|
||
SERVER_URL=https://alan-adiniz-veya-ip:ozel-port
|
||
```
|
||
|
||
2. **`.env` Dosyasını Güncelleyin**
|
||
|
||
`.env` dosyanızı açın ve `SERVER_URL`'i güncelleyin:
|
||
|
||
```ini
|
||
SERVER_URL=http(s)://alan-adiniz-veya-ip:portunuz
|
||
```
|
||
|
||
**Örnekler:**
|
||
|
||
* SSL olmadan doğrudan erişim:
|
||
```ini
|
||
SERVER_URL=http://123.45.67.89:3000
|
||
```
|
||
* SSL ile alan adı aracılığıyla erişim:
|
||
```ini
|
||
SERVER_URL=https://mytwentyapp.com
|
||
```
|
||
|
||
3. **Uygulamayı Yeniden Başlatın**
|
||
|
||
Değişikliklerin etkili olması için Docker konteynerlerini yeniden başlatın:
|
||
|
||
```bash
|
||
docker compose down
|
||
docker compose up -d
|
||
```
|
||
|
||
#### Dikkat Edilmesi Gerekenler
|
||
|
||
* **Ters Proxy Yapılandırması:**
|
||
|
||
Ters proxy'nin istekleri doğru iç bağlantı noktasına ilettiğinden emin olun (`3000` varsayılan olarak). SSL sonlandırmasını ve gerekli tüm başlıkları yapılandırın.
|
||
|
||
* **Güvenlik Duvarı Ayarları:**
|
||
|
||
Dış erişime izin vermek için güvenlik duvarınızdaki gerekli portları açın.
|
||
|
||
* **Tutarlılık:**
|
||
|
||
`SERVER_URL`, kullanıcıların uygulamanıza tarayıcıları ile nasıl eriştiği ile eşleşmelidir.
|
||
|
||
#### Süreklilik
|
||
|
||
* **Veri Hacimleri:**
|
||
|
||
Docker Compose yapılandırması, veritabanı ve sunucu depolama için verileri kalıcı kılmak adına hacimler kullanmaktadır.
|
||
|
||
* **Durumsuz Ortamlar:**
|
||
|
||
Eğer durumsuz bir ortama (örneğin, bazı bulut hizmetleri) dağıtım yapıyorsanız, verilerin kalıcılığını sağlamak için harici depolama yapılandırın.
|
||
|
||
## Yedekleme ve Geri Yükleme
|
||
|
||
Düzenli yedeklemeler CRM verilerinizi kayıptan korur.
|
||
|
||
### Veritabanı Yedeği Oluşturun
|
||
|
||
```bash
|
||
docker exec twenty-postgres pg_dump -U postgres twenty > backup_$(date +%Y%m%d).sql
|
||
```
|
||
|
||
### Günlük Yedeklemeleri Otomatikleştirin
|
||
|
||
crontab'ınıza ekleyin (`crontab -e`):
|
||
|
||
```bash
|
||
0 2 * * * docker exec twenty-postgres pg_dump -U postgres twenty > /backups/twenty_$(date +\%Y\%m\%d).sql
|
||
```
|
||
|
||
### Yedekten Geri Yükleyin
|
||
|
||
1. Uygulamayı durdurun:
|
||
|
||
```bash
|
||
docker compose stop twenty-server twenty-front
|
||
```
|
||
|
||
2. Veritabanını geri yükleyin:
|
||
|
||
```bash
|
||
docker exec -i twenty-postgres psql -U postgres twenty < backup_20240115.sql
|
||
```
|
||
|
||
3. Servisleri yeniden başlatın:
|
||
|
||
```bash
|
||
docker compose up -d
|
||
```
|
||
|
||
### Yedekleme En İyi Uygulamaları
|
||
|
||
* **Geri yüklemeleri düzenli olarak test edin** — yedeklerin gerçekten çalıştığını doğrulayın
|
||
* **Yedekleri farklı bir konumda saklayın** — bulut depolama kullanın (S3, GCS, vb.)
|
||
* **Hassas verileri şifreleyin** — yedekleri şifreleme ile koruyun
|
||
* **Birden fazla kopya saklayın** — günlük, haftalık ve aylık yedekleri tutun
|
||
|
||
## Sorun Giderme
|
||
|
||
Herhangi bir sorunla karşılaşırsanız, çözümler için [Sorun Giderme](/l/tr/developers/self-host/capabilities/troubleshooting) sayfasına bakın.
|