Namestitev Odoo 19 v Docker v Ubuntu 24.04: (Skupnost in podjetje) | INTROSERV
EUR
european

EUR

usa

USD

Slovenia Sl
Ex. VAT Ex. VAT 0%

Odoo 19 v Dockerju: Popolni vodnik za namestitev za Ubuntu 24.04 (Community & Enterprise)

Uvod

Uvajanje sistema ERP se pogosto zdi težavna naloga, vendar kontejnerizacija ta postopek spremeni v poenostavljen potek dela. V tem vodniku bomo prikazali, kako namestiti Odoo 19 na sveži instanci Ubuntu 24.04.

Glavni poudarek te metode je njena vsestranskost. Opredeljujemo arhitekturo, ki vam omogoča, da začnete z brezplačno različico Community, hkrati pa ohranja možnost takojšnje nadgradnje na Enterprise s preprostim kopiranjem modulov. Brez posegov v konfiguracijo "on-the-fly" - samo čisto upravljanje vsebnikov in samodejno SSL prek Caddyja.

Tehnični nabor (preverjeno):

  • Ker gre za namestitev Dockerja, metoda velja tudi za druge distribucije Linuxa)
  • Kontejnerizacija: Docker 29.1.5 + Docker Compose
  • Spletni strežnik: Caddy (samodejni HTTPS): Spletni strežnik: Caddy (samodejni HTTPS)
  • Database: PostgreSQL 18
  • Specifikacije VM: 2 vCPU, 4 GB RAM, 40 GB NVMe

Korak 0: Namestite Docker

Namestite Docker iz uradne shrambe:

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

Dodajte svojega uporabnika v skupino docker:

sudo usermod -aG docker $USER
newgrp docker

Omogočite in zaženite Docker:

sudo systemctl enable docker
sudo systemctl start docker

Preverite namestitev:

docker ps

Korak 1: Vzpostavite strukturo projekta

Ustvarite delovni imenik in potrebne mape:

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

Korak 2: Ustvarite docker-compose.yml

Ustvarite novo datoteko Docker Compose:

nano docker-compose.yml

Vnesite naslednjo konfiguracijo (nadomestite odoo_secure_password v razdelkih db environment in odoo environment s svojim dejanskim geslom):

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: Ustvarite datoteko Caddyfile

Ustvarite konfiguracijsko datoteko Caddy:

nano Caddyfile

Vstavite spodnjo konfiguracijo (zamenjajte :80 s svojo domeno za samodejno SSL):

# Replace :80 with YOUR_DOMAIN for automatic SSL
:80 {
    # Increase client max body size for file uploads
    request_body {
        max_size 300MB
    }
    
    # Longpolling for chats and notifications
    reverse_proxy /longpolling/* odoo:8072 {
        header_up X-Forwarded-Host {host}
        header_up X-Forwarded-Proto {scheme}
    }
    
    # Main traffic
    reverse_proxy odoo:8069 {
        header_up X-Forwarded-Host {host}
        header_up X-Forwarded-Proto {scheme}
    }
}

Korak 4: Zagon sklada

Zagon sklada:

docker compose up -d

Preverite stanje (vsi trije vsebniki morajo biti "Up"):

docker compose ps

Preverite dnevnike in se prepričajte, da ni napak:

docker compose logs odoo

Korak 5: Začetna nastavitev

Odprite brskalnik in pojdite na:

  • Preko IP: http://YOUR_SERVER_IP
  • Preko domene: https://YOUR_DOMAIN (če je nastavljeno v datoteki Caddyfile)

Izpolnite obrazec za ustvarjanje podatkovne zbirke:

  • Glavno geslo: ob prvi prijavi bo predlagano glavno geslo (to geslo shranite, saj je zelo pomembno).
  • Ime zbirke podatkov: npr. mycompany.
  • E-pošta: To je vaš dostopni e-poštni naslov (to bo vaša prijava).
  • Geslo: vaše geslo za prijavo v sistem.
  • Jezik: Izberite želeni jezik.
  • Država: Izberite svoj jezik: Izberite svojo državo.
  • Demo podatki: Za čisto produkcijsko podatkovno zbirko pustite neodkljukano.

Kliknite Ustvari podatkovno zbirko in počakajte, da se postopek zaključi (1-2 minuti).

Nadgradnja s skupnosti na podjetje

Če želite preiti iz Community na Enterprise, preprosto postavite module v določen imenik.

Korak 1. Pridobite module Enterprise (z naročnino na Odoo).

Korak 2. Izvlečite jih v mapo ./enterprise/.

Korak 3. Ponovno zaženite vsebnik:

docker compose restart odoo

Korak 4. Odprite brskalnik, pojdite na Settings → General Settings in vnesite kodo naročnine Enterprise v polje Publisher Warranty Code. Kliknite Save, da aktivirate licenco.

Korak 5. Pojdite na Apps → Update Apps List in namestite zahtevane module Enterprise.

Konfiguracija požarnega zidu

Če uporabljate UFW, zaženite naslednje:

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

Uporabni ukazi

Ustavi vse:

docker compose down

Ponovno zaženite samo sistem Odoo:

docker compose restart odoo

Oglejte si dnevnike:

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

Varnostno kopiranje podatkovne baze:

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

Obnovitev podatkovne baze:

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

Popolno brisanje (previdno!):

docker compose down -v
rm -rf addons enterprise Caddyfile

Uporaba imena domene

Pridobitev samodejnega certifikata SSL pri Let's Encrypt:

Korak 1. Konfigurirajte DNS: Usmerite zapis A iz VAŠE_DOMENE na IP vašega strežnika.

Korak 2: Dodajte domensko ime DNS. Posodobite datoteko Caddyfile: Zamenjajte :80 z VAŠA_DOMENA.

Korak 3. Ponovno zaženite Caddy:

docker compose restart caddy

Caddy bo samodejno zagotovil certifikat SSL.

4. Korak: Vklopite SSL. Dostopajte do sistema Odoo prek spletne strani https://YOUR_DOMAIN.

Preverite izdajo potrdila:

docker compose logs caddy | grep certificate


VAT

  • Other

    Ex. VAT

    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

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA