Installation von Odoo 19 in Docker auf Ubuntu 24.04: Vollständige Anleitung (Community & Enterprise) | INTROSERV

Odoo 19 in Docker: Vollständige Installationsanleitung für Ubuntu 24.04 (Community & Enterprise)

Einführung

Die Bereitstellung eines ERP-Systems scheint oft eine entmutigende Aufgabe zu sein, aber die Containerisierung macht diesen Prozess zu einem rationalisierten Arbeitsablauf. In dieser Anleitung zeigen wir Ihnen, wie Sie Odoo 19 auf einer neuen Ubuntu 24.04-Instanz einrichten.

Das Besondere an dieser Methode ist ihre Vielseitigkeit. Wir definieren eine Architektur, die es Ihnen ermöglicht, mit der kostenlosen Community-Version zu beginnen und gleichzeitig durch einfaches Kopieren von Modulen ein sofortiges Upgrade auf die Enterprise-Version durchzuführen. Keine "on-the-fly"-Konfigurationshacks - nur sauberes Container-Management und automatisches SSL über Caddy.

Technischer Stack (verifiziert):

  • OS: Ubuntu 24.04 LTS (Da es sich um eine Docker-Installation handelt, gilt die Methode auch für andere Linux-Distributionen)
  • Containerisierung: Docker 29.1.5 + Docker Compose
  • Webserver: Caddy (Automatisches HTTPS)
  • Datenbank: PostgreSQL 18
  • VM-Spezifikationen: 2 vCPU, 4 GB RAM, 40 GB NVMe

Schritt 0: Docker installieren

Installieren Sie Docker aus dem offiziellen Repository:

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

Fügen Sie Ihren Benutzer zur Docker-Gruppe hinzu:

sudo usermod -aG docker $USER newgrp docker

Aktivieren und starten Sie Docker:

sudo systemctl enable docker sudo systemctl start docker

Überprüfen Sie die Installation:

docker ps

Schritt 1: Einrichten der Projektstruktur

Erstellen Sie das Arbeitsverzeichnis und die notwendigen Ordner:

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

Schritt 2: Erstellen der Datei docker-compose.yml

Erstellen Sie eine neue Docker-Compose-Datei:

nano docker-compose.yml

Fügen Sie die folgende Konfiguration ein (ersetzen Sie odoo_secure_password in den beiden Abschnitten db environment und odoo environment mit Ihrem tatsächlichen Passwort):

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 Umgebung: - HOST=db - USER=odoo - PASSWORD=odoo_secure_password Befehl: > --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:

Schritt 3: Erstellen der Caddydatei

Erstellen Sie die Caddy-Konfigurationsdatei:

nano Caddyfile

Fügen Sie die folgende Konfiguration ein (ersetzen Sie :80 durch Ihre Domain für automatisches SSL):

# Ersetzen Sie :80 durch YOUR_DOMAIN für automatisches SSL :80 { # Erhöhen Sie die maximale Größe des Client-Bodys für Dateiuploads request_body { max_size 300MB } # Longpolling für Chats und Benachrichtigungen reverse_proxy /longpolling/* odoo:8072 { header_up X-Forwarded-Host {host} header_up X-Forwarded-Proto {scheme} } # Hauptverkehr reverse_proxy odoo:8069 { header_up X-Forwarded-Host {host} header_up X-Forwarded-Proto {scheme} } }

Schritt 4: Starten des Stacks

Starten Sie den Stack:

docker compose up -d

Überprüfen Sie den Status (alle 3 Container sollten "Up" sein):

docker compose ps

Überprüfen Sie die Logs, um sicherzustellen, dass keine Fehler vorliegen:

docker compose logs odoo

Schritt 5: Ersteinrichtung

Öffnen Sie Ihren Browser und navigieren Sie zu:

  • Über IP: http://YOUR_SERVER_IP
  • Über Domain: https://YOUR_DOMAIN (falls in der Caddy-Datei konfiguriert)

Füllen Sie das Formular zur Erstellung der Datenbank aus:

  • Master-Passwort: Bei der ersten Anmeldung wird ein Master-Passwort vorgeschlagen (speichern Sie dieses Passwort, es ist wichtig).
  • Datenbankname: z.B. mycompany.
  • E-Mail: Ihre erreichbare E-Mail-Adresse (dies wird Ihr Login sein).
  • Passwort: Ihr Passwort für die Systemanmeldung.
  • Sprache: Wählen Sie Ihre bevorzugte Sprache.
  • Land: Wählen Sie Ihr Land.
  • Demo-Daten: Lassen Sie das Kontrollkästchen deaktiviert, um eine saubere Produktionsdatenbank zu erhalten.

Klicken Sie auf Datenbank erstellen und warten Sie, bis der Vorgang abgeschlossen ist (1-2 Minuten).

Upgrades von Community auf Enterprise

Um von Community zu Enterprise zu wechseln, platzieren Sie die Module einfach in dem dafür vorgesehenen Verzeichnis.

Schritt 1. Beziehen Sie die Enterprise-Module (über ein Odoo-Abonnement).

Schritt 2. Extrahieren Sie sie in den Ordner ./enterprise/.

Schritt 3. Starten Sie den Container neu:

docker compose restart odoo

Schritt 4. Installieren Sie die erforderlichen Enterprise-Module über die Benutzeroberfläche.
Es sind keine Änderungen an den Konfigurationsdateien erforderlich - der Pfad zu den Enterprise-Modulen ist bereits vorkonfiguriert.

Firewall-Konfiguration

Wenn Sie UFW verwenden, führen Sie Folgendes aus:

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

Nützliche Befehle

Alles stoppen:

docker compose down

Nur Odoo neu starten:

docker compose restart odoo

Logs anzeigen:

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

Datenbank-Backup:

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

Datenbank wiederherstellen:

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

Vollständige Löschung (Vorsicht!):

docker compose down -v rm -rf addons enterprise Caddyfile

Verwendung eines Domainnamens

Um ein automatisches SSL-Zertifikat von Let's Encrypt zu erhalten:

Schritt 1. Konfigurieren Sie DNS: Richten Sie einen A-Eintrag von YOUR_DOMAIN auf die IP Ihres Servers.

Schritt 2. Caddyfile aktualisieren: Ersetzen Sie :80 durch IHRE_DOMAIN.

Schritt 3. Starten Sie Caddy neu:

docker compose restart caddy

Caddy wird das SSL-Zertifikat automatisch bereitstellen.

Schritt 4. Greifen Sie über https://YOUR_DOMAIN auf Odoo zu.

Überprüfen Sie die Ausstellung des Zertifikats:

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