Deployment

Two containers, clear boundaries.

The server handles API/auth/realtime work. The web container serves both browser surfaces.

Container layout

ContainerPurposeDefault access
taskbandit-serverNestJS API, auth, realtime sync, notification deliveryhttp://localhost:8080
taskbandit-webStatic client UI/PWA and admin UIhttp://localhost:4173

Routes

  • / serves the client UI and installable browser PWA.
  • /admin serves household configuration, templates, translations, and operations tools.
  • /health remains on the API server.

Reverse proxy

Terminate TLS at your proxy. Route API traffic to taskbandit-server:8080 and web traffic to taskbandit-web:80. Keep the admin UI under /admin on the same web host instead of creating a separate upstream for it. See the dedicated reverse proxy guide for the simplified env values, Nginx Proxy Manager notes, headers, and WebSocket forwarding.

Upgrade order

Update the server and web containers together from the same TASKBANDIT_IMAGE_TAG. Then update native Android clients after the newer server is running.

Published images

Docker Compose pulls two images from Docker Hub:

  • kriziw/taskbandit for the API server.
  • kriziw/taskbandit-web for the shared web UI container.

Pin TASKBANDIT_IMAGE_TAG if you want to avoid moving with latest.