Configuration

Environment settings that matter.

Most installs can start from .env.example and change only the public URLs, secrets, data paths, and optional providers.

Core settings

VariableUse
TASKBANDIT_IMAGE_TAGPin both server and web containers to a published Docker tag.
TASKBANDIT_PORTHost and container port for the API server. Default: 8080.
TASKBANDIT_WEB_PORTHost port for the shared web container. Default: 4173.
TASKBANDIT_JWT_SECRETRequired secret for JWT signing. Change it for any real install.
TASKBANDIT_DATA_ROOTBind-mounted data folder for PostgreSQL and app-managed files.

Public browser URLs

These values are injected into taskbandit-web at container startup, so the same image can be reused across environments.

  • TASKBANDIT_PUBLIC_API_BASE_URL, default http://localhost:8080
  • TASKBANDIT_PUBLIC_WEB_BASE_URL, default http://localhost:4173
  • TASKBANDIT_PUBLIC_ADMIN_BASE_URL and TASKBANDIT_PUBLIC_CLIENT_BASE_URL are legacy overrides for unusual deployments. In a normal install, set only the public web base URL and TaskBandit derives /admin automatically.
  • TASKBANDIT_CORS_ALLOWED_ORIGINS is a legacy override for unusual deployments. In a normal install, TaskBandit derives the web origin from TASKBANDIT_PUBLIC_WEB_BASE_URL.

Starter templates and rewards

During first household setup, TaskBandit can import starter chore templates. Each starter template includes translated group, type, sub-type, checklist, and follow-up labels for English, German, and Hungarian. The imported templates become normal household data and can be adjusted from the admin Templates page.

TaskBandit also seeds nine starter rewards (screen time, treats, activities, privileges, and allowance) into every new household. All starter rewards are disabled by default — go to the admin Rewards Manager and enable only the ones that fit your household.

Custom rewards can be created from scratch in the Rewards Manager at any time. Each reward has a point cost, an optional per-child redemption limit, an optional cooldown period, and an eligibility setting (child-only, adult-only, or all members).

Household-level reward settings

The admin Settings page exposes a toggle that controls how reward redemptions are handled:

  • Require reward approval (default: on) — when enabled, a child's redemption request creates a pending queue entry. An admin or parent must approve it before points are deducted and the member is notified. When disabled, redemptions are approved and points are deducted automatically on submission.

The approval queue is accessible from the admin Rewards Manager page and from the native Android Rewards tab for admin and parent users.

Optional providers

  • OIDC can be configured through the admin UI or with TASKBANDIT_OIDC_* fallback environment values.
  • SMTP is configured from the admin UI and powers password reset plus notification fallback.
  • Android FCM is optional and controlled by TASKBANDIT_FCM_* values.
  • Browser Web Push is optional and controlled by TASKBANDIT_WEB_PUSH_PUBLIC_KEY, TASKBANDIT_WEB_PUSH_PRIVATE_KEY, and TASKBANDIT_WEB_PUSH_SUBJECT.

Notification worker timing

  • TASKBANDIT_REMINDER_INTERVAL_MS controls due-soon and overdue reminder scans. Set it to 0 to disable the worker.
  • TASKBANDIT_DUE_SOON_WINDOW_HOURS controls how far ahead due-soon reminders are generated.
  • TASKBANDIT_DAILY_SUMMARY_HOUR_UTC controls the daily summary notification hour.
  • TASKBANDIT_PUSH_DELIVERY_INTERVAL_MS controls queued push delivery processing.
  • TASKBANDIT_EMAIL_DELIVERY_INTERVAL_MS controls notification email fallback delivery while keeping SMTP available for password reset and invites.

Backup and migration paths

  • TASKBANDIT_STORAGE_ROOT is the server-side upload storage path inside the container.
  • TASKBANDIT_DATA_ROOT_HINT, TASKBANDIT_COMPOSE_FILE_HINT, and TASKBANDIT_ENV_FILE_HINT feed the admin backup-readiness panel.
  • PostgreSQL data is stored below ${TASKBANDIT_DATA_ROOT}/postgres, and app-managed files are stored below ${TASKBANDIT_DATA_ROOT}/taskbandit.

Auth precedence

  • Local auth follows the household UI setting unless TASKBANDIT_FORCE_LOCAL_AUTH_ENABLED=true, which keeps local sign-in available as a recovery path.
  • OIDC prefers the household UI configuration when it is enabled and complete.
  • If UI-managed OIDC is off or incomplete, the server can fall back to environment-based TASKBANDIT_OIDC_* configuration.