Odoo (eski adıyla OpenERP), Python programlama dili ile geliştirilmiş kapsamlı bir ERP (Enterprise Resource Planning) sistemidir. Belçika merkezli Odoo S.A. tarafından geliştirilmektedir.
Ana Özellikler
Modüler Yapı: CRM, satış, muhasebe, envanter, üretim, insan kaynakları, e-ticaret gibi 30’dan fazla iş uygulamasını içerir. Her modül bağımsız olarak kullanılabilir veya diğer modüllerle entegre edilebilir.
Web Tabanlı: Tamamen web arayüzü üzerinden çalışır, herhangi bir platformdan erişilebilir.
Açık Kaynak: Community Edition ücretsizdir ve kaynak kodu açıktır. Enterprise Edition ise ek özellikler ve destek içerir.
Teknik Altyapı
- Backend: Python (Django benzeri framework kullanır)
- Frontend: JavaScript, XML, CSS
- Veritabanı: PostgreSQL
- Mimari: MVC (Model-View-Controller) yapısı
Kullanım Alanları
Küçük işletmelerden büyük şirketlere kadar her ölçekte kullanılabilir. Özellikle:
- Satış ve pazarlama yönetimi
- Muhasebe ve finansal raporlama
- Envanter ve tedarik zinciri
- İnsan kaynakları yönetimi
- Proje yönetimi
- E-ticaret platformu
Odoo’nun en büyük avantajı, tüm iş süreçlerini tek bir platformda birleştirmesi ve yüksek özelleştirilebilir olmasıdır.
1. Önceki Build’i Temizleyin
# Çalışan servisleri durdurun
sudo docker-compose down
# Docker cache'ini temizleyin
sudo docker system prune -f
2. Hazır Docker Compose Dosyasını Oluşturun
# docker-compose-nobuild.yml dosyasını oluşturun
nano docker-compose-nobuild.yml
Yukarıdaki docker-compose-nobuild.yml
artifact’ının içeriğini kopyalayıp yapıştırın.
3. Addons Klasörü Oluşturun
# Özel modüller için addons klasörü oluşturun
mkdir -p addons
4. Odoo’yu Başlatın
# Hazır image ile başlatın
sudo docker-compose -f docker-compose-nobuild.yml up -d
5. Başlatma Sürecini İzleyin
# Logları izleyin (Ctrl+C ile çıkabilirsiniz)
sudo docker-compose -f docker-compose-nobuild.yml logs -f
Aşağıdaki gibi bir çıktı görmelisiniz:
odoo_1 | 2025-06-21 XX:XX:XX,XXX INFO ? odoo: Odoo version 17.0
odoo_1 | 2025-06-21 XX:XX:XX,XXX INFO ? odoo: addons paths: ...
odoo_1 | 2025-06-21 XX:XX:XX,XXX INFO ? odoo: database: ...
6. Tarayıcıda Açın
Loglar “HTTP service (werkzeug) running on” mesajını gösterdiğinde:
http://localhost:8069
7. İlk Kurulum
Tarayıcıda açıldığında şu adımları takip edin:
- Master Password: Güvenli bir şifre girin (örn:
admin123
) - Database Name:
myodoo
- Email: Admin email adresiniz
- Password: Admin kullanıcı şifresi
- Language:
Turkish
- Country:
Turkey
- Demo data: İsterseniz işaretleyin (örneklerle başlar)
Yararlı Komutlar
# Servisleri durdurmak
sudo docker-compose -f docker-compose-nobuild.yml down
# Servisleri yeniden başlatmak
sudo docker-compose -f docker-compose-nobuild.yml up -d
# Servis durumunu kontrol etmek
sudo docker-compose -f docker-compose-nobuild.yml ps
# Veritabanına bağlanmak
sudo docker-compose -f docker-compose-nobuild.yml exec db psql -U odoo postgres
Sorun Giderme
Eğer port 8069 kullanımdaysa:
# Hangi servislerin 8069 portunu kullandığını kontrol edin
sudo netstat -tlnp | grep 8069
# Gerekirse portu değiştirin (docker-compose dosyasında "8069:8069" → "8070:8069")
docker-compose-with-addons.yml
version: '3.8' services: db: image: postgres:15 environment: POSTGRES_DB: postgres POSTGRES_USER: odoo POSTGRES_PASSWORD: odoo PGDATA: /var/lib/postgresql/data/pgdata volumes: - postgres_data:/var/lib/postgresql/data/pgdata restart: unless-stopped healthcheck: test: ["CMD-SHELL", "pg_isready -U odoo"] interval: 10s timeout: 5s retries: 5 # Addons indirme servisi addons-downloader: image: alpine/git volumes: - ./addons:/addons command: > sh -c " cd /addons && if [ ! -d 'muk_base' ]; then git clone https://github.com/muk-it/muk_base.git --branch 17.0 || git clone https://github.com/muk-it/muk_base.git; fi && if [ ! -d 'muk_web' ]; then git clone https://github.com/muk-it/muk_web.git --branch 17.0 || git clone https://github.com/muk-it/muk_web.git; fi && if [ ! -d 'muk_dms' ]; then git clone https://github.com/muk-it/muk_dms.git --branch 17.0 || git clone https://github.com/muk-it/muk_dms.git; fi " odoo: image: odoo:17.0 depends_on: db: condition: service_healthy addons-downloader: condition: service_completed_successfully ports: - "8069:8069" environment: - HOST=db - USER=odoo - PASSWORD=odoo volumes: - odoo_data:/var/lib/odoo - ./addons:/mnt/extra-addons restart: unless-stopped command: ["odoo", "--addons-path=/mnt/extra-addons,/usr/lib/python3/dist-packages/odoo/addons"] volumes: postgres_data: odoo_data:
docker-compose-nobuild.yml
version: '3.8' services: db: image: postgres:15 environment: POSTGRES_DB: postgres POSTGRES_USER: odoo POSTGRES_PASSWORD: odoo PGDATA: /var/lib/postgresql/data/pgdata volumes: - postgres_data:/var/lib/postgresql/data/pgdata restart: unless-stopped healthcheck: test: ["CMD-SHELL", "pg_isready -U odoo"] interval: 10s timeout: 5s retries: 5 odoo: image: odoo:17.0 depends_on: db: condition: service_healthy ports: - "8069:8069" environment: - HOST=db - USER=odoo - PASSWORD=odoo volumes: - odoo_data:/var/lib/odoo - ./addons:/mnt/extra-addons restart: unless-stopped volumes: postgres_data: odoo_data: