Backup état complet après enregistrement vidéo démo de bout en bout. À utiliser comme point de référence pour la consolidation post-démo. Changements majeurs de la session 18-19 mai : - AIVA-URGENCE : page autonome avec preset URL + auto-focus chain - Workflow Demo_urgence_3_db : merge linux_db + steps AIVA + pause humaine NoMachine - Bypass LLM (static_result / static_text) dans replay_engine pour démos déterministes sans appel Ollama - Fix api_stream:3013 — replay_paused au premier polling /next - dag_execute : lift duration_ms vers top-level pour wait runtime - NPM bypass auth /aiva-urgence/ via location ^~ (proxy_host/10.conf hors git) - scripts/cancel-replays.sh — workaround Stop VWB qui ne purge pas la queue Anchors visuels (468) forcés dans le commit pour garantir restorabilité. DB workflows actuelle + ~12 .bak DB de la journée incluses. Sujets identifiés pour consolidation post-démo (TODO) : 1. Bug VWB recapture anchor ne régénère pas le PNG 2. Léa client accumule état mémoire (restart périodique requis) 3. Stop VWB ne purge pas la queue serveur (lien manquant vers /replay/cancel) 4. Bug coord client mss tronqué 2560x60 → mapping Y cassé 5. delay_before/delay_after ignorés au runtime (fix partiel duration_ms) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
124 lines
3.8 KiB
Plaintext
124 lines
3.8 KiB
Plaintext
#cloud-config
|
|
preserve_hostname: false
|
|
hostname: glpi-ubuntu-24-04-dom
|
|
manage_etc_hosts: true
|
|
timezone: Europe/Paris
|
|
ssh_pwauth: true
|
|
disable_root: true
|
|
growpart:
|
|
mode: auto
|
|
devices: ["/"]
|
|
resize_rootfs: true
|
|
users:
|
|
- default
|
|
- name: dom
|
|
gecos: GLPI admin
|
|
shell: /bin/bash
|
|
groups: [adm, sudo]
|
|
sudo: ALL=(ALL) NOPASSWD:ALL
|
|
lock_passwd: false
|
|
plain_text_passwd: "loli"
|
|
ssh_authorized_keys:
|
|
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBTDOsL4IVLYZUC/yM8xLiE2y58urp5dJLwlU6GoldXd dom@laptop
|
|
write_files:
|
|
- path: /opt/glpi/docker-compose.yml
|
|
permissions: '0644'
|
|
owner: root:root
|
|
content: |
|
|
name: glpi
|
|
services:
|
|
glpi:
|
|
image: "glpi/glpi:10.0.25"
|
|
restart: unless-stopped
|
|
env_file: .env
|
|
environment:
|
|
TZ: "Europe/Paris"
|
|
depends_on:
|
|
- db
|
|
ports:
|
|
- "80:80"
|
|
volumes:
|
|
- glpi_data:/var/glpi
|
|
db:
|
|
image: "mysql:8.4"
|
|
restart: unless-stopped
|
|
command:
|
|
- --character-set-server=utf8mb4
|
|
- --collation-server=utf8mb4_unicode_ci
|
|
environment:
|
|
TZ: "Europe/Paris"
|
|
MYSQL_RANDOM_ROOT_PASSWORD: "yes"
|
|
MYSQL_DATABASE: "glpi"
|
|
MYSQL_USER: "glpi"
|
|
MYSQL_PASSWORD: "xYcjYkJcKwSzBFJYHMXUSzL5"
|
|
volumes:
|
|
- db_data:/var/lib/mysql
|
|
volumes:
|
|
glpi_data:
|
|
db_data:
|
|
- path: /opt/glpi/.env
|
|
permissions: '0640'
|
|
owner: root:sudo
|
|
content: |
|
|
TIMEZONE=Europe/Paris
|
|
GLPI_DB_HOST=db
|
|
GLPI_DB_PORT=3306
|
|
GLPI_DB_NAME=glpi
|
|
GLPI_DB_USER=glpi
|
|
GLPI_DB_PASSWORD=xYcjYkJcKwSzBFJYHMXUSzL5
|
|
GLPI_SKIP_AUTOINSTALL=true
|
|
GLPI_CRONTAB_ENABLED=1
|
|
- path: /opt/glpi/README-FIRST-BOOT.txt
|
|
permissions: '0644'
|
|
owner: root:root
|
|
content: |
|
|
GLPI stack files are stored in /opt/glpi.
|
|
Start or restart the stack with:
|
|
systemctl restart glpi-compose.service
|
|
If GLPI auto-install is disabled, use the database values from /opt/glpi/.env in the web installer.
|
|
- path: /etc/systemd/system/glpi-compose.service
|
|
permissions: '0644'
|
|
owner: root:root
|
|
content: |
|
|
[Unit]
|
|
Description=GLPI Docker Compose stack
|
|
Requires=docker.service
|
|
After=network-online.target docker.service
|
|
Wants=network-online.target
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
WorkingDirectory=/opt/glpi
|
|
ExecStart=/usr/bin/docker compose up -d
|
|
ExecStop=/usr/bin/docker compose down
|
|
RemainAfterExit=yes
|
|
TimeoutStartSec=0
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
- path: /usr/local/sbin/bootstrap-glpi-host.sh
|
|
permissions: '0755'
|
|
owner: root:root
|
|
content: |
|
|
#!/usr/bin/env bash
|
|
set -euxo pipefail
|
|
apt-get update
|
|
DEBIAN_FRONTEND=noninteractive apt-get install -y ca-certificates curl gnupg
|
|
install -d -m 0755 /etc/apt/keyrings
|
|
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
|
|
chmod a+r /etc/apt/keyrings/docker.asc
|
|
. /etc/os-release
|
|
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu ${VERSION_CODENAME} stable" > /etc/apt/sources.list.d/docker.list
|
|
apt-get update
|
|
DEBIAN_FRONTEND=noninteractive apt-get install -y openssh-server nmap docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
|
systemctl enable --now ssh
|
|
systemctl enable --now containerd
|
|
systemctl enable --now docker
|
|
usermod -aG docker dom
|
|
systemctl daemon-reload
|
|
systemctl enable glpi-compose.service
|
|
systemctl start glpi-compose.service || true
|
|
runcmd:
|
|
- [bash, /usr/local/sbin/bootstrap-glpi-host.sh]
|
|
final_message: "cloud-init termine. Docker et GLPI sont prepares dans /opt/glpi."
|