Skip to Content
XiotBox Documentation

Deploy with Odoo.sh

Keep the Odoo application on Odoo.sh and place persistent printing services on a separate host.

Odoo 19 · XiotBox 19.0.2

Supported layout

Odoo.sh: printnode_base + xiotbox_lite
        │ HTTPS in both directions
        ▼
Customer host: Runtime + SocketD ──TLS/WSS── Desktop clients
Do not start Runtime or SocketD in an Odoo.sh shell. Odoo.sh does not expose arbitrary service ports or supervise customer daemons. Do not use 127.0.0.1 for Runtime or SocketD settings.

Procedure

  1. Add the two Odoo addons to the Odoo.sh Git repository and confirm the build succeeds.
  2. Install the modules in a staging database first.
  3. Provision an independent Runtime host following the Runtime guide.
  4. Set Deployment Mode to Separate Runtime / SocketD host.
  5. Use the production Odoo.sh HTTPS domain as SocketD to Odoo URL.
  6. Use the external Runtime and SocketD domains for the other two settings.
  7. Test staging end-to-end before merging to production.

Queues

XiotBox can print without an optional OCA job queue. Do not deploy the regular standalone queue_job runner inside Odoo.sh. A cron-based runner may be used only when a production-ready build for your exact Odoo version is available and duplicate-print protection has been validated. It never replaces SocketD.

IP allowlists

Only configure Allowed SocketD IPs when the external Runtime host has a stable outbound IP. Odoo.sh instance IPs can change; do not build a firewall rule that assumes the Odoo.sh address is permanent.