Skip to content

Deployment and operations ​

This guide is for operators of HoHu application instances. The default deployment uses HoHu CLI and Docker Compose for Web, API, a separate scheduler, and optional PostgreSQL, Redis, and Nginx services.

First launch ​

  1. Confirm compatible releases, then deploy with CLI to initialize configuration, select images, and expose the required ports.
  2. Configure domains, proxying, and HTTPS. Check certificates, uploads, and AI streaming.
  3. Verify login, permissions, files, and jobs. Establish logs and monitoring through health checks and troubleshooting.
  4. Record versions and configuration, then rehearse backup and recovery before serving production business data.

Operations reference ​

TaskRead
Install with bundled or external dependenciesDeploy with CLI
Configure host Nginx, Origin CA, or CertbotDomains, proxying, and HTTPS
Inspect state, logs, metrics, and failuresHealth checks and troubleshooting
Update images or source, back up, and recoverUpgrade, backup, and recovery
Create, initialize, or disable tenantsMulti-tenancy
Configure models, egress, and AI process modesAI configuration and operations
Look up deployment and monitoring optionsCLI deployment, CLI monitoring
Choose the correct configuration locationConfiguration ownership

Launch checklist ​

  • Database and file storage persist, and recovery keys are secured.
  • Backend and Web versions match, migrations succeed, and ordinary accounts have the intended permissions.
  • The domain reaches the intended instance with valid HTTPS; administrative and monitoring ports have appropriate network access.
  • API and scheduler roles are separate, and AI worker settings match the process topology.
  • Registration and password recovery follow tenant settings, with tested mail delivery; see system settings.

CLI orchestrates startup and migrations. It does not perform database backups, verify certificate renewal, or validate business behavior. Existing installations should follow upgrade procedures rather than treating initial setup as a reset.