Zammad upgrades: keeping a self-hosted helpdesk current without breaking it
Most teams running a self-hosted Zammad helpdesk handle upgrades in-house, at least for routine patch releases, because the application, database and reverse proxy all sit inside their own infrastructure. A partner becomes more common when the team lacks spare capacity for a major version move or wants a named party accountable for upgrades after go-live. Either way, the decision starts with a clear view of who owns the schedule and the change risk. Zammad is licensed under the GNU Affero General Public License version 3, and there is no license fee for self-hosted use. Upgrades run in your cloud account, data center or private network, so your team controls when they happen, what gets tested first and how a failed change is rolled back. Nobody at Zammad applies a release to your instance. That ownership is the main reason to plan upgrades as a recurring operational task rather than a one-off project. The triggers usually fall into three groups. The first is security releases, which Zammad has published for more than one line at the same time. Zammad 7.2.1 and 7.2.2 followed the 7.2 minor release, and security release 6.5.5 shipped in parallel for the 6.5 line, so a team on either line needs a process that can react to advisories on both. The second is a minor release such as 7.2, which carries feature and fix changes that need the same regression testing as any other change. The third is a planned move to a newer major version, which carries the highest risk and the longest preparation. Before any change, confirm which Zammad line you run, which PostgreSQL, Redis, Nginx or Apache, and Elasticsearch versions the target release requires, and whether your instance uses Memcached because it runs more than one node. Zammad's software requirements page lists these dependencies, and the release notes for the target version should be read against your own customizations, integrations and third-party login settings. A patch that touches only the application can still break a custom trigger, an API integration or a SAML configuration. Decide now who will watch security advisories, who approves a change window, and who can roll back a failed upgrade. If no one on your team can cover those roles within the expected response window, ask a partner for a written scope that names the advisories covered, the test environment used, the rollback plan and the support hours, and compare that with the response times in Zammad's own self-hosted support subscriptions.
What a Zammad upgrade and support engagement includes
A Zammad upgrade and support engagement can be scoped in parts, so you buy release monitoring, staging work, major upgrades or post-go-live support separately. Each package ends in a written deliverable, and the packages connect through one shared record of your Zammad version, customizations and integrations.
Release monitoring and triage
Each Zammad release is reviewed against your installed version, your database and search components, and your customizations to decide whether it needs action now or in a planned window. Security releases are triaged separately because the 6.5 and 7.x lines can receive fixes in parallel. The client receives a written triage note per release listing the affected components, the action chosen and the reason. Confirm which release lines your installation is on before the engagement starts.
Staging upgrades for minor and security releases
Minor and security releases are first applied to a staging copy built from a recent backup of your production instance, so the same database, Redis, Memcached and Elasticsearch versions are exercised. Staging results decide whether production is updated and in what order. The client receives a tested runbook with the exact steps, commands and rollback points, plus a change record for the production window. Ask who maintains the staging environment and how often it is refreshed.
Major version upgrades with rollback plan
A major version move changes more than the application code, so it needs a written upgrade plan covering database migrations, search index rebuilds, reverse proxy configuration and any changed prerequisites. The rollback plan defines the backup to restore, who decides to roll back, and the time limit for that decision. The client receives the upgrade plan, the rollback plan and a post-upgrade verification report. Ask whether the plan covers multi-instance deployments that share Memcached and Redis.
Pre-upgrade testing of customizations
Triggers, macros, custom object attributes, scheduled jobs and integrations are the parts most likely to break after an upgrade, so they are tested against the target version before production is touched. The test list is built from an inventory of your configuration and API integrations, with expected results recorded for each item. The client receives a customization test report that marks each item as passed, changed or needing redesign. Confirm which integrations depend on API behavior that may change between versions.
Post-go-live support
After an upgrade or a new deployment goes live, support covers incident triage, configuration fixes, login issues through your identity provider and questions about the upgraded behavior for a defined period. Issues are logged with the affected version, the change record and the reproduction steps so they can be traced to an upgrade or to a local change. The client receives a support log and a closure note for each incident. Response expectations depend on the support subscription terms, which are set out in the cost section of this page.
What drives Zammad upgrade effort and cost
This table compares the factors that change how much work a Zammad upgrade takes, why each one matters, and what to do to keep it contained. Read each row as a lever: the drivers you control most directly are customizations, third-party logins, and whether a staging environment matches production. The main takeaway is that most upgrade effort comes from local changes and dependencies, not from the Zammad release itself.
| Driver | Why it changes effort | How to keep it down |
|---|---|---|
| Number of customizations | Triggers, macros, custom object attributes and API integrations can break or behave differently after a release, and each one needs a test case. | Document every trigger and macro, prefer API-first integrations, and keep a list of custom attributes with their owners. |
| Channels and third-party logins | Email, chat, form and phone channels, plus SAML, OpenID Connect, Microsoft, Google, GitHub and GitLab logins, each need verification after an upgrade. | Remove unused channels and login providers before upgrading, and record the expected login and mail flow for each one. |
| Deployment method | Package, Docker Compose and Kubernetes Helm chart installs differ in how the new version is pulled, migrated and rolled back. On Kubernetes, Zammad support covers only the application. | Standardize on one method per environment, script the upgrade steps, and confirm which layer (application or cluster) each issue belongs to. |
| Dependencies: PostgreSQL 15 or newer, Redis 7 or newer | A release can raise the minimum version of a dependency, so the database or cache may need its own upgrade before Zammad can move forward. | Check the software requirements for the target release early, and plan database and Redis upgrades as separate, tested steps. |
| Elasticsearch and Memcached in multi-instance setups | Search indexes may need rebuilding after an upgrade, and multi-instance deployments depend on shared Memcached behavior that must stay consistent across nodes. | Include index rebuild time in the test plan, and verify Memcached and Elasticsearch connectivity on every node before cutover. |
| Number of environments | Each environment (test, staging, production) must be upgraded and checked, so effort grows with the number of copies and the drift between them. | Keep a staging environment close to production in version, configuration and data sample, and promote changes in the same order each time. |
| Gap between current and target version | Moving across several minor releases or a major version changes more defaults, APIs and behaviors than a single minor step, so more regression testing is needed. | Upgrade in small steps where the release notes allow it, apply security releases promptly, and avoid long gaps between versions. |
| Support coverage and subscription level | A self-hosted support subscription sets response times, and an unsupported version may leave you without a vendor path during an incident. | Confirm the response times and scope of your support tier in writing before go-live, and ask which versions it covers. |
How a Zammad major version upgrade runs, phase by phase
The sequence moves a Zammad installation from one major version to the next with a tested path, a known rollback point and a documented handover, so the helpdesk keeps running with its customizations intact. Each phase produces a record the client can review before the next phase starts.
Take an inventory of the current installation
DeployOpen records the installed Zammad version, the installation method (package, Docker Compose or Helm chart), the PostgreSQL, Redis, Nginx or Apache and Elasticsearch versions, and whether Memcached is in use for a multi-instance setup. The inventory also lists channels, integrations, custom object attributes and active third-party login providers. It is complete when the client has reviewed and signed off the list, which becomes the baseline for every later phase.
Review dependencies and configuration
Each component is checked against the software requirements for the target Zammad release, including the supported PostgreSQL and Redis versions and the reverse proxy configuration. Environment settings, secrets, file storage paths and scheduled jobs are compared against the documented defaults for the target version. Gaps are listed with an owner and a resolution, such as a database upgrade that must happen first. The output is a dependency and configuration review that the client approves before any environment is changed.
Build a staging clone with production-like data
DeployOpen builds a staging environment inside the client's infrastructure that matches production in version, configuration and integrations, then loads a copy of production data. Personal data is handled under the client's data protection rules, so masking or a restricted dataset is agreed in writing where needed. Staging is ready when the current version runs against the copied data and the client can log in with test accounts for each agent group and role.
Rehearse the upgrade on staging
The upgrade is run end to end on the staging clone using the same steps planned for production, including database migrations and any search index rebuild the release notes call for. Each step, its duration and any error or manual intervention is written into a rehearsal log. Problems found here are fixed in the runbook, and the rehearsal repeats until a run completes without unplanned changes. The rehearsal log is the input to the production schedule the client approves.
Regression test customizations and integrations
Triggers, macros, custom object attributes, ticket workflows, API automations and integrations are tested against the target version on staging. Test cases cover ticket creation from each channel, email routing, SLA-related behavior, third-party login and any reports or search features in use. Failures are logged with the expected and actual result and fixed or accepted by the client. The output is a test result set showing which customizations passed, were changed, or need a decision before cutover.
Cut over with a documented rollback point
Before production changes, DeployOpen takes and verifies a backup of the database and file storage, and records the exact version and configuration to restore. The upgrade runs using the rehearsed runbook during the change window the client agrees. Post-upgrade checks confirm login, email and chat channels, search and integrations work. The cutover record lists the times, the steps executed, the backup reference and the rollback procedure, and it is complete when the client accepts the production state.
Monitor and hand over operations
After cutover, logs, queue health, error rates and integration activity are watched for an observation period agreed in the written scope. Any issues found are fixed under the agreed support arrangement. The handover note records the final versions, configuration changes, known issues, test results and the next scheduled upgrade or security release review. Ask for the observation period and support terms in the written scope, since they vary by engagement.
Testing Zammad customizations before an upgrade reaches production
Customizations are the most likely cause of a failed Zammad upgrade. The core application is the same for every customer, but each helpdesk carries its own triggers, macros, custom object attributes, ticket workflows, API scripts and integrations. Any of these can break, or quietly change behavior, after a version change. A trigger that fires on a field value, a macro that sets a state the new release renames, or an API client that parses a response differently will not show up in a standard install test. It shows up when agents or customers hit it in production. Treat the customization list as the primary upgrade risk and test it first.
Start by building a regression list from the live configuration, not from memory. Export or record every active trigger, scheduler job, macro, overview, custom object attribute, ticket state and priority rule, group and role-based permission that affects ticket handling, and every external system that calls the Zammad API or receives webhooks from it. For each item, note the owner, the business purpose and the expected result of a typical test case. Include the email and chat channels, because inbound routing and auto-replies are easy to overlook. The list should be short enough that someone can run it in a working session, and complete enough that an agent who uses a macro daily would recognize it on the list.
Run the regression list against a staging copy of the production instance. The staging copy needs the same Zammad version as production, a recent copy of the database and the same integration endpoints or reasonable test doubles for them. Upgrade the copy to the target release first, then execute each test case and record the actual result against the expected one. Keep the test data realistic in shape but free of live customer content, and confirm with your privacy lead how the copy is handled. Pay particular attention to items that depend on Elasticsearch search, scheduled jobs and external API responses, since these behave differently when the environment changes.
For every failing or changed item, make one of three decisions. Fix means the behavior is still needed and a small correction restores it. Rework means the business need stays, but the approach must change, for example by replacing a deprecated field or moving logic into a supported setting. Retire means the item is no longer needed or the new release provides the same result natively. Record the decision, the owner and the retest result in the same document. Do not let decisions stay informal, because the next upgrade will need the same history.
Read the Zammad releases page and the release notes for every version between your current release and the target against your customization list before agreeing a change window. Look for changed field names, removed or renamed settings, altered API behavior and security fixes that touch areas you have customized. The security releases matter here too: fixes are published on both the current minor line and older supported lines, so confirm which line your instance is on and what the target release addresses. Schedule the change window only after the staging results and the decisions for every item are complete, and confirm the rollback plan, including the database backup, before that window opens.
Which Zammad upgrade work stays in-house and which a partner takes on
This table compares who usually performs each step of a Zammad upgrade and who holds the skill behind it. Read each row as a split of responsibility: the in-house column names the team that typically keeps the work, and the partner column names what a fixed-scope engagement would cover. Small teams often keep release watch and cutover, while regression testing and major upgrades are the work most often outsourced.
| Upgrade task | Skill needed | Usually held in-house | Usually taken on by a partner |
|---|---|---|---|
| Release monitoring | Reading Zammad release notes and security advisories, triaging urgency by version line | Helpdesk owner or IT operations, who watches the releases page for minor and security releases | Scheduled review of each release with a written recommendation on timing and risk |
| Staging environment ownership | Linux administration, Docker Compose or package installs, Nginx or Apache configuration | Platform team keeps a staging copy that mirrors production versions and configuration | Builds and maintains the staging stack as part of the fixed-scope engagement, if agreed in writing |
| Database and Redis backups before changes | PostgreSQL 15 or newer administration, Redis 7 or newer persistence settings, restore testing | Database administrators take snapshots and confirm a restore works before each change window | Documents the backup procedure and runs pre-change backups as scoped, with restore evidence |
| Elasticsearch index rebuilds after upgrades or migrations | Elasticsearch administration and Zammad admin configuration for reindexing | Usually the platform team, with a planned rebuild window and search checks afterward | Plans the rebuild order, runs it in staging first and verifies search, attachment search and reporting |
| Customization regression testing | Zammad admin configuration for triggers, macros and custom object attributes, plus Ruby or API integration work | Helpdesk administrators confirm daily workflows; developers fix integration code | Tests triggers, macros, integrations and API automations against the new version before cutover |
| Major version upgrades | Full stack administration, data migration checks, change management and rollback planning | Often outsourced, or kept in-house only by teams with recent upgrade experience | Usually scoped as a project with a written plan, test cycle, cutover and rollback steps |
| Cutover to production | Change management, Linux and reverse proxy administration, coordination with agents | Small teams commonly keep this, scheduling the window and announcing downtime to agents | Runs the cutover runbook with the in-house team present, then confirms service health |
| On-call response after a change | Log analysis across Zammad, PostgreSQL, Redis and the reverse proxy; incident handling | Internal on-call rota for helpdesk availability and first-line triage | Retainer support for out-of-hours incidents, if included in the agreed support terms |
What goes wrong in Zammad upgrades and how to prevent it
Most Zammad upgrade problems come from the components around the application, from data that needs follow-up work, and from plans that were never tested. Each card names one failure mode, the check that prevents it, and the record that shows the check was done.
Unchecked PostgreSQL, Redis and proxy versions
Zammad stores its content in PostgreSQL 15 or newer, requires Redis 7 or newer for realtime websocket communication, and supports Nginx or Apache as the reverse proxy. Teams often upgrade the application and leave these components at older versions, or change proxy settings without testing websocket traffic. Before each upgrade, compare every component against the current software requirements and record the running versions in the change ticket. Artifact: a signed compatibility checklist showing the versions of each component before and after the change.
Elasticsearch index left stale
Elasticsearch is optional but strongly recommended for search, reporting and attachment search. After an upgrade or migration, the existing index may not match the new application state, so search results can be incomplete until it is rebuilt. Treat the reindex as a named step in the runbook, time it in staging, and confirm it has finished before users return. Confirm with the Zammad documentation which index steps apply to the target version. Artifact: a reindex run log plus test searches for known tickets and known attachment content.
Cache mismatch across instances
Memcached is needed for multi-instance deployments such as containers or cluster nodes, while single installations can use the file system cache. When an upgrade restarts some nodes but not others, or nodes point at different cache servers, agents can see stale settings or inconsistent behavior. Roll the upgrade across all nodes in one planned window, confirm every node uses the same Memcached endpoint, and follow the release notes on cache clearing. Artifact: a per-node configuration record and a post-upgrade check showing identical cache settings on each instance.
Integrations broken by API changes
Helpdesk setups often depend on consumers of the Zammad API, such as monitoring tools, chat bridges, billing systems and custom scripts. A new release can change endpoints, fields or behavior those consumers rely on, and the failure may appear only after go-live. Inventory every integration before the upgrade, read the release notes for API changes, and run each integration against staging with test tickets. Artifact: an integration register listing each consumer, its owner, and a dated pass result from staging.
Delayed security releases on parallel lines
Zammad published security fixes for both its 6.5 and 7.x lines in parallel, with 6.5.5 on 15 October 2026 alongside 7.2.1 on 6 October 2026 and 7.2.2 on 8 October 2026. Teams running one line may assume the other needs no attention, or hold a security fix until a planned feature upgrade. Subscribe to the release feed, record which line each instance runs, and set a patching target for security releases that is independent of feature upgrades. Artifact: a patch register with each release date, the version deployed and the date each instance was updated.
No tested rollback or staging copy
Skipping staging is a common reason a failed upgrade becomes a prolonged outage. A staging environment restored from a recent production backup shows how the upgrade behaves with real data, and a rollback that has never been run is only a plan on paper. Before the change, take a fresh backup of PostgreSQL and the file store, restore it to staging, run the upgrade, and time the reverse path. Artifact: a staging test record covering the restore, the upgrade and the rollback, with each outcome.
Recurring costs after go-live and the Zammad support subscription question
The recurring cost of a self-hosted Zammad helpdesk after go-live has four components, and only one of them is a vendor invoice. Self-hosted Zammad has no license fee, because the software is licensed under the GNU Affero General Public License version 3. What you pay for instead is infrastructure for the application, PostgreSQL and Redis, plus Elasticsearch and Memcached where your deployment uses them; staff time to watch releases and apply minor and security updates; upgrade work when you move between major versions; and any vendor support subscription you choose to buy. Infrastructure and staff time recur every month. Major upgrade projects recur at intervals tied to Zammad's release cycle and the size of your customization, so budget them as a planned line.
Zammad sells self-hosted support subscriptions, which are a separate purchase from any DeployOpen service. According to the Zammad pricing page, the Business subscription costs 2,999 EUR per year with a response time of 6 hours, Enterprise costs 5,999 EUR per year with a response time of 4 hours, and Corporation costs 9,999 EUR per year with a response time of 2 hours. These are vendor list figures, so confirm the current amounts, billing terms and tax treatment on the pricing page or with Zammad before you carry them into a budget. A subscription buys vendor product support. It does not replace the work of deciding when to upgrade, testing your triggers and integrations, or running backups, and your team or a partner still carries that effort.
Decide early which kind of support you need, because vendor product support and implementation support answer different questions. Vendor support helps when Zammad itself behaves unexpectedly, a defect appears in a release, or a security fix needs explanation. Implementation support covers your environment: the reverse proxy and TLS setup, the Elasticsearch index after an upgrade, custom object attributes and triggers that might break on a new version, and the SSO connection. Zammad's Kubernetes documentation states that its support covers only the Zammad application, and Kubernetes-specific issues stay with your platform team or a partner. Check the scope of any subscription in writing before you rely on it during an incident.
For the DeployOpen side, the cost of planned upgrades, release watch and retainers follows from a written scope, and DeployOpen does not publish prices. A retainer is a separate agreement from any Zammad subscription, so the two can run together or one can run without the other. When you request a quote, ask for each recurring item to be listed separately: release monitoring and the staff hours it assumes, the test environment used to rehearse each upgrade, customization regression checks, upgrade windows, the route for vendor subscription tickets, and what triggers a change order. Ask which items are one-time and which recur, so the annual figure matches what you will actually pay.
How Zammad upgrades differ by deployment and starting point
A single installation on a package or Docker Compose deployment has one application node, so the upgrade plan centers on one maintenance window, one backup set and one rollback path. The work is contained, but a failed step still affects every agent and customer channel at once, so preparation matters more than speed.
- Back up first. Take a database backup and copy the configuration and attachment storage before starting. Confirm the restore path works on a separate host.
- Check platform versions. Zammad requires PostgreSQL 15 or newer and Redis 7 or newer for realtime websocket communication. Confirm both against the target release before scheduling.
- Confirm the cache. A single installation can use the file system cache. Memcached is needed only for multi-instance setups, so do not add it to this plan unless the target version documentation requires it.
- Pin and record image tags. For Docker Compose, record the current image tag so you can return to it if the upgrade fails.
- Test the reverse proxy. Confirm that the Nginx or Apache configuration still works after the upgrade, especially websocket forwarding.
Before you schedule the window, read the release notes and upgrade instructions for the specific target version, because the steps for package installs and container installs can differ.
Multi-instance deployments run several application nodes that share PostgreSQL, Redis and Memcached, and often Elasticsearch. Ordering and cache coordination become the main risks. A node that runs a different version from its peers can serve errors to agents or stale data to customers, so the plan must control which nodes change first and when.
- Verify shared services. Confirm that every node can reach the shared PostgreSQL, Redis and Memcached services before the upgrade starts.
- Define the node order. Decide whether nodes can be upgraded one at a time or whether a short shared window is needed. Use only the approach that the vendor documentation for the target version supports.
- Assign schema migration ownership. Decide which node runs database migrations, and confirm that no other node serves traffic against a mismatched schema.
- Plan the cache. Confirm how Memcached should be handled during and after the upgrade for the target version.
- Check the search index. If the target release changes how Elasticsearch data is used, confirm whether the index must be rebuilt and how long search will be affected.
Before you commit to a sequence, ask the vendor or your own test environment to confirm the supported mixed-version behavior, and test the full order on a copy of production.
The official Helm chart packages the Zammad application for Kubernetes, but the upgrade plan spans two layers: the chart and application release, and the cluster beneath it. Zammad support covers the application itself and leaves Kubernetes-specific issues to your platform team, so responsibilities must be assigned before the upgrade starts.
- Map chart and application versions. Review which chart version ships which application version, and read the values changes between chart releases.
- Back up data outside the cluster. Back up the PostgreSQL database and persistent volumes to storage that survives a cluster problem.
- Assign ownership in writing. Agree who owns cluster upgrades, ingress, storage classes and node issues. These are outside Zammad support.
- Test on a matching cluster. Rehearse the upgrade in a non-production cluster with the same Kubernetes version and storage class.
- Confirm rollback. Check how the chart handles rollback for the target version, and confirm whether database changes can be reversed.
Before upgrading, read the official Kubernetes installation documentation and the chart release notes for the target version, and confirm each step against the vendor documentation rather than relying on earlier chart behavior.
Installations that have not been upgraded for several releases face more intermediate steps and a higher chance that custom configuration no longer matches current behavior. The first task is to define the upgrade path, which may pass through more than one version before reaching the target.
- Map the path. Compare the installed version with the target, read every intervening release note, and confirm whether the vendor documentation requires an ordered sequence of versions.
- Confirm the release line. Zammad published security releases in parallel for the 6.5 and 7.x lines in October 2026. Confirm which line your installation is on before choosing a path.
- Check platform components. Older PostgreSQL or Redis versions may need upgrading before the application can move forward. Verify each against the requirements for every step.
- Review customizations. Test triggers, macros, custom object attributes and integrations against each intervening release, since behavior can change.
- Rehearse with real volumes. Run the full path in staging with data of production size before scheduling the production window.
Before you start, ask the vendor or your partner to confirm the complete upgrade path in writing, including any version that must be installed as an intermediate step.
What you need to provide before a Zammad upgrade or support engagement starts
Before any Zammad upgrade or support work starts, the client must provide access, decisions and sign-offs that DeployOpen cannot make on the client's behalf. The first item is read and change access to the Zammad host or cluster, whether that is a single package installation, a Docker Compose stack or a Kubernetes deployment using the official Helm chart. Ask your platform or infrastructure team to name who holds that access, and confirm in writing which accounts can change the application, the reverse proxy and the underlying nodes. Without this, a plan cannot be checked against the running system.
The second item is database and Redis access for the upgrade plan. Zammad stores its content in PostgreSQL 15 or newer and uses Redis 7 or newer for realtime websocket communication, so the upgrade plan needs the versions actually running in your environment, not the versions you remember. Confirm the database owner, who can grant a read-only review account, and whether Elasticsearch and Memcached are in use, since both affect how a release is tested. The database owner should also confirm the current backup schedule before any change is planned.
The third item is a current backup with a tested restore, which is the client's responsibility to produce and verify. Ask the database or platform owner to show a restore from the most recent backup into a separate environment, and record how long it took and which data was checked. Backups must cover the database and the attachment storage, and the Elasticsearch index can be rebuilt if needed but should still be documented. The fourth item is a staging environment, or a budget to create one. Staging should match production in Zammad version, PostgreSQL and Redis versions, reverse proxy and integrations, because regression results from a different setup do not predict production behavior.
The fifth and sixth items are a written list of customizations and integrations with a named owner for each, and a business owner who signs off on regression results. Triggers, macros, custom object attributes, API automations, SSO settings and any mail or phone connectors each need someone who knows what they do and can confirm the expected behavior after the upgrade. The business owner, typically the head of support operations, decides whether a failed test blocks the release. The seventh item is a change window agreed with the helpdesk team, because agents must know when tickets may be delayed.
The client must make three decisions, each with a named owner. The target version, including whether to apply a 7.x minor or security release or move from another major line, is usually owned by the platform engineering lead with the support operations lead consulted. The support tier, chosen from the self-hosted subscriptions Business, Enterprise or Corporation as described on Zammad's pricing page, or a DeployOpen retainer, is a budget and risk decision owned by the CIO or head of IT. The change window is owned by the helpdesk manager. Record each decision in the statement of work so that scope, effort and quotes match what was actually agreed.
How much does Zammad upgrade support cost, and how long does an upgrade take?
What drives the cost of a Zammad upgrade?
The cost depends mainly on how far the upgrade moves and how much your instance has been changed. A minor or security release on a standard install is the smallest job. A major upgrade that crosses several versions, touches PostgreSQL 15 or newer, Redis 7 or newer, Elasticsearch, Memcached or the reverse proxy, and retests custom triggers, integrations and single sign-on costs more. Fixed-scope quotes list each of these as a line item. Ask for a written scope that names the environment, the versions involved, the test cases, the rollback plan and who performs each step. The upgrade project itself is a one-time cost. Subscriptions and internal staff time for each release cycle recur.
Does a Zammad security release need outside help?
Not always. An experienced internal administrator can often apply a security release if the team has a tested staging copy, a current backup and a rollback path. Zammad published 7.2.1 on 6 October 2026 and 7.2.2 on 8 October 2026 on the 7.2 line, and 6.5.5 on 15 October 2026 on the 6.5 line, according to Zammad's releases page. Fixes can arrive on more than one line at once, so the question is how quickly your team can test and deploy on every instance you run. Outside help makes sense when no one has upgraded Zammad before, when the instance is heavily customized, or when the team cannot meet the response window it sets for itself. If you want the work done on a fixed schedule, ask for a written scope and quote that names the releases covered.
How long does a major Zammad upgrade take?
No duration can be stated responsibly without a written scope, so ask for one before planning a change window. The length depends on the number of versions crossed, the size of the database, the number of custom objects, triggers and integrations, the number of Zammad instances behind a load balancer, and whether Elasticsearch needs its index rebuilt after the change. Testing usually takes the largest share of time, because each customization must be checked against the new release. Ask the vendor for the upgrade notes for the target version. Ask your implementation partner for a timeline split into preparation, staging tests, production cutover and post-upgrade review. Treat any figure you hear without that breakdown as an estimate to verify in your own environment.
Can our own team upgrade Zammad without a partner?
Yes, many teams do, if they have Linux, database and reverse proxy skills and enough time to test. Zammad documents package installation, Docker Compose and a Kubernetes Helm chart, so your install method determines the upgrade steps. On Kubernetes, Zammad support covers only the Zammad application, and cluster problems stay with your platform team. An internal team usually needs a staging environment that matches production, a rehearsed rollback and a named owner for each customization. Outside help is most useful when a major version is involved, when integrations or single sign-on depend on the upgrade, or when the team lacks capacity during a busy period. Confirm your install method and current version before deciding.
How do Zammad support subscriptions differ from implementation support?
Zammad sells vendor support subscriptions, and implementation support is project work inside your infrastructure. According to Zammad's pricing page, the self-hosted Business subscription costs 2,999 EUR per year with 6-hour response times, Enterprise costs 5,999 EUR per year with 4-hour response times, and Corporation costs 9,999 EUR per year with 2-hour response times. A subscription gives you access to Zammad's support channel for product questions and issues. Implementation support from DeployOpen covers planning the upgrade, rehearsing it in staging, performing the change, checking customizations and documenting the result. Subscriptions are sold by Zammad, and DeployOpen does not resell them. Ask Zammad what its subscription covers for your version and environment, and compare the response times with the outage your helpdesk can tolerate.
What does our staff need to provide during an upgrade?
Upgrades need decisions and access from your side, not only a calendar slot. Name an owner who approves the change window and the rollback criteria. Name a support lead who can confirm which workflows matter most. Name an administrator who can grant access to the servers, PostgreSQL, Redis, Elasticsearch or Memcached nodes, the reverse proxy and the backup system, as your install requires. Agents or a power-user group should be ready to test triggers, macros, SLAs, email channels and third-party logins on staging. Someone must also own the backup check and confirm that a restore works before the change. Ask the implementation partner to list these roles in the written scope, with the hours each role is expected to commit, and confirm those hours with the managers involved before the project starts.
What happens to our customizations after a Zammad upgrade?
Customizations are the main source of upgrade risk, so inventory and test them before the upgrade starts. Triggers, macros, custom object attributes, ticket workflows, API automations and integrations each depend on Zammad behavior that can change between releases. After the upgrade, retest each item on staging with representative tickets, then run a short post-change check in production. Changes made directly in the database or in application code usually need the most attention, because they may not survive the next release. Ask for a written list of every customization, its owner, its test case and the decision for each item: keep, adjust or retire. Also ask how the work will be documented so the next upgrade starts from a known state.
How DeployOpen scopes, delivers and supports Zammad upgrades
DeployOpen plans, tests and applies Zammad upgrades inside your own infrastructure, from routine security releases to moves between major versions. Each engagement starts with a written, fixed scope, and ongoing support is available as a retainer.
How we scope
- We inventory your Zammad version, deployment method, PostgreSQL, Redis, Memcached and Elasticsearch components before proposing any change.
- We list customizations such as triggers, macros, custom object attributes, integrations and API automations that must be re-tested after the upgrade.
- The written scope names which releases or major version move are covered, what is excluded, and which environments and approvals are needed.
How we build
- We rehearse the upgrade on a copy of production data in a staging environment that mirrors your infrastructure.
- We test ticket channels, email ingestion, search, login flows and customizations against an agreed checklist before cutover.
- We prepare rollback steps and a verified backup so the team can restore the previous state if a check fails.
How we hand over
- You receive a runbook covering the steps taken, version changes, configuration edits and any post-upgrade index or cache actions.
- Test results, known issues and open items are documented so your team can repeat the process for the next security release.
- We walk your administrators through the changes so they can apply future patch releases with confidence.
How we support
- Ongoing support is available as a retainer covering patch application, upgrade planning and post-release checks.
- Support scope, response expectations and contact channels are written into the retainer agreement before work begins.
- Confirm with Zammad which support subscription level and response times apply to your deployment, since those are separate from DeployOpen support.

