Moduły zewnętrzne (addons) to potężne narzędzie pozwalające rozszerzyć funkcjonalność systemu Odoo daleko poza standardowe możliwości. Dzięki nim możesz dostosować ERP do specyficznych potrzeb Twojej firmy, dodając nowe funkcje lub modyfikując istniejące.
Czym są moduły zewnętrzne w Odoo?
Moduły zewnętrzne to dodatkowe rozszerzenia, które nie są częścią standardowej instalacji Odoo. Mogą pochodzić z Odoo App Store, repozytoriów społeczności (jak OCA - Odoo Community Association) lub być tworzone przez zewnętrznych deweloperów. Instalacja modułów zewnętrznych pozwala na niemal nieograniczone możliwości personalizacji systemu.
Przed przystąpieniem do instalacji modułów zewnętrznych warto upewnić się, że Twoja instalacja Odoo spełnia odpowiednie wymagania systemowe i jest prawidłowo skonfigurowana.
Metody instalacji modułów zewnętrznych
Metoda 1: Instalacja przez interfejs webowy (Odoo Apps)
Najprostsza metoda instalacji modułów zewnętrznych w Odoo to użycie wbudowanego sklepu aplikacji:
- Zaloguj się do swojej instancji Odoo jako administrator
- Przejdź do menu Apps w górnej nawigacji
- Kliknij "Aktualizuj listę aplikacji" aby odświeżyć dostępne moduły
- Wyszukaj żądany moduł używając paska wyszukiwania
- Kliknij "Zainstaluj" przy wybranym module
Ta metoda działa doskonale dla modułów dostępnych w oficjalnym Odoo App Store, ale wymaga dostępu do internetu i konta Odoo Enterprise dla płatnych rozszerzeń.
Metoda 2: Manualna instalacja przez system plików
Dla modułów pobranych z zewnętrznych źródeł, konieczna jest manualna instalacja. To najbardziej uniwersalna metoda instalacji modułów zewnętrznych:
Krok 1: Przygotowanie katalogu addons
Najpierw utwórz dedykowany katalog dla modułów zewnętrznych, na przykład:
mkdir /opt/odoo/custom-addons
chown odoo:odoo /opt/odoo/custom-addons
chmod 755 /opt/odoo/custom-addons
Krok 2: Pobranie i umieszczenie modułu
Pobierz moduł z wybranego źródła (GitHub, Odoo Apps Store, itp.) i umieść go w katalogu custom-addons:
cd /opt/odoo/custom-addons
git clone https://github.com/[nazwa-repozytorium]/[nazwa-modulu].git
Lub skopiuj rozpakowany katalog modułu bezpośrednio do tego folderu. Upewnij się, że struktura jest prawidłowa - katalog modułu powinien zawierać plik __manifest__.py oraz pozostałe pliki Pythona.
Uwaga: Niektóre moduły wymagają dodatkowych bibliotek Pythona. Sprawdź plik requirements.txt w katalogu modułu i zainstaluj zależności:
pip3 install -r /opt/odoo/custom-addons/[nazwa-modulu]/requirements.txt
Krok 3: Konfiguracja pliku odoo.conf
Edytuj plik konfiguracyjny Odoo (zwykle znajduje się w /etc/odoo/odoo.conf) i dodaj ścieżkę do katalogu z modułami zewnętrznymi:
addons_path = /usr/lib/python3/dist-packages/odoo/addons,/opt/odoo/custom-addons
Jeśli masz już zdefiniowaną ścieżkę addons_path, dodaj nową ścieżkę po przecinku. Kolejność ma znaczenie - Odoo przeszukuje katalogi od lewej do prawej.
Krok 4: Restart serwera Odoo
Po modyfikacji konfiguracji należy zrestartować serwer Odoo:
sudo systemctl restart odoo
Dla instalacji na Windows proces restartowania będzie wyglądał inaczej - należy użyć menedżera usług Windows.
Krok 5: Aktualizacja listy aplikacji
W interfejsie Odoo:
- Włącz tryb deweloperski (Ustawienia → Aktywuj tryb deweloperski) lub dodaj
?debug=1do URL - Przejdź do Apps
- Kliknij ikonę menu (trzy kropki) i wybierz "Aktualizuj listę aplikacji"
- Potwierdź aktualizację
- Usuń domyślny filtr wyszukiwania, aby zobaczyć wszystkie moduły
Twój moduł zewnętrzny powinien teraz być widoczny na liście dostępnych aplikacji. Możesz również zainstalować moduł bezpośrednio z linii poleceń:
odoo-bin -c /etc/odoo/odoo.conf -d nazwa_bazy -i nazwa_modulu --stop-after-init
Metoda 3: Instalacja w środowisku Docker
Jeśli korzystasz z instalacji Odoo przez Docker, proces instalacji modułów zewnętrznych wymaga modyfikacji konfiguracji kontenerów:
Utwórz katalog dla modułów zewnętrznych na hoście i zamontuj go jako volume. Oto przykład pliku docker-compose.yml dla Odoo 19:
version: '3.8'
services:
web:
image: odoo:19
depends_on:
- db
ports:
- "8069:8069"
volumes:
- ./addons:/mnt/extra-addons
- odoo-web-data:/var/lib/odoo
environment:
- HOST=db
- USER=odoo
- PASSWORD=odoo
command: -- --dev=all
db:
image: postgres:15
environment:
- POSTGRES_DB=postgres
- POSTGRES_PASSWORD=odoo
- POSTGRES_USER=odoo
volumes:
- odoo-db-data:/var/lib/postgresql/data
volumes:
odoo-web-data:
odoo-db-data:
Umieść moduły zewnętrzne w lokalnym katalogu ./addons, a zostaną one automatycznie udostępnione w kontenerze Odoo pod ścieżką /mnt/extra-addons. Parametr --dev=all włącza tryb deweloperski, co ułatwia pracę z modułami.
Weryfikacja instalacji modułów zewnętrznych
Po zakończeniu procesu instalacji warto sprawdzić, czy moduł działa poprawnie:
- Sprawdź logi Odoo w poszukiwaniu błędów związanych z modułem (
sudo journalctl -u odoo -fna systemach Linux z systemd) - Przetestuj podstawowe funkcje dodane przez moduł
- Sprawdź zależności - upewnij się, że wszystkie wymagane moduły są zainstalowane
- Weryfikuj kompatybilność z Twoją wersją Odoo (aktualnie Odoo 19)
- Sprawdź uprawnienia dostępu - niektóre moduły wymagają specyficznych grup użytkowników
Najlepsze praktyki przy instalacji modułów zewnętrznych
Testowanie na środowisku deweloperskim
Nigdy nie instaluj nieznanych modułów bezpośrednio na produkcji. Zawsze testuj nowe moduły na środowisku testowym z kopią bazy danych produkcyjnej. Odoo oferuje wbudowane narzędzia do duplikowania baz danych, co ułatwia tworzenie środowisk testowych.
Tworzenie kopii zapasowych
Przed instalacją jakiegokolwiek modułu zewnętrznego wykonaj pełną kopię zapasową bazy danych. Pozwoli to na szybki powrót do stanu sprzed instalacji w przypadku problemów. Pamiętaj również o skopiowaniu katalogu filestore zawierającego załączniki i pliki.
Weryfikacja źródła modułów
Instaluj moduły tylko z zaufanych źródeł takich jak:
- Oficjalny Odoo Apps Store
- OCA (Odoo Community Association) - repozytoria na GitHub z wysokimi standardami jakości
- Znani deweloperzy z dobrą reputacją i aktywnymi repozytoriami
- Własne moduły wewnętrzne
Przed instalacją sprawdź:
- Licencję modułu (LGPL, AGPL, OPL - Odoo Proprietary License)
- Datę ostatniej aktualizacji
- Liczbę instalacji i opinie użytkowników
- Dokumentację i wsparcie techniczne
Dokumentacja zależności
Prowadź dokumentację zainstalowanych modułów zewnętrznych wraz z ich wersjami i zależnościami. Ułatwi to przyszłe migracje i rozwiązywanie problemów. Możesz użyć pliku requirements.txt lub arkusza kalkulacyjnego do śledzenia:
- Nazwy modułów
- Wersje i commity Git
- Źródło pochodzenia
- Zależności od innych modułów
- Zależności Pythona
Aktualizacje modułów
Regularnie sprawdzaj dostępność aktualizacji dla zainstalowanych modułów. Aktualizacje często zawierają poprawki bezpieczeństwa i nowe funkcje. Pamiętaj jednak, aby testować aktualizacje na środowisku deweloperskim przed wdrożeniem na produkcję.
Rozwiązywanie typowych problemów
Moduł nie pojawia się na liście
Jeśli po instalacji moduł nie jest widoczny w Apps:
- Sprawdź, czy ścieżka addons_path jest poprawnie skonfigurowana w pliku odoo.conf
- Zweryfikuj uprawnienia do katalogów z modułami (powinien mieć dostęp użytkownik odoo) - użyj
ls -laaby sprawdzić - Upewnij się, że struktura katalogów modułu jest prawidłowa (zawiera plik
__manifest__.pyw głównym katalogu modułu) - Sprawdź logi serwera pod kątem błędów przy ładowaniu modułów -
grep ERROR /var/log/odoo/odoo-server.log - Upewnij się, że pole 'installable' w
__manifest__.pyjest ustawione na True - Sprawdź czy wersja w manifeście odpowiada Twojej wersji Odoo (np. '19.0.1.0.0' dla Odoo 19)
- Na systemach z SELinux sprawdź kontekst bezpieczeństwa:
ls -Z /opt/odoo/custom-addons
Błędy zależności
Moduły zewnętrzne często wymagają innych modułów. Jeśli pojawią się błędy zależności:
- Sprawdź plik
__manifest__.pyw katalogu modułu - Zainstaluj wszystkie wymagane moduły wymienione w sekcji 'depends'
- Upewnij się, że wersje modułów są kompatybilne
- Sprawdź czy wymagane moduły są dostępne w Twojej wersji Odoo
- Zainstaluj brakujące biblioteki Pythona z pliku requirements.txt
- Niektóre moduły mogą wymagać systemowych bibliotek - sprawdź dokumentację modułu
Problemy z bazą danych
Jeśli instalacja modułu powoduje problemy z bazą danych, upewnij się, że PostgreSQL jest prawidłowo skonfigurowany i użytkownik Odoo ma odpowiednie uprawnienia. Sprawdź również:
- Czy użytkownik bazy danych ma uprawnienia do tworzenia tabel i modyfikowania schematu
- Czy baza danych nie jest zablokowana przez inne procesy
- Czy masz wystarczająco miejsca na dysku
- Logi PostgreSQL w /var/log/postgresql/ mogą zawierać szczegóły błędów
Problemy z uprawnieniami na SELinux
Na systemach z włączonym SELinux (Red Hat, CentOS, Fedora) możesz napotkać problemy z dostępem do katalogów:
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/opt/odoo/custom-addons(/.*)?"
sudo restorecon -Rv /opt/odoo/custom-addons
Zaawansowane techniki instalacji
Instalacja z GitHub
Wiele użytecznych modułów znajduje się w repozytoriach GitHub. Można je zainstalować bezpośrednio:
cd /opt/odoo/custom-addons
git clone -b 19.0 https://github.com/OCA/[repository-name].git
cd [repository-name]
git checkout 19.0 # Dla Odoo 19
OCA (Odoo Community Association) utrzymuje moduły dla każdej wersji Odoo w osobnych branchach (np. 16.0, 17.0, 18.0, 19.0). Zawsze używaj brancha odpowiadającego Twojej wersji Odoo.
Zarządzanie wieloma katalogami addons
Możesz organizować moduły w wielu katalogach dla lepszej struktury:
addons_path = /usr/lib/python3/dist-packages/odoo/addons,/opt/odoo/custom-addons,/opt/odoo/third-party-addons,/opt/odoo/internal-addons
Ta organizacja pozwala na:
- Oddzielenie modułów zewnętrznych od wewnętrznych
- Łatwiejsze zarządzanie aktualizacjami
- Lepszą kontrolę wersji przez Git
- Prostsze tworzenie kopii zapasowych
Automatyzacja z Git submodules
Dla zaawansowanych użytkowników, Git submodules pozwala na eleganckie zarządzanie zależnościami:
cd /opt/odoo/custom-addons
git init
git submodule add -b 19.0 https://github.com/OCA/web.git
git submodule add -b 19.0 https://github.com/OCA/server-tools.git
FAQ - Najczęściej zadawane pytania
Czy instalacja modułów zewnętrznych jest bezpieczna?
Instalacja modułów zewnętrznych jest bezpieczna, pod warunkiem że pochodzą one z zaufanych źródeł. Moduły mają dostęp do Twojej bazy danych i mogą wykonywać operacje w imieniu systemu, dlatego zawsze sprawdzaj kod modułu lub instaluj tylko z oficjalnych repozytoriów jak OCA czy Odoo Apps Store. Zalecamy również testowanie na środowisku deweloperskim przed wdrożeniem na produkcję. Zwróć szczególną uwagę na:
- Uprawnienia wymagane przez moduł
- Operacje na danych, które wykonuje
- Zewnętrzne połączenia sieciowe
- Regularne audyty bezpieczeństwa zainstalowanych modułów
Czy moduły zewnętrzne są kompatybilne z różnymi wersjami Odoo?
Nie, moduły zewnętrzne są zwykle dedykowane dla konkretnej wersji Odoo i nie są kompatybilne między wersjami. Moduł stworzony dla Odoo 16 nie będzie działał na Odoo 17, 18 czy 19 bez odpowiedniej migracji kodu. Zawsze sprawdzaj kompatybilność modułu z Twoją wersją Odoo przed instalacją. W pliku __manifest__.py znajdziesz informację o wspieranej wersji w polu 'version' (np. '19.0.1.0.0' oznacza Odoo 19) lub w polu 'installable' (powinno być True). Podczas migracji między wersjami Odoo musisz również zaktualizować wszystkie zainstalowane moduły zewnętrzne do odpowiednich wersji.
Co zrobić, gdy moduł zewnętrzny powoduje problemy z działaniem Odoo?
Jeśli moduł zewnętrzny powoduje problemy, najlepszym rozwiązaniem jest jego natychmiastowa dezinstalacja. Przejdź do Apps, znajdź problematyczny moduł i kliknij "Odinstaluj". Jeśli system nie odpowiada, możesz:
- Uruchomić Odoo w trybie safe mode (dodaj
--load=base,webdo komendy startowej) - Usunąć moduł bezpośrednio z katalogu addons i zrestartować serwer
- Dezinstalować moduł z linii poleceń:
odoo-bin -c /etc/odoo/odoo.conf -d nazwa_bazy -u nazwa_modulu --stop-after-init - W ekstremalnych przypadkach przywrócić wcześniejszą kopię zapasową bazy danych
Zawsze sprawdzaj logi Odoo (sudo journalctl -u odoo -n 100), aby zidentyfikować źródło problemu. Możesz również zwiększyć poziom logowania do 'debug' w pliku konfiguracyjnym.
Czy mogę instalować moduły płatne z Odoo Apps Store?
Tak, moduły płatne z Odoo Apps Store można instalować bezpośrednio przez interfejs webowy, jeśli posiadasz subskrypcję Odoo Enterprise i połączone konto. Po zakupie modułu jest on automatycznie dostępny w sekcji Apps Twojej instancji. Dla wersji Community możesz zakupić moduły bezpośrednio od deweloperów - otrzymasz wtedy pliki do manualnej instalacji. Pamiętaj o sprawdzeniu licencji modułu (OPL - Odoo Proprietary License dla modułów komercyjnych, LGPL lub AGPL dla modułów open source) i warunkach wsparcia technicznego.
Podsumowanie
Instalacja modułów zewnętrznych w Odoo to kluczowa umiejętność pozwalająca na pełne wykorzystanie potencjału tego systemu ERP. Przedstawione metody - od prostej instalacji przez interfejs webowy, przez manualną instalację w systemie plików, aż po konfigurację w środowisku Docker - dają pełną kontrolę nad rozszerzaniem funkcjonalności Odoo.
Pamiętaj o przestrzeganiu najlepszych praktyk: zawsze testuj na środowisku deweloperskim, twórz kopie zapasowe przed każdą instalacją, instaluj moduły tylko z zaufanych źródeł i regularnie je aktualizuj. Prawidłowa instalacja i zarządzanie modułami zewnętrznymi pozwoli Ci stworzyć system ERP idealnie dopasowany do potrzeb Twojej organizacji, niezależnie czy pracujesz na najnowszej wersji Odoo 19 czy starszych wersjach.
Kluczowe elementy do zapamiętania:
- Zawsze sprawdzaj kompatybilność wersji modułu z Twoją wersją Odoo
- Dokumentuj wszystkie zainstalowane moduły i ich zależności
- Używaj trybu deweloperskiego do testowania nowych modułów
- Monitoruj logi systemu po każdej instalacji
- Regularnie aktualizuj moduły, zwłaszcza w kwestii bezpieczeństwa
Potrzebujesz pomocy w instalacji modułów zewnętrznych lub dostosowaniu Odoo do specyficznych potrzeb Twojej firmy? Skontaktuj się z ekspertami KK Innovations! Nasz zespół specjalistów pomoże Ci w wyborze odpowiednich modułów, bezpiecznej instalacji oraz pełnej konfiguracji systemu Odoo. Zapewniamy profesjonalne wsparcie techniczne i doradztwo na każdym etapie wdrożenia.