Docker'da Odoo 19: Ubuntu 24.04 için Eksiksiz Kurulum Kılavuzu (Community & Enterprise)
Giriş
Bir ERP sistemini dağıtmak genellikle göz korkutucu bir görev gibi görünür, ancak konteynerleştirme bu süreci kolaylaştırılmış bir iş akışına dönüştürür. Bu kılavuzda, Odoo 19'u yeni bir Ubuntu 24.04 örneğinde nasıl kuracağımızı anlatacağız.
Bu yöntemin en önemli özelliği çok yönlülüğüdür. Sadece modülleri kopyalayarak Enterprise'a anında yükseltme yeteneğini korurken ücretsiz Community sürümü ile başlamanıza olanak tanıyan bir mimari tanımlıyoruz. "Anında" yapılandırma hileleri yok - sadece temiz konteyner yönetimi ve Caddy aracılığıyla otomatik SSL.
Teknik Yığın (Doğrulanmış):
- İşletim Sistemi: Ubuntu 24.04 LTS (Bu bir Docker kurulumu olduğundan, yöntem diğer Linux dağıtımları için de geçerlidir)
- Konteynerleştirme: Docker 29.1.5 + Docker Compose
- Web Sunucusu: Caddy (Otomatik HTTPS)
- Veritabanı: PostgreSQL 18
- VM Özellikleri: 2 vCPU, 4 GB RAM, 40 GB NVMe
Adım 0: Docker'ı Kurun
Docker'ı resmi depodan yükleyin:
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh
Kullanıcınızı docker grubuna ekleyin:
sudo usermod -aG docker $USER newgrp docker
Docker'ı etkinleştirin ve başlatın:
sudo systemctl enable docker sudo systemctl start docker
Kurulumu doğrulayın:
docker ps
Adım 1: Proje Yapısını Kurun
Çalışma dizinini ve gerekli klasörleri oluşturun:
mkdir odoo-stack && cd odoo-stack mkdir -p addons enterprise
Adım 2: docker-compose.yml dosyasını oluşturun
Yeni bir Docker Compose dosyası oluşturun:
nano docker-compose.yml
Aşağıdaki yapılandırmayı yapıştırın (hem db ortamı hem de odoo ortamı bölümlerindeki odoo_secure_password'ü gerçek parolanızla değiştirin):
YAML
services: db: image: postgres:18 environment: - POSTGRES_DB=postgres - POSTGRES_PASSWORD=odoo_secure_password - POSTGRES_USER=odoo - PGDATA=/var/lib/postgresql/data/pgdata volumes: - odoo-db-data:/var/lib/postgresql/data/pgdata restart: unless-stopped odoo: image: odoo:19.0 depends_on: - db volumes: - odoo-web-data:/var/lib/odoo - ./addons:/mnt/extra-addons - ./enterprise:/mnt/enterprise-addons environment: - HOST=db - USER=odoo - PASSWORD=odoo_secure_password command: > --addons-path=/usr/lib/python3/dist-packages/odoo/addons,/mnt/enterprise-addons,/mnt/extra-addons --proxy-mode restart: unless-stopped caddy: image: caddy:latest ports: - "80:80" - "443:443" volumes: - ./Caddyfile:/etc/caddy/Caddyfile - caddy-data:/data restart: unless-stopped volumes: odoo-web-data: odoo-db-data: caddy-data:
Adım 3: Caddy dosyasını oluşturun
Caddy yapılandırma dosyasını oluşturun:
nano Caddyfile
Yapılandırmayı aşağıya yapıştırın (otomatik SSL için :80'i alan adınızla değiştirin):
# Otomatik SSL için :80'i YOUR_DOMAIN ile değiştirin :80 { # Dosya yüklemeleri için istemci maksimum gövde boyutunu artırın request_body { max_size 300MB } # Sohbetler ve bildirimler için longpolling reverse_proxy /longpolling/* odoo:8072 { header_up X-Forwarded-Host {host} header_up X-Forwarded-Proto {scheme} } # Ana trafik reverse_proxy odoo:8069 { header_up X-Forwarded-Host {host} header_up X-Forwarded-Proto {scheme} } }
Adım 4: Yığını Başlatın
Yığını başlatın:
docker compose up -d
Durumu kontrol edin (3 konteyner de "Up" olmalıdır):
docker compose ps
Hata olmadığından emin olmak için günlükleri kontrol edin:
docker compose günlükleri odoo
Adım 5: İlk Kurulum
Tarayıcınızı açın ve şu adrese gidin:
- IP üzerinden: http://YOUR_SERVER_IP
- Etki Alanı Üzerinden: https://YOUR_DOMAIN (Caddyfile'da yapılandırılmışsa)
Veritabanı oluşturma formunu doldurun:
- Ana Şifre: İlk girişte bir ana şifre önerilecektir (bu şifreyi kaydedin, çok önemlidir).
- Veritabanı Adı: örneğin, mycompany.
- E-posta: Erişilebilir e-posta adresiniz (bu sizin oturum açma bilgileriniz olacaktır).
- Parola: Sistem oturum açma parolanız.
- Dil: Tercih ettiğiniz dili seçin: Tercih ettiğiniz dili seçin.
- Ülke: Ülkenizi seçin: Ülkenizi seçin.
- Demo Veri: Temiz bir üretim veritabanı için işaretlenmemiş bırakın.
Veritabanı oluştur'a tıklayın ve işlemin tamamlanmasını bekleyin (1-2 dakika).

Community'den Enterprise'a Yükseltme
Community'den Enterprise'a geçmek için modülleri belirlenen dizine yerleştirmeniz yeterlidir.
Adım 1. Enterprise modüllerini edinin (Odoo aboneliği aracılığıyla).
Adım 2. Bunları ./enterprise/ klasörüne çıkarın.
3. Adım Konteyneri yeniden başlatın:
docker compose restart odoo
Adım 4. Gerekli Kurumsal modülleri kullanıcı arayüzü üzerinden yükleyin.
Yapılandırma dosyalarında herhangi bir değişikliğe gerek yoktur - kurumsal modüllerin yolu zaten önceden yapılandırılmıştır.
Güvenlik Duvarı Yapılandırması
Eğer UFW kullanıyorsanız aşağıdakileri çalıştırın:
sudo ufw allow ssh/tcp && \ sudo ufw allow 80/tcp && \ sudo ufw allow 443/tcp && \ sudo ufw default deny incoming && \ sudo ufw default allow outgoing && \ sudo ufw --force enable
Yararlı Komutlar
Her şeyi durdurun:
docker compose down
Yalnızca Odoo'yu yeniden başlatın:
docker compose restart odoo
Günlükleri görüntüle:
docker compose logs -f odoo docker compose logs -f db docker compose logs -f caddy
Veritabanı Yedekleme:
docker compose exec db pg_dumpall -U odoo > backup_$(date +%Y%m%d).sql
Veritabanını Geri Yükle:
cat backup_20240125.sql | docker compose exec -T db psql -U odoo
Tam Silme (Dikkat!):
docker compose down -v rm -rf addons enterprise Caddyfile
Alan Adı Kullanma
Let's Encrypt'ten otomatik bir SSL sertifikası almak için:
Adım 1. DNS'i yapılandırın: YOUR_DOMAIN adresinden bir A kaydını sunucunuzun IP'sine yönlendirin.
Adım 2. Caddyfile'ı güncelleyin: 80'i YOUR_DOMAIN ile değiştirin.
3. Adım Caddy'yi yeniden başlatın:
docker compose restart caddy
Caddy, SSL sertifikasını otomatik olarak sağlayacaktır.
Adım 4. Odoo'ya https://YOUR_DOMAIN üzerinden erişin.
Sertifika verildiğini doğrulayın:
docker compose logs caddy | grep certificate