erplibre/script/todo
Mathieu Benoit 188dad9960 [ADD] deploy: SSH port forwarding, to reach Odoo from the local browser
Reaching a VM's Odoo from the workstation browser meant remembering the
-L syntax and which side « localhost » refers to. Entry [3] of the Deploy
menu asks for a host, a remote port (8069 by default) and a local one, then
holds the tunnel open.

Nothing has to be said about jumps: the ProxyJump already in ~/.ssh/config
applies on its own, which is what makes a NESTED VM reachable — its address
means nothing from here, only from its parent.

Two guards, both from getting it wrong by hand:
  · a local port already in use is reported before ssh fails on it;
  · a local port that differs from the remote one gets a warning, because
    Odoo redirects using web.base.url and would send the browser to an
    address that does not exist locally. With matching ports and the usual
    web.base.url = http://localhost:8069, there is nothing to adjust.

The host list is read from ~/.ssh/config by a small shared helper: it expands
a Host line carrying several names and drops the wildcard patterns, which are
rules rather than machines.

Verified against a config holding « Host * », a plain host and a two-name
line: the three real names listed in order, selection by number and by name,
8069/8069 by default, 9072:localhost:8072 warning about web.base.url,
matching ports staying silent, an empty host cancelling without running
anything, and the busy-port probe answering correctly on a socket bound then
released.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-02 04:28:38 -04:00
..
database_manager.py [IMP] todo: add erase-database menu command 2026-06-25 02:37:22 -04:00
kdbx_manager.py [IMP] script: update copyright year to 2026 2026-03-11 23:16:05 -04:00
logo_ascii.txt [IMP] bot assistant TODO 2025-04-27 02:40:20 -04:00
migration_form.py [ADD] migration: a TUI resume screen, same first question as the prompt 2026-08-01 06:38:31 -04:00
migration_stats.py [ADD] migration: a read-only statistics screen, and a way out 2026-08-02 03:16:50 -04:00
qemu_deploy_form.py [FIX] qemu form: tick nothing in the catalog by default 2026-08-01 06:27:25 -04:00
qemu_install_monitor.py [ADD] qemu: statistics screen, with reset — and record failures too 2026-08-01 05:16:27 -04:00
README.base.md [ADD] Multilingual translation of all documentation (EN/FR) 2026-03-04 22:23:52 -05:00
README.fr.md [ADD] Multilingual translation of all documentation (EN/FR) 2026-03-04 22:23:52 -05:00
README.md [ADD] Multilingual translation of all documentation (EN/FR) 2026-03-04 22:23:52 -05:00
source_todo.sh [UPD] TODO: auto installation 2025-10-31 01:33:34 -04:00
todo.json [IMP] script todo: add QEMU/KVM VM deploy menu 2026-07-15 11:48:12 +00:00
todo.py [ADD] deploy: SSH port forwarding, to reach Odoo from the local browser 2026-08-02 04:28:38 -04:00
todo_example.json [UPD] TODO: simplify code by reusing method and support same command 2025-04-28 00:35:27 -04:00
todo_file_browser.py [IMP] script: update copyright year to 2026 2026-03-11 23:16:05 -04:00
todo_i18n.py [ADD] deploy: SSH port forwarding, to reach Odoo from the local browser 2026-08-02 04:28:38 -04:00
todo_prefs.py [ADD] migration: a TUI resume screen, same first question as the prompt 2026-08-01 06:38:31 -04:00
todo_telemetry.py [FIX] télémétrie navigation : extraire les commandes des menus « choices » 2026-07-30 23:24:40 -04:00
todo_upgrade.py [ADD] migration: a read-only statistics screen, and a way out 2026-08-02 03:16:50 -04:00
version_manager.py [IMP] script: update copyright year to 2026 2026-03-11 23:16:05 -04:00

TODO is an assistant robot to use ERPLibre Execute it with ./script/todo/todo.py or make todo.

For a new project, copy todo_example.json to private/todo/todo_override.json | private/todo/todo_override_private.json and edit it.