Instalacija Odoo 19 u Dockeru na Ubuntu 24.04: Potpuni vodič (Community & Enterprise) | INTROSERV

Odoo 19 u Dockeru: Potpuni vodič za instalaciju za Ubuntu 24.04 (Community & Enterprise)

Uvod

Pokretanje ERP sustava često izgleda kao zastrašujući zadatak, ali kontejnerizacija pretvara ovaj proces u jednostavan radni tok. U ovom vodiču proći ćemo kroz kako postaviti Odoo 19 na svježu Ubuntu 24.04 instancu.

Glavna prednost ove metode je njena svestranost. Definiram arhitekturu koja vam omogućava da započnete s besplatnom Community verzijom dok održavate mogućnost trenutnog nadogradnje na Enterprise jednostavnom kopiranjem modula. Bez "na brzinu" config hakova – samo čista upravljanja kontejnerima i automatski SSL putem Caddy-ja.

Tehnički stack (Verificiran):

  • OS: Ubuntu 24.04 LTS (Budući da je ovo Docker instalacija, metoda se primjenjuje i na druge Linux distribucije)
  • Kontejnerizacija: Docker 29.1.5 + Docker Compose
  • Web server: Caddy (Automatski HTTPS)
  • Baza podataka: PostgreSQL 18
  • VM specifikacije: 2 vCPU, 4 GB RAM, 40 GB NVMe

Korak 0: Instalacija Docker-a

Instalirajte Docker s službenog repozitorija:

curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh

Dodajte vašeg korisnika u docker grupu:

sudo usermod -aG docker $USER newgrp docker

Omogućite i pokrenite Docker:

sudo systemctl enable docker sudo systemctl start docker

Provjerite instalaciju:

docker ps

Korak 1: Postavljanje strukture projekta

Kreirajte radni direktorij i potrebne mape:

mkdir odoo-stack && cd odoo-stack mkdir -p addons enterprise

Korak 2: Kreiranje docker-compose.yml datoteke

Kreirajte novu Docker Compose datoteku:

nano docker-compose.yml

Zalijepite sljedeću konfiguraciju (zamijenite odoo_secure_password s vašom stvarnom lozinkom u oba db okruženja i odoo okruženja):

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:

Korak 3: Kreiranje Caddyfile datoteke

Kreirajte Caddy konfiguracijsku datoteku:

nano Caddyfile

Zalijepite konfiguraciju ispod (zamijenite :80 sa vašom domenom za automatski SSL):

# Zamijenite :80 sa VAŠOM_DOMENOM za automatski SSL :80 { # Povećanje maksimalne veličine tijela zahtjeva za učitavanje datoteka request_body { max_size 300MB } # Longpolling za chat i obavijesti reverse_proxy /longpolling/* odoo:8072 { header_up X-Forwarded-Host {host} header_up X-Forwarded-Proto {scheme} } # Glavni promet reverse_proxy odoo:8069 { header_up X-Forwarded-Host {host} header_up X-Forwarded-Proto {scheme} } }

Korak 4: Pokretanje stack-a

Pokrenite stack:

docker compose up -d

Provjerite status (sva 3 kontejnera trebaju biti "Up"):

docker compose ps

Provjerite dnevnike kako biste osigurali da nema grešaka:

docker compose logs odoo

Korak 5: Početna konfiguracija

Otvorite preglednik i navigirajte na:

  • Putem IP-a: http://VAŠA_IP_SERVERA
  • Putem domene: https://VAŠA_DOMENA (ako je konfigurirana u Caddyfile-u)

Ispunite obrazac za kreiranje baze podataka:

  • Master lozinka: Master lozinka će biti predložena pri prvoj prijavi (spremi tu lozinku, kritična je).
  • Naziv baze podataka: npr. mycompany.
  • Email: Vaša dostupna email adresa (ovo će biti vaš login).
  • Lozinka: Vaša lozinka za login u sustav.
  • Jezik: Odaberite preferentirani jezik.
  • Država: Odaberite vašu zemlju.
  • Demo podaci: Ostavite neodabrano za čistu proizvodnu bazu podataka.

 

Kliknite Kreiraj bazu podataka i čekajte da se proces dovrši (1-2 minute).

Nadogradnja s Community na Enterprise

Za prelazak s Community na Enterprise, jednostavno postavite module u određeni direktorij.

Korak 1. Dobijte Enterprise module (putem Odoo pretplate).

Korak 2. Ekstrahirajte ih u ./enterprise/ mapu.

Korak 3. Ponovno pokrenite kontejner:

docker compose restart odoo

Korak 4. Instalirajte potrebne Enterprise module putem UI-ja.
Nisu potrebne izmjene datoteka konfiguracije – put do enterprise modula je već prethodno konfiguriran.

Konfiguracija vatrozida

Ako koristite UFW, pokrenite sljedeće:

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

Korisne naredbe

Zaustavite sve:

docker compose down

Ponovno pokrenite samo Odoo:

docker compose restart odoo

Pogledajte dnevnike:

docker compose logs -f odoo docker compose logs -f db docker compose logs -f caddy

Sigurnosna kopija baze podataka:

docker compose exec db pg_dumpall -U odoo > backup_$(date +%Y%m%d).sql

Vraćanje baze podataka:

cat backup_20240125.sql | docker compose exec -T db psql -U odoo

Potpuno brisanje (Oprezno!):

docker compose down -v rm -rf addons enterprise Caddyfile

Korištenje imena domene

Kako bi dobili automatski SSL certifikat od Let's Encrypt:

Korak 1. Konfigurirajte DNS: Usmjerite A-zapis s VAŠE_DOMENE na IP vašeg servera.

Korak 2. Ažurirajte Caddyfile: Zamijenite :80 sa VAŠOM_DOMENOM.

Korak 3. Ponovno pokrenite Caddy:

docker compose restart caddy

Caddy će automatski dostaviti SSL certifikat.

Korak 4. Pristupite Odoo-u putem https://VAŠA_DOMENA.

Provjerite izdavanje certifikata:

docker compose logs caddy | grep certificate


VAT

  • Other

    Other

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    %
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • Other
  • canada
  • poland
  • european-union
  • france
  • germany
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria