Przejdź do zawartości

Jak uruchomić Odoo jako usługę systemd?

8 czerwca 2026 przez

Uruchomienie Odoo jako usługi systemd to profesjonalne rozwiązanie, które zapewnia automatyczne uruchamianie systemu ERP po restarcie serwera oraz łatwe zarządzanie procesem. W tym przewodniku dowiesz się, jak poprawnie skonfigurować Odoo jako usługę systemd w systemach Linux.

Dlaczego warto uruchomić Odoo jako usługę systemd?

Systemd to nowoczesny system inicjalizacji i zarządzania usługami w dystrybucjach Linux. Konfiguracja Odoo jako usługi systemd przynosi szereg korzyści:

  • Automatyczne uruchamianie - Odoo startuje automatycznie po restarcie serwera
  • Łatwe zarządzanie - Proste polecenia do uruchamiania, zatrzymywania i restartowania
  • Monitoring procesów - Systemd monitoruje status aplikacji i może automatycznie ją restartować w przypadku awarii
  • Izolacja zasobów - Możliwość określenia limitów zasobów systemowych
  • Logowanie - Centralne zarządzanie logami przez journald

Wymagania wstępne

Przed skonfigurowaniem usługi systemd upewnij się, że:

Tworzenie użytkownika systemowego dla Odoo

Ze względów bezpieczeństwa zaleca się uruchamianie Odoo na dedykowanym użytkowniku systemowym bez uprawnień root:

sudo adduser --system --group odoo

Ten użytkownik będzie właścicielem procesów Odoo i plików związanych z aplikacją. Katalog domowy zostanie automatycznie utworzony przez instalator Odoo lub możesz go określić ręcznie podczas instalacji.

Konfiguracja pliku usługi systemd

Aby uruchomić Odoo jako usługę systemd, musisz utworzyć plik jednostki usługi (unit file). Jest to główny krok w procesie konfiguracji.

Tworzenie pliku usługi

Utwórz nowy plik usługi w katalogu systemd:

sudo nano /etc/systemd/system/odoo.service

Zawartość pliku odoo.service

Wklej następującą konfigurację do utworzonego pliku:

[Unit]
Description=Odoo ERP System
Documentation=https://www.odoo.com
After=network.target postgresql.service
Requires=postgresql.service

[Service]
Type=simple
User=odoo
Group=odoo
SyslogIdentifier=odoo
PermissionsStartOnly=true
WorkingDirectory=/opt/odoo
ExecStart=/opt/odoo/odoo/odoo-bin --config=/etc/odoo/odoo.conf
StandardOutput=journal+console
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

Wyjaśnienie sekcji konfiguracji

Sekcja [Unit] zawiera podstawowe informacje o usłudze:

  • Description - opis usługi widoczny w systemie
  • After - określa, że usługa powinna wystartować po sieci i PostgreSQL
  • Requires - definiuje zależność od PostgreSQL

Sekcja [Service] określa parametry uruchomienia:

  • Type=simple - standardowy typ usługi dla aplikacji działających na pierwszym planie
  • User i Group - określają użytkownika systemowego
  • WorkingDirectory - katalog roboczy, z którego uruchamiana jest usługa
  • ExecStart - polecenie uruchamiające Odoo (dostosuj ścieżki do swojej instalacji)
  • Restart=on-failure - automatyczny restart w przypadku awarii
  • RestartSec=10 - odczekanie 10 sekund przed restartem

Sekcja [Install] określa cel systemowy dla automatycznego uruchamiania.

Dostosowanie ścieżek w pliku usługi

Upewnij się, że ścieżki w pliku usługi są poprawne dla Twojej instalacji:

  • WorkingDirectory - katalog główny instalacji Odoo (np. /opt/odoo)
  • ExecStart - ścieżka do pliku wykonywalnego Odoo (np. /opt/odoo/odoo/odoo-bin lub /usr/bin/odoo dla instalacji z pakietu)
  • --config - ścieżka do pliku konfiguracyjnego (np. /etc/odoo/odoo.conf)
  • User/Group - nazwa użytkownika systemowego (zazwyczaj odoo)

Uruchamianie i zarządzanie usługą Odoo

Po utworzeniu pliku usługi wykonaj następujące kroki:

Przeładowanie konfiguracji systemd

sudo systemctl daemon-reload

Uruchomienie usługi Odoo

sudo systemctl start odoo

Sprawdzenie statusu usługi

sudo systemctl status odoo

Jeśli wszystko działa poprawnie, zobaczysz status "active (running)" i informacje o działającym procesie.

Włączenie automatycznego uruchamiania

Aby Odoo uruchamiało się automatycznie po restarcie serwera:

sudo systemctl enable odoo

Przydatne polecenia do zarządzania usługą

Po skonfigurowaniu Odoo jako usługi systemd, możesz korzystać z następujących poleceń:

  • sudo systemctl stop odoo - zatrzymanie usługi
  • sudo systemctl restart odoo - restart usługi
  • sudo systemctl reload odoo - przeładowanie konfiguracji bez zatrzymywania (wymaga odpowiedniej obsługi sygnałów w Odoo)
  • sudo systemctl disable odoo - wyłączenie automatycznego uruchamiania
  • sudo journalctl -u odoo -f - podgląd logów w czasie rzeczywistym
  • sudo journalctl -u odoo --since today - logi z dzisiejszego dnia

Rozwiązywanie problemów

Usługa nie startuje

Jeśli usługa nie uruchamia się, sprawdź logi:

sudo journalctl -xe -u odoo

Najczęstsze przyczyny problemów:

  • Nieprawidłowe ścieżki w pliku usługi (szczególnie ExecStart i WorkingDirectory)
  • Błędy w pliku konfiguracyjnym odoo.conf
  • Brak uprawnień do katalogów (addons, log, data_dir)
  • PostgreSQL nie jest uruchomiony lub nieprawidłowo skonfigurowany
  • Port jest już zajęty przez inny proces
  • Brak wymaganych zależności Pythona

Weryfikacja uprawnień

Upewnij się, że użytkownik odoo ma odpowiednie uprawnienia:

sudo chown -R odoo:odoo /opt/odoo
sudo chown -R odoo:odoo /var/log/odoo
sudo chown odoo:odoo /etc/odoo/odoo.conf
sudo chmod 640 /etc/odoo/odoo.conf

Zaawansowane opcje konfiguracji

Limit zasobów

Możesz dodać limity zasobów w sekcji [Service]:

LimitNOFILE=524288
LimitNPROC=8192
MemoryLimit=2G
CPUQuota=200%

Parametr LimitNOFILE określa maksymalną liczbę otwartych plików - dla Odoo 17+ zalecana wartość to 524288. CPUQuota pozwala ograniczyć użycie CPU (200% = 2 rdzenie).

Zmienne środowiskowe

Jeśli potrzebujesz ustawić zmienne środowiskowe:

Environment="PATH=/opt/odoo/venv/bin:/usr/local/bin:/usr/bin:/bin"
Environment="LC_ALL=pl_PL.UTF-8"
Environment="LANG=pl_PL.UTF-8"

Konfiguracja wieloinstancyjna

Aby uruchomić wiele instancji Odoo, utwórz osobne pliki usług z różnymi nazwami (np. odoo-prod.service, odoo-test.service). Dla każdej instancji musisz:

  • Utworzyć osobny plik konfiguracyjny z unikalnym portem (xmlrpc_port) i longpolling_port
  • Określić oddzielny katalog data_dir dla każdej instancji
  • Opcjonalnie użyć oddzielnych baz danych PostgreSQL
  • Skonfigurować różne ścieżki dla logów

Przykład dla drugiej instancji:

ExecStart=/opt/odoo/odoo/odoo-bin --config=/etc/odoo/odoo-test.conf

FAQ - Najczęściej zadawane pytania

Jak zmienić port, na którym działa usługa Odoo?

Port Odoo konfiguruje się w pliku odoo.conf, nie w pliku usługi systemd. Edytuj plik konfiguracyjny i zmień parametr xmlrpc_port, a następnie zrestartuj usługę poleceniem sudo systemctl restart odoo. Szczegółowy przewodnik znajdziesz w artykule o tym, jak zmienić port Odoo.

Czy mogę uruchomić Odoo jako usługę na Windows?

Systemd jest specyficzny dla systemów Linux. Na Windows używa się innego mechanizmu - usług Windows (Windows Services). Podczas instalacji Odoo na Windows instalator automatycznie konfiguruje usługę systemową, którą możesz zarządzać przez Panel Usług Windows.

Co zrobić gdy usługa Odoo nie uruchamia się automatycznie po aktualizacji?

Po aktualizacji Odoo do nowszej wersji sprawdź, czy ścieżki w pliku /etc/systemd/system/odoo.service są nadal poprawne. Czasami aktualizacja może zmienić lokalizację plików wykonywalnych. Wykonaj sudo systemctl daemon-reload aby przeładować konfigurację, a następnie sprawdź logi poleceniem sudo journalctl -u odoo -n 50. Więcej o procesie aktualizacji przeczytasz w artykule o tym, jak zaktualizować Odoo do nowszej wersji.

Podsumowanie

Uruchomienie Odoo jako usługi systemd to profesjonalne i niezawodne rozwiązanie dla środowisk produkcyjnych. Dzięki tej konfiguracji zyskujesz pełną kontrolę nad procesem Odoo, automatyczne uruchamianie po restarcie serwera oraz łatwe zarządzanie logami i monitoringiem. Pamiętaj o regularnym sprawdzaniu logów i aktualizowaniu systemu, aby zapewnić optymalną wydajność i bezpieczeństwo.

Potrzebujesz pomocy z konfiguracją Odoo?

Jeśli potrzebujesz profesjonalnej pomocy w konfiguracji Odoo jako usługi systemd lub w innych aspektach wdrożenia systemu ERP, zespół KK Innovations jest do Twojej dyspozycji. Oferujemy kompleksowe wsparcie techniczne, wdrożenia, szkolenia oraz dostosowanie Odoo do specyficznych potrzeb Twojej firmy. Skontaktuj się z nami, aby dowiedzieć się, jak możemy pomóc w optymalizacji Twojego środowiska Odoo!