---
title: "Odoo: Docker Compose i hosting jednym kliknięciem"
description: "Odoo to oprogramowanie dla firm open source: CRM, sprzedaż, faktury, magazyn, strona WWW i więcej w jednym. Hostuj Odoo Community u siebie w jeden klik."
---

[← Wszystkie szablony](https://pethost.dev/pl/templates/) · [Produktywność](https://pethost.dev/pl/templates/productivity/)

# Wdróż Odoo jednym kliknięciem

Aplikacje dla firmy w jednym: CRM, sprzedaż, fakturowanie, magazyn, strona internetowa, projekty i nie tylko

Alternatywa dla Salesforce, SAP Business One i NetSuite, hostowana u siebie.

[Wdróż na Pethost](https://console.pethost.dev/?template=odoo)

## Czym jest Odoo?

Odoo to pakiet aplikacji biznesowych open source, które działają osobno albo razem jako jeden system ERP. Mała firma prowadzi w jednej bazie danych CRM i lejek sprzedaży, oferty i faktury, zakupy i magazyn, produkcję, projekty i karty pracy, pracowników i dni wolne, punkt sprzedaży, stronę internetową ze sklepem online, e-mail marketing, wydarzenia i czat na żywo, więc wygrana szansa sprzedaży staje się zamówieniem, dostawą i fakturą bez ponownego wpisywania.

Każdą aplikację instalujesz z menu Aplikacje, gdy jest potrzebna, a każdy użytkownik loguje się do tego samego interfejsu webowego, z prawami dostępu do poszczególnych aplikacji. Odoo Community, darmowa edycja, ma wszystkie wymienione wyżej aplikacje; Odoo S.A. sprzedaje edycję Odoo Enterprise, która dodaje pełną księgowość i aplikacje Studio, Punkt Pomocy, Dokumenty, ePodpis, Planowanie, Serwis Terenowy i Baza wiedzy.

Ten szablon uruchamia Odoo Community z oficjalnego obrazu Odoo w wersji 20, z bazą danych Postgres 18, którą Nowy projekt tworzy obok Odoo, albo jedną z twoich, którą wybierzesz. Baza danych jest inicjalizowana, a administrator dostaje wpisany adres e-mail i hasło, zanim Odoo komukolwiek odpowie; menedżer baz danych pozostaje zamknięty, a klienci rejestrują się tylko na zaproszenie. E-maile Odoo wysyła przez Resend, SendGrid albo Amazon SES, zależnie od wyboru w oknie „Nowy projekt”, a dopóki żadnego nie wybierzesz, nie wysyła ich wcale.

## Hosting Odoo na Pethost

1. Logujesz się do Pethost kluczem dostępu, przez GitHub albo Google. Nie masz jeszcze maszyny? Wybierasz plan, a link czeka, aż będzie gotowa.
2. Okno „Nowy projekt” otwiera się na aplikacji Odoo. Wypełniasz to, o co prosi, i klikasz „Utwórz projekt”: **E-mail**, **Hasło administratora**.
3. E-mail jest opcjonalny: żeby aplikacja Odoo go wysyłała, wybierasz w oknie „Nowy projekt” **Resend**, **SendGrid** lub **Amazon SES** i wklejasz to, co daje ci dostawca.
4. Okno „Nowy projekt” tworzy też nową bazę danych dla aplikacji Odoo i podłącza ją przed pierwszym uruchomieniem aplikacji: **[Postgres](https://pethost.dev/pl/postgres/)** (512 MB). Albo wybierasz jedną ze swoich baz **Postgres**: aplikacja Odoo dostaje w niej własnego użytkownika i własną bazę danych, których inne aplikacje tam nie odczytają, a wszystkie aplikacje tej bazy mają wspólny backup i są przywracane razem.
5. Za minutę czy dwie aplikacja Odoo działa pod własnym adresem z HTTPS. Jej sekrety są tworzone losowo, a dane trafiają do nocnego backupu.
6. To projekt jak każdy inny: ty albo twój agent możecie go zmienić, cofnąć do wcześniejszej wersji albo przywrócić.

## Pytania o Odoo

**Czy Odoo jest darmowe?**

Odoo Community jest open source na licencji LGPL-3.0 i można z niego korzystać za darmo przy dowolnej liczbie użytkowników. Odoo Enterprise jest płatne za użytkownika i dodaje aplikacje, takie jak pełna księgowość, Studio, Punkt Pomocy i Dokumenty.

**Jakie aplikacje są w Odoo Community?**

Między innymi CRM, Sprzedaż, Fakturowanie, Zakup, Magazyn, Produkcja, Projekt, Pracownicy, Dni wolne, Punkt sprzedaży, Strona internetowa, eCommerce, E-mail Marketing, Wydarzenia, Ankiety, Czat na żywo i Dyskusje.

**Odoo czy Salesforce: jaka jest różnica?**

Salesforce to CRM sprzedawany za użytkownika w chmurze Salesforce. CRM w Odoo to jedna z wielu aplikacji: ta sama baza danych trzyma też sprzedaż, fakturowanie, magazyn i projekty, a samo Odoo Community nic nie kosztuje.

**Czy mogę dodać moduły z Odoo App Store?**

Tak. Moduł zrobiony dla Odoo 20 Community kopiuje się do wolumenu addons, czyli do /mnt/extra-addons w usłudze odoo; potem polecenie Aktualizuj listę aplikacji w menu Aplikacje, przy włączonym trybie deweloperskim, pokaże go do instalacji.

**Czy Odoo Community ma księgowość?**

Ma Fakturowanie: faktury sprzedaży i faktury zakupu, płatności, podatki i plan kont twojego kraju. Pełna księgowość, z synchronizacją z bankiem i uzgadnianiem, raportami finansowymi i narzędziami dla księgowych, jest w Odoo Enterprise.

**Ile pamięci i miejsca na dysku potrzebuje Odoo?**

Odoo zajmuje około 150 MB pamięci obok bazy Postgres z 512 MB, więcej, gdy instalujesz kolejne aplikacje i ich używasz; załączniki zajmują tyle miejsca, ile ważą ich pliki. Okno „Nowy projekt” daje każdej bazie danych aplikacji tyle pamięci, ile zaleca szablon, chyba że to zmienisz: Postgres (512 MB). Na Pethost wystarczy mu plan Starter, z miejscem na inne aplikacje obok.

## Odoo: plik Docker Compose

Szablon to ten compose.yaml i zmienne zapisywane do .env projektu przy jego tworzeniu. Pethost uruchamia plik dokładnie tak, jak jest napisany. Maszyna zapisuje tam, jak aplikacja loguje się do swoich baz danych, gdy je podłącza. Okno „Nowy projekt” zapisuje tam wybrane w nim ustawienia e-maila albo zostawia je puste, gdy aplikacja nie wysyła e-maili.

**Kontenery:** odoo (odoo:20).

**Bazy danych, każda jako osobny projekt:** [Postgres](https://pethost.dev/pl/postgres/) (512 MB).

**Wolumeny, w nocnym backupie:** data, addons.

```
services:
  odoo:
    image: odoo:20
    restart: unless-stopped
    environment:
      PGHOST: ${DATABASE_HOST:?reload New project to link a Postgres database, or send link_databases with env_prefix DATABASE}
      PGPORT: ${DATABASE_PORT:?reload New project to link a Postgres database, or send link_databases with env_prefix DATABASE}
      PGUSER: ${DATABASE_USER:?reload New project to link a Postgres database, or send link_databases with env_prefix DATABASE}
      PGPASSWORD: ${DATABASE_PASSWORD:?reload New project to link a Postgres database, or send link_databases with env_prefix DATABASE}
      PGDATABASE: ${DATABASE_NAME:?reload New project to link a Postgres database, or send link_databases with env_prefix DATABASE}
      # Odoo's bus and cron listen on this database: the app's own, as it may reach no other.
      PGDATABASE_SYSTEM: ${DATABASE_NAME:?reload New project to link a Postgres database, or send link_databases with env_prefix DATABASE}
      ADMIN_EMAIL: ${ADMIN_EMAIL}
      ADMIN_PASSWORD: ${ADMIN_PASSWORD}
      MASTER_PASSWORD: ${MASTER_PASSWORD}
      # The mail provider picked in New project, by STARTTLS on its port; with none, Odoo sends no
      # mail until an outgoing mail server is added in its settings.
      SMTP_HOST: ${SMTP_HOST}
      SMTP_PORT: ${SMTP_PORT}
      SMTP_USER: ${SMTP_USER}
      SMTP_PASSWORD: ${SMTP_PASSWORD}
      SMTP_FROM: ${SMTP_FROM}
    # The configuration is written at every start from the lines above: one database, the
    # database manager closed, the proxy's headers trusted, and a pool within the connections the
    # Postgres part gives. A new database is initialised before Odoo answers anyone, with
    # auth_signup, which turns free sign-up on when it is installed: so it is installed here, and
    # sign-up set to "On invitation" in the step that gives Odoo's administrator, whose login Odoo
    # makes "admin" with the password "admin", the email and password of the fields. A start that
    # finds auth_signup not installed, or the login still "admin", does what an earlier start left
    # undone.
    command:
      - bash
      - -c
      - |
        set -e
        {
          echo "[options]"
          echo "addons_path = /mnt/extra-addons"
          echo "data_dir = /var/lib/odoo"
          echo "http_interface = 0.0.0.0"
          echo "admin_passwd = $$MASTER_PASSWORD"
          echo "db_name = $$PGDATABASE"
          echo "dbfilter = ^$$PGDATABASE\$$"
          echo "list_db = False"
          echo "proxy_mode = True"
          echo "db_maxconn = 24"
          echo "max_cron_threads = 1"
          if [ -n "$$SMTP_HOST" ]; then
            echo "smtp_server = $$SMTP_HOST"
            echo "smtp_port = $$SMTP_PORT"
            echo "smtp_ssl = True"
            echo "smtp_user = $$SMTP_USER"
            echo "smtp_password = $$SMTP_PASSWORD"
            echo "email_from = $$SMTP_FROM"
          fi
        } > /etc/odoo/odoo.conf
        wait-for-psql.py --timeout=120
        installed="select 1 from ir_module_module where name = 'auth_signup' and state = 'installed'"
        if [ -z "$$(psql -tAc "$$installed" 2>/dev/null)" ]; then
          psql -c 'create extension if not exists pg_trgm'
          odoo -d "$$PGDATABASE" -i base,auth_signup --stop-after-init --no-http
        fi
        admin="select u.login from res_users u join ir_model_data d on d.res_id = u.id where d.module = 'base' and d.name = 'user_admin'"
        if [ "$$(psql -tAc "$$admin" 2>/dev/null)" = admin ]; then
          odoo shell -d "$$PGDATABASE" --no-http <<'PYTHON'
        import os
        admin = env.ref('base.user_admin')
        admin.write({'login': os.environ['ADMIN_EMAIL'], 'email': os.environ['ADMIN_EMAIL'], 'password': os.environ['ADMIN_PASSWORD']})
        env['ir.config_parameter'].set_str('auth_signup.invitation_scope', 'b2b')
        env.cr.commit()
        PYTHON
        fi
        exec odoo
    volumes:
      # Attachments, sessions and the files of installed apps.
      - data:/var/lib/odoo
      - addons:/mnt/extra-addons
    healthcheck:
      test: ["CMD", "curl", "-fsS", "-o", "/dev/null", "http://127.0.0.1:8069/web/health"]
      interval: 10s
      timeout: 5s
      retries: 30
      start_period: 300s
volumes:
  data:
  addons:
```

[compose.yaml](https://pethost.dev/templates/odoo/compose.yaml)[Zobacz na GitHubie](https://github.com/pethost-dev/templates/tree/main/odoo)

## [Więcej w kategorii Produktywność](https://pethost.dev/pl/templates/productivity/)

- [**Mealie**Menedżer przepisów i planer posiłków](https://pethost.dev/pl/templates/mealie/)
- [**Ryot**Dziennik filmów, seriali, książek, gier i treningów](https://pethost.dev/pl/templates/ryot/)
- [**Vikunja**Listy zadań i projekty, z widokiem kanban i Gantta](https://pethost.dev/pl/templates/vikunja/)
- [**Excalidraw**Tablica do diagramów i szkiców w stylu odręcznym, ze współpracą w czasie rzeczywistym](https://pethost.dev/pl/templates/excalidraw/)
- [**NocoDB**Baza danych no-code: tabele jak arkusze kalkulacyjne, formularze, tablice kanban i kalendarze, z API](https://pethost.dev/pl/templates/nocodb/)
- [**PLANKA**Tablice kanban dla projektów i zespołów, aktualizowane u wszystkich w czasie rzeczywistym](https://pethost.dev/pl/templates/planka/)

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Szablony](https://pethost.dev/pl/templates/)
- [O nas](https://pethost.dev/about/)
- [Dokumentacja](https://pethost.dev/docs/)
- [Blog](https://pethost.dev/pl/blog/)
- [API](https://pethost.dev/docs/api/)
- [CLI](https://pethost.dev/docs/cli/)
- [Plugin](https://github.com/pethost-dev/plugin)
- [Regulamin](https://pethost.dev/terms/)
- [Prywatność](https://pethost.dev/privacy/)
- [Zwroty](https://pethost.dev/refunds/)
- [support@pethost.dev](mailto:support@pethost.dev)

Bazy danych

- [Postgres](https://pethost.dev/pl/postgres/)

Porównania

- [Coolify vs Dokploy vs CapRover vs Dokku](https://pethost.dev/pl/blog/coolify-vs-dokploy-vs-caprover-vs-dokku/)
- [Coolify Cloud vs Dokploy Cloud](https://pethost.dev/pl/blog/coolify-cloud-vs-dokploy-cloud/)
- [Cennik Railway vs Render vs Fly.io](https://pethost.dev/pl/blog/railway-vs-render-vs-fly-io-pricing/)
- [Zarządzany hosting Docker Compose](https://pethost.dev/pl/blog/managed-docker-compose-hosting/)

Alternatywy

- [Alternatywy dla Railway](https://pethost.dev/pl/blog/railway-alternatives/)
- [Alternatywy dla Heroku](https://pethost.dev/pl/blog/heroku-alternatives/)
- [Alternatywy dla Dokploy](https://pethost.dev/pl/blog/dokploy-alternatives/)
- [Alternatywy dla Coolify](https://pethost.dev/pl/blog/coolify-alternatives/)
- [Alternatywy dla Render](https://pethost.dev/pl/blog/render-alternatives/)
- [Alternatywy dla Sliplane](https://pethost.dev/pl/blog/sliplane-alternatives/)
