diff --git a/scenario1/Containerfile b/scenario1/Containerfile
new file mode 100644
index 0000000..e07cdec
--- /dev/null
+++ b/scenario1/Containerfile
@@ -0,0 +1,23 @@
+FROM edge-registry.itix.fr/demo-edge-retail/generic:latest
+
+ARG ADMIN_USERNAME=demo \
+ ADMIN_PASSWORD=redhat
+
+RUN <({db_name})
+#RIBBON_COLOR=rgba(255,0,0,.6)
+#RIBBON_NAME=PROD
({db_name})
diff --git a/scenario1/root/etc/containers/systemd/configs/odoo-db.env b/scenario1/root/etc/containers/systemd/configs/odoo-db.env
new file mode 100644
index 0000000..d77dc61
--- /dev/null
+++ b/scenario1/root/etc/containers/systemd/configs/odoo-db.env
@@ -0,0 +1,5 @@
+POSTGRES_USER=odoo
+POSTGRES_PASSWORD=odoo
+POSTGRES_DB=postgres
+POSTGRES_HOST_AUTH_METHOD=scram-sha-256
+POSTGRES_INITDB_ARGS=--auth-host=scram-sha-256
diff --git a/scenario1/root/etc/containers/systemd/odoo-app.container b/scenario1/root/etc/containers/systemd/odoo-app.container
new file mode 100644
index 0000000..fd8c7f5
--- /dev/null
+++ b/scenario1/root/etc/containers/systemd/odoo-app.container
@@ -0,0 +1,43 @@
+[Unit]
+Description=Odoo
+Documentation=https://www.odoo.com/documentation/
+
+# Require initialization to complete first
+Requires=odoo-init.service odoo-db.service
+After=odoo-init.service odoo-db.service
+
+# Only start if initialization has completed
+ConditionPathExists=/var/lib/odoo/initialized
+
+[Container]
+ContainerName=odoo-app
+Image=docker.io/library/odoo:17
+
+# Network configuration
+Network=host
+AddCapability=CAP_NET_BIND_SERVICE
+
+# Volume mounts
+Volume=/etc/odoo:/etc/odoo:ro
+Volume=/var/lib/odoo/data:/var/lib/odoo:z
+Volume=/var/lib/odoo/addons:/mnt/extra-addons:z
+Volume=/var/log/odoo:/var/log/odoo:z
+
+# Health check
+HealthCmd=curl -fs -o /dev/null -w "%{http_code}\n" http://127.0.0.1/web/login
+HealthInterval=30s
+HealthTimeout=10s
+HealthStartPeriod=60s
+HealthRetries=3
+
+[Service]
+Restart=always
+RestartSec=10
+TimeoutStartSec=600
+TimeoutStopSec=30
+
+# Wait for PostgreSQL to be ready
+ExecStartPre=/bin/sh -c 'exec 2>/dev/null; for try in $(seq 0 12); do if ! /bin/true 5<> /dev/tcp/127.0.0.1/5432; then echo "Waiting for PostgreSQL to be available..."; sleep 5; else exit 0; fi; done; exit 1'
+
+[Install]
+WantedBy=odoo.target
diff --git a/scenario1/root/etc/containers/systemd/odoo-db.container b/scenario1/root/etc/containers/systemd/odoo-db.container
new file mode 100644
index 0000000..4b8f220
--- /dev/null
+++ b/scenario1/root/etc/containers/systemd/odoo-db.container
@@ -0,0 +1,37 @@
+[Unit]
+Description=PostgreSQL Database Server
+Documentation=https://www.postgresql.org/
+After=network.target
+
+[Container]
+ContainerName=odoo-db
+Image=docker.io/library/postgres:17-alpine
+
+# Network configuration
+Network=host
+
+# Security context (equivalent to K8s securityContext)
+#NoNewPrivileges=true
+#DropCapability=ALL
+
+# Environment variables from config
+EnvironmentFile=/etc/containers/systemd/configs/odoo-db.env
+
+# Volume mounts
+Volume=/var/lib/postgresql/data:/var/lib/postgresql/data:Z
+
+# Health check
+HealthCmd=pg_isready -U odoo
+HealthInterval=30s
+HealthTimeout=10s
+HealthStartPeriod=60s
+HealthRetries=3
+
+[Service]
+Restart=always
+RestartSec=10
+TimeoutStartSec=120
+TimeoutStopSec=30
+
+[Install]
+WantedBy=odoo.target
diff --git a/scenario1/root/etc/containers/systemd/odoo-init.container b/scenario1/root/etc/containers/systemd/odoo-init.container
new file mode 100644
index 0000000..ef445fa
--- /dev/null
+++ b/scenario1/root/etc/containers/systemd/odoo-init.container
@@ -0,0 +1,48 @@
+[Unit]
+Description=Odoo initialization service
+Documentation=https://www.odoo.com/documentation/
+
+Requires=odoo-db.service
+After=odoo-db.service
+Before=odoo-app.service
+
+# Prevent running if already initialized
+ConditionPathExists=!/var/lib/odoo/initialized
+
+[Container]
+ContainerName=odoo-init
+Image=docker.io/library/odoo:17
+
+# Network configuration
+Network=host
+AddCapability=CAP_NET_BIND_SERVICE
+
+# Environment variables from secrets and config
+EnvironmentFile=/etc/containers/systemd/configs/odoo-config.env
+
+# Volume mounts
+Volume=/etc/odoo:/etc/odoo:ro
+Volume=/var/lib/odoo/data:/var/lib/odoo:z
+Volume=/var/lib/odoo/addons:/mnt/extra-addons:z
+Volume=/var/log/odoo:/var/log/odoo:z
+
+# Initialization script
+Entrypoint=/bin/bash
+Exec=/etc/odoo/init.sh
+
+[Service]
+Type=oneshot
+Restart=no
+RemainAfterExit=yes
+
+# Flag this service as initialized
+ExecStartPost=/bin/touch /var/lib/odoo/initialized
+
+# Skaffold filesystem + fix permissions
+ExecStartPre=/bin/sh -c 'for d in /var/lib/odoo/data /var/lib/odoo/addons /var/log/odoo; do mkdir -p "$d" ; chmod 700 "$d" ; chown 101:101 "$d" ; done'
+
+# Wait for PostgreSQL to be ready
+ExecStartPre=/bin/sh -c 'exec 2>/dev/null; for try in $(seq 0 12); do if ! /bin/true 5<> /dev/tcp/127.0.0.1/5432; then echo "Waiting for PostgreSQL to be available..."; sleep 5; else exit 0; fi; done; exit 1'
+
+[Install]
+WantedBy=odoo.target
diff --git a/scenario1/root/etc/odoo/init.sh b/scenario1/root/etc/odoo/init.sh
new file mode 100755
index 0000000..ca48af9
--- /dev/null
+++ b/scenario1/root/etc/odoo/init.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+##
+## This script initializes the Odoo application environment.
+##
+
+set -Eeuo pipefail
+
+echo "Downloading OCA addons..."
+curl -sSfL https://github.com/OCA/web/archive/refs/heads/17.0.tar.gz | tar -xz -C /mnt/extra-addons --strip-components=1
+
+echo "Initializing database '$DATABASE'..."
+odoo -c /etc/odoo/odoo.conf --logfile=/dev/stdout --no-http --stop-after-init -d $DATABASE --init base
+
+if [ -n "${RIBBON_NAME}${RIBBON_COLOR}" ]; then
+ echo "Installing Web Environment Ribbon module..."
+ odoo -c /etc/odoo/odoo.conf --logfile=/dev/stdout --no-http --stop-after-init -d $DATABASE --init web_environment_ribbon
+fi
+
+echo "Installing Point of Sale module..."
+odoo -c /etc/odoo/odoo.conf --logfile=/dev/stdout --no-http --stop-after-init -d $DATABASE --init point_of_sale
+
+echo "Setting admin password and ribbon color..."
+odoo shell -c /etc/odoo/odoo.conf -d $DATABASE <