Skip to content

Add Zulivio - #1017

Open
Raktim94 wants to merge 1 commit into
IceWhaleTech:mainfrom
Raktim94:add-zulivio
Open

Add Zulivio#1017
Raktim94 wants to merge 1 commit into
IceWhaleTech:mainfrom
Raktim94:add-zulivio

Conversation

@Raktim94

@Raktim94 Raktim94 commented Aug 21, 2026

Copy link
Copy Markdown

New app: Zulivio

Free, open-source (AGPL-3.0), self-hostable CRM and workforce operations
platform: role-based employee management (add/remove with auto-generated
credentials), work assignment tracking with outcomes, an explicit
attendance state machine (shift/break/logout with a full audit trail), a
PDF knowledge base with acknowledgement tracking, a Sales CRM (leads,
pipelines, opportunities, territory/capacity-based routing, rep-level
forecasting), a Sales Head / RBAC layer with scope-resolution and
dashboard drill-down, quality audit/workflow/helpdesk tooling, a master
dashboard with live analytics, and CSV/Google Sheets import-export. Runs
entirely on the user's own hardware — no subscription, no data leaving
their server.

What's new since this PR opened (now at 1.6.0)

  • CSV lead imports now preserve any unrecognized columns (rating,
    category, outreach angle, etc.) into a custom-fields bag instead of
    dropping them, so any export shape can be imported without a schema
    change.
  • Added a forced password-change gate after an admin resets an
    employee's password.
  • Added one-tap call/WhatsApp/copy quick actions right on lead board
    cards.

How this was validated

  • docker compose config -q passes on the app's compose file.
  • x-casaos fields cross-checked against the current docs/specs/compose-and-x-casaos.md (id format, required/recommended fields, category enum, quoted port_map).
  • Both GHCR images are live, multi-arch, and confirmed pullable at the pinned 1.6.0 tag.
  • Rebuilt from source and confirmed the app's own build/typecheck pass before publishing the images.
  • Could not re-run the full boot-test for this update specifically because this host already has a live Zulivio instance using the same fixed container names — re-ran it at the 1.5.0 bump instead (see below) and nothing in this update touches startup/bootstrap behavior. Docker Compose config validation and a fresh image pull both still passed for 1.6.0.
  • Could not run ./scripts/build_dist.sh locally (no pip in this environment) — relying on this PR's own CI (validator.yml) for the full build check.
Boot-test from the 1.5.0 bump (unchanged startup path)

Booted the compose file locally end-to-end with a throwaway AppID and scratch bind mounts (no /DATA paths touched): Postgres came up healthy, the backend started clean with zero manually-set env vars, and FIELD_ENCRYPTION_KEY was confirmed to auto-generate and persist to the /data/secrets volume on first use — no manual key setup required.

Workforce-ops CRM: lead pipeline board, custom fields on CSV lead
imports, helpdesk, and employee accounts with a forced password-change
gate after an admin reset.

1.6.1: fixes a Helpdesk page crash when myRuns/definitions didn't
resolve to an array.
@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants