Remote Server
This document is the project source of truth for remote server and deploy environment rules.
Server Inventory
- Deploy target host is
mathbox.90.cz. - Default assumption is a single Docker host running all four modules on one shared internal network.
- Public HTTPS hostname for
whatsapp-adapter-apiishttps://whatsapp-adapter-api.mathbox.90.cz. This hostname is assigned in DNS, but reverse proxy and certificate setup are still incomplete and need to be configured according topython-application-skillbefore publication is complete. - Public HTTPS hostname for
whatsapp-adapter-appishttps://whatsapp-adapter-app.mathbox.90.cz. This hostname is assigned in DNS, but reverse proxy and certificate setup are still incomplete and need to be configured according topython-application-skillbefore publication is complete. - Public HTTPS hostname for
whatsapp-adapter-docsishttps://whatsapp-adapter-docs.mathbox.90.cz. - WAHA operator dashboard entry on
mathboxishttps://waha.mathbox.90.cz/dashboard/.
Deploy Rules
- Deploy starts from repo root with
./script/deploy.shor per-module deploy scripts. - Production config source of truth is
secrets/prod/<module>.env. - Production modules on
mathboxrun withHOST_UID=1001andHOST_GID=1001. - Each module deploy reads its own materialized
.env.server. - Root deploy renders local
.env.serverfiles from SOPS before each module deploy and removes those local plaintext artifacts after the run. - Remote deploy copies the module directory and runs the module deploy script on the remote host.
- Remote deploy does not overwrite bind-mounted runtime state directories such as
data/,logs/,conf/,sessions/, ormedia/.
Exposure Rules
whatsapp-adapter-waharemains outside the public project API contract.- If operator access is exposed on
mathbox, expose the dashboard entry explicitly and do not treat the vendor host as a general public API surface. whatsapp-adapter-apiis the primary candidate for public exposure when external systems need REST access.whatsapp-adapter-appmay be public only when protected by SimpleAuth and reverse proxy TLS.whatsapp-adapter-docsmay be public when documentation needs a standalone published site.- Until hostnames are assigned, all compose defaults bind to
127.0.0.1.
When Public Domains Are Added
whatsapp-adapter-apiis published athttps://whatsapp-adapter-api.mathbox.90.cz.whatsapp-adapter-appis published athttps://whatsapp-adapter-app.mathbox.90.cz.whatsapp-adapter-docsis published athttps://whatsapp-adapter-docs.mathbox.90.cz.whatsapp-adapter-wahaoperator dashboard is athttps://waha.mathbox.90.cz/dashboard/.- Keep API and app publication marked incomplete until reverse proxy routing, TLS certificates, and
related app settings are configured according to
python-application-skill. - Set
whatsapp-adapter-appDOCS_BASE_URLto the final docs URL for that environment when the docs site does not live on the same host and default docs port. - Record reverse proxy routes and certificate workflow.
- Verify HTTPS from the final hostname after deploy.