Zammad 7 Upgrade vom 6.5.3

Infos:

  • Used Zammad version: 7.0.0-1772625247.bc96ad9.debian13)
  • Used Zammad installation type: package
  • Operating system: Debian 13
  • Browser + version: Firefox 148

Expected behavior:

  • After Upgrade vom 6.5.3 to 7.0 no Login is allowed. Zammad says loading…

Actual behavior:

  • The Login should be available.

Steps to reproduce the behavior:

  • Upgrade to 7.0

Run a clean reload (usually via CTRL + SHIFT + R).

If that doesn’t help, check the developer console if the assets are failing.
If that is the case, execute /opt/zammad/contrib/packager.io/postinstall.sh manually and check if the script returns any error output.

Reload once more and double check.

/opt/zammad/contrib/packager.io/postinstall.sh

Enforcing Redis…

Creating Redis bootstart

Synchronizing state of redis-server.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable redis-server

Starting Redis server

Redis server is running.

(Re)creating init scripts

Nothing to do.
Nothing to do.
Nothing to do.

Enabling Zammad on boot

Stopping Zammad

Clear cache…

database.yml found. Updating db…

Updating translations…

No custom packages detected…

Configuring Elasticsearch…

Enforcing 0600 on database.yml …

Starting Zammad

Creating webserver bootstart

Synchronizing state of nginx.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable nginx

Restarting webserver nginx - please check if all required modules are enabled in case webserver fails to start.

####################################################################################

Add your fully qualified domain name or public IP to servername directive of
nginx, if this installation is done on a remote server. You have to change:
/etc/nginx/sites-available/zammad.conf and restart nginx process.
Otherwise just open http://localhost/ in your browser to start using Zammad.

####################################################################################

Still the same issue

What does your developer console say…?
Do you connect to Zammads nginx directly (and have you applied the required changes?) or is there any further proxies in between?

Yes we Connect direktly to nginx and applied the required changes
No Proxies between.

Added in location /
proxy_http_version 1.1;

Please try a different browser just to be sure. It’s odd that your nginx delivers text/html for css files. What happens / what do you see when you open that file directly in your browser?

Microsoft Edge does the same

If you open the File you get this

404: Requested resource was not found

This page doesn’t exist.

Sorry, but the Phoenix is not able to find your resource. Try checking the URL for errors.

Okay. Then let’s swing the axe.

rm -rf /opt/zammad/public/assets/*.js* /opt/zammad/public/assets/*.css*
to get rid of all precompiled asset files.

zammad run rake assets:precompile
to precompile the missing asset files we just nuked.

Followed by systemctl stop zammad && zammad run rails r "Rails.cache.clear" && systemctl start zammad

Then try again.
Precompiling will take a while which is normal. You can consider stopping Zammad before nuking already, it’s not like you can use it right now anyway.

zammad run rake assets:precompile
This project is configured to use pnpm because /opt/zammad/package.json has a “packageManager” field
I, [2026-03-04T14:33:41.468294#17595-2952] INFO – : Writing /opt/zammad/public/assets/application-print-b13bcc6b8c456b67c376ff97d8c717cfa9869ea4412e4f49b65170aa535c5722.css
I, [2026-03-04T14:33:41.468842#17595-2952] INFO – : Writing /opt/zammad/public/assets/application-print-b13bcc6b8c456b67c376ff97d8c717cfa9869ea4412e4f49b65170aa535c5722.css.gz
I, [2026-03-04T14:33:41.474687#17595-2952] INFO – : Writing /opt/zammad/public/assets/print-b13bcc6b8c456b67c376ff97d8c717cfa9869ea4412e4f49b65170aa535c5722.css
I, [2026-03-04T14:33:41.474816#17595-2952] INFO – : Writing /opt/zammad/public/assets/print-b13bcc6b8c456b67c376ff97d8c717cfa9869ea4412e4f49b65170aa535c5722.css.gz
I, [2026-03-04T14:33:41.488257#17595-2952] INFO – : Writing /opt/zammad/public/assets/knowledge_base-78f231b6da659306eee77e69d1b3bc58aa6441b813708a87c9aa9b308372d3db.css
I, [2026-03-04T14:33:41.488372#17595-2952] INFO – : Writing /opt/zammad/public/assets/knowledge_base-78f231b6da659306eee77e69d1b3bc58aa6441b813708a87c9aa9b308372d3db.css.gz
I, [2026-03-04T14:33:41.504001#17595-2952] INFO – : Writing /opt/zammad/public/assets/svg-dimensions-0d7a6f4de77ee707bbb5627e0fba1845b2c56f351342d9d3d8d839cf1be7ef98.css
I, [2026-03-04T14:33:41.508599#17595-2952] INFO – : Writing /opt/zammad/public/assets/svg-dimensions-0d7a6f4de77ee707bbb5627e0fba1845b2c56f351342d9d3d8d839cf1be7ef98.css.gz
I, [2026-03-04T14:33:41.512799#17595-2952] INFO – : Writing /opt/zammad/public/assets/font-fbb40422ff63c14ac4b864bc5d9595cbc1b2ab6e5b6e9e32f5e47dad0e3941a7.css
I, [2026-03-04T14:33:41.513023#17595-2952] INFO – : Writing /opt/zammad/public/assets/font-fbb40422ff63c14ac4b864bc5d9595cbc1b2ab6e5b6e9e32f5e47dad0e3941a7.css.gz
I, [2026-03-04T14:33:41.518044#17595-2952] INFO – : Writing /opt/zammad/public/assets/knowledge_base_public-0f8d1cfbba6852d5b6148fa360cbb9d47f9adaea18cb1ca6b970f136631880b8.js
I, [2026-03-04T14:33:41.518110#17595-2952] INFO – : Writing /opt/zammad/public/assets/knowledge_base_public-0f8d1cfbba6852d5b6148fa360cbb9d47f9adaea18cb1ca6b970f136631880b8.js.gz
I, [2026-03-04T14:33:41.526527#17595-2952] INFO – : Writing /opt/zammad/public/assets/knowledge_base_public_polyfills-fbc2070881eb4ea83f4f6fb77935d1e38c6dac5f02f6746114775e2cee57f3d5.js
I, [2026-03-04T14:33:41.526593#17595-2952] INFO – : Writing /opt/zammad/public/assets/knowledge_base_public_polyfills-fbc2070881eb4ea83f4f6fb77935d1e38c6dac5f02f6746114775e2cee57f3d5.js.gz
I, [2026-03-04T14:33:41.533441#17595-2952] INFO – : Writing /opt/zammad/public/assets/ie11CustomProperties.min-386fc8aa5460fe382c479de1c446b989744e2ce6f10f4d2a33c23aecb8ffc89e.js
I, [2026-03-04T14:33:41.533524#17595-2952] INFO – : Writing /opt/zammad/public/assets/ie11CustomProperties.min-386fc8aa5460fe382c479de1c446b989744e2ce6f10f4d2a33c23aecb8ffc89e.js.gz
I, [2026-03-04T14:33:41.539597#17595-2952] INFO – : Writing /opt/zammad/public/assets/actiontext-454f0b4d806c39e8160bfe71e106aadf8067dec300c036db834ce9c77431fd96.js
I, [2026-03-04T14:33:41.539661#17595-2952] INFO – : Writing /opt/zammad/public/assets/actiontext-454f0b4d806c39e8160bfe71e106aadf8067dec300c036db834ce9c77431fd96.js.gz
I, [2026-03-04T14:33:41.545369#17595-2952] INFO – : Writing /opt/zammad/public/assets/actiontext.esm-80ed9a607b9a3d09392a0019b0a043ef12c69287a1b86b38242142b344119542.js
I, [2026-03-04T14:33:41.545462#17595-2952] INFO – : Writing /opt/zammad/public/assets/actiontext.esm-80ed9a607b9a3d09392a0019b0a043ef12c69287a1b86b38242142b344119542.js.gz
I, [2026-03-04T14:33:41.595690#17595-2952] INFO – : Writing /opt/zammad/public/assets/trix-5c41f04fe2b7e248ee7b935ae5b0c67c976bcabf9efa8f24d5789860b5a34209.js
I, [2026-03-04T14:33:41.595778#17595-2952] INFO – : Writing /opt/zammad/public/assets/trix-5c41f04fe2b7e248ee7b935ae5b0c67c976bcabf9efa8f24d5789860b5a34209.js.gz
I, [2026-03-04T14:33:41.597273#17595-2952] INFO – : Writing /opt/zammad/public/assets/trix-cdd93c365dd138707a0a84b191fb2d6d817806b92eac2ea64da2e203443fca64.css
I, [2026-03-04T14:33:41.597322#17595-2952] INFO – : Writing /opt/zammad/public/assets/trix-cdd93c365dd138707a0a84b191fb2d6d817806b92eac2ea64da2e203443fca64.css.gz
I, [2026-03-04T14:33:41.599537#17595-2952] INFO – : Writing /opt/zammad/public/assets/activestorage-f60ea27c4db98be182eefefabab3688f2b202f8767668c585211770e8a14a482.js
I, [2026-03-04T14:33:41.599586#17595-2952] INFO – : Writing /opt/zammad/public/assets/activestorage-f60ea27c4db98be182eefefabab3688f2b202f8767668c585211770e8a14a482.js.gz
I, [2026-03-04T14:33:41.602182#17595-2952] INFO – : Writing /opt/zammad/public/assets/activestorage.esm-fee9c2f0b9bd9ab1926eaabac57531571d401353035e74033ecd8922f0551064.js
I, [2026-03-04T14:33:41.602269#17595-2952] INFO – : Writing /opt/zammad/public/assets/activestorage.esm-fee9c2f0b9bd9ab1926eaabac57531571d401353035e74033ecd8922f0551064.js.gz
I, [2026-03-04T14:33:41.603738#17595-2952] INFO – : Writing /opt/zammad/public/assets/actioncable-33f40c86f84352c960ccdcc34b96672f64155cdd99bf5e470aa4db2e4dc19a0a.js
I, [2026-03-04T14:33:41.603796#17595-2952] INFO – : Writing /opt/zammad/public/assets/actioncable-33f40c86f84352c960ccdcc34b96672f64155cdd99bf5e470aa4db2e4dc19a0a.js.gz
I, [2026-03-04T14:33:41.606654#17595-2952] INFO – : Writing /opt/zammad/public/assets/actioncable.esm-f98be1e96e87930a3557c4c55ab1d313327db0b8649719ef7b0f280263648e7b.js
I, [2026-03-04T14:33:41.606740#17595-2952] INFO – : Writing /opt/zammad/public/assets/actioncable.esm-f98be1e96e87930a3557c4c55ab1d313327db0b8649719ef7b0f280263648e7b.js.gz
I, [2026-03-04T14:33:41.790128#17595-2952] INFO – : Writing /opt/zammad/public/assets/application-45ccee027b6e763b7dec7dea1b42d902e0c6532fc4500c2c6af154abf981f941.js
I, [2026-03-04T14:33:41.790233#17595-2952] INFO – : Writing /opt/zammad/public/assets/application-45ccee027b6e763b7dec7dea1b42d902e0c6532fc4500c2c6af154abf981f941.js.gz
I, [2026-03-04T14:33:41.802159#17595-2952] INFO – : Writing /opt/zammad/public/assets/application-d024fe6f103cdde07f7533279e35f7cba0f5b4d8229a162a015e45f8e021acfa.css
I, [2026-03-04T14:33:41.802253#17595-2952] INFO – : Writing /opt/zammad/public/assets/application-d024fe6f103cdde07f7533279e35f7cba0f5b4d8229a162a015e45f8e021acfa.css.gz
Lockfile is up to date, resolution step is skipped
Packages: +1
+
Progress: resolved 1, reused 1, downloaded 0, added 1, done
Done in 827ms using pnpm v10.29.1

Nothing changed Zammad Screen is still not available

Okay i fixed it there was something wrong in the zammad nginx conf
i will post the solution later

2 Likes

Hi,

We’re having the same issue after upgrading to 7.0. Can you share what you had to change in your nginx configuration?

Regards,
Rik

Please send me your nginx config

Regards,
Marco

Hi,

Our nginx config looks like this (redacted some of the settings):

user www-data;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

events {
  worker_connections 1024;
}

http {
  include       /etc/nginx/mime.types;
  default_type  application/octet-stream;

  log_format timed_combined '$remote_addr - $remote_user [$time_local]  '
                            '"$request" $status $body_bytes_sent '
                            '"$http_referer" "$http_user_agent" rt=$request_time '
                            'uct=$upstream_connect_time uht=$upstream_header_time '
                            'urt=$upstream_response_time ssl_proto=$ssl_protocol '
                            'ssl_cipher=$ssl_cipher host=$host:$server_port '
                            'realip_remote=[$realip_remote_addr]:$realip_remote_port '
                            '$pipe';

  access_log /var/log/nginx/access.log timed_combined;

  sendfile                   on;
  types_hash_max_size        2048;
  tcp_nopush                 on;
  keepalive_timeout          65;
  tcp_nodelay                on;
  gzip                       on;
  gzip_disable               "MSIE [1-6]\.(?!.*SV1)";
  server_tokens              off;

  # Proxy settings
  proxy_redirect             off;
  client_max_body_size       50m;
  client_body_buffer_size    128k;
  proxy_connect_timeout      60;
  proxy_send_timeout         90;
  proxy_read_timeout         160;
  proxy_buffers              32 4k;
  proxy_http_version         1.1;
  proxy_max_temp_file_size   0;
  proxy_set_header           Host $host;
  proxy_set_header           X-Real-IP $remote_addr;
  proxy_set_header           X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header           Proxy "";

  map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      close;
  }

  # Upstreams
  upstream zammad-railsserver {
    server 127.0.0.1:3000;
  }

  upstream zammad-websocket {
    server 127.0.0.1:6042;
  }

  server {
    server_name               _;
    listen                    *:80;
    listen                    [::]:80;
    return                    301 https://$host$request_uri;
  }

  server {
    server_name               _;

    listen                    443 default_server ssl http2;

    access_log                /var/log/nginx/zammad/access.log timed_combined;
    error_log                 /var/log/nginx/zammad/error.log;

    ssl_certificate           /etc/letsencrypt/live/XXX/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/XXX/privkey.pem;
    ssl_session_timeout       5m;
    ssl_session_cache         shared:SSL:5m;
    ssl_session_tickets       off;
    ssl_protocols             TLSv1.2 TLSv1.3;
    ssl_ciphers               ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    ssl_prefer_server_ciphers off;
    ssl_dhparam               /etc/nginx/ssl/dhparam.pem;

    root                      /opt/zammad/public;

    location ^~ /.well-known {
      root                    /usr/share/nginx/html;
    }

    location /ws {
      proxy_pass              http://zammad-websocket;
      proxy_read_timeout      86400;
      proxy_http_version      1.1;

      # Proxy headers for this location.
      #
      # Note: this overrides _all_ proxy_set_header options from the
      # http and vhost section. If those options are still needed,
      # they should be repeated here.
      proxy_set_header        Upgrade $http_upgrade;
      proxy_set_header        Connection "Upgrade";
      proxy_set_header        CLIENT_IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        X-Forwarded-Proto $scheme;

    }

    location /cable {
      proxy_pass              http://zammad-railsserver;
      proxy_read_timeout      86400;
      proxy_http_version      1.1;

      # Proxy headers for this location.
      #
      # Note: this overrides _all_ proxy_set_header options from the
      # http and vhost section. If those options are still needed,
      # they should be repeated here.
      proxy_set_header        Upgrade $http_upgrade;
      proxy_set_header        Connection "Upgrade";
      proxy_set_header        CLIENT_IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        X-Forwarded-Proto $scheme;

    }

    location / {
      proxy_pass              http://zammad-railsserver;
      proxy_read_timeout      300;
      proxy_http_version      1.1;

      # Proxy headers for this location.
      #
      # Note: this overrides _all_ proxy_set_header options from the
      # http and vhost section. If those options are still needed,
      # they should be repeated here.
      proxy_set_header        Host $http_host;
      proxy_set_header        CLIENT_IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        X-Forwarded-Proto $scheme;
      proxy_set_header        X-Forwarded-User "";

      gzip on;
      gzip_types text/plain text/xml text/css image/svg+xml application/javascript application/x-javascript application/json application/xml;
      gzip_proxied any;
    }
}

Regards,
Rik

ok could you try to use the default nginx who is delivered with zammad installation?
Just add your Server-Name and Certificates.

You will find the file in /opt/zammad/contrib/nginx/zammad_ssl.conf

Redards,
Marco

Adjustments of nginx confs of a docker stack should not be needed at all.

Hi Marco,

Unfortunately, the nginx config also contains other virtual hosts that I removed from the config before posting it. But I will check the zammad_ssl.conf file and compare it with the settings I have. At first sight, I don’t see any big differences between the versions.

I seem to include /etc/nginx/mime.types, which zammad_ssl doesn’t seem to do. But most sites seem to recommend adding that line.

Since you had the same error as I did, I’m curious to know which config change you had to make to your nginx config to make it work again.

Did you also have to run the commands to clear the assets/caches, or was your nginx.conf change sufficient to fix it?

Regards,
Rik

Hi Rik,

i need to compare these two files. My error was in the nginx config.

Regards,
Marco

i have same issue… after upgrade to 7 i only see “Loading…”

i habe a external nginx proxy manager in front of the zammad installation, my nginx proxy manager config:

# legacy web socket server
location /ws {
	proxy_http_version 1.1;
	proxy_set_header Upgrade $http_upgrade;
	proxy_set_header Connection "Upgrade";
	proxy_set_header CLIENT_IP $remote_addr;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	proxy_set_header X-Forwarded-Proto $scheme;
	proxy_read_timeout 86400;
	proxy_pass http://192.168.62.44:6042;
}

# action cable
location /cable {
	proxy_http_version 1.1;
	proxy_set_header Upgrade $http_upgrade;
	proxy_set_header Connection "Upgrade";
	proxy_set_header CLIENT_IP $remote_addr;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	proxy_set_header X-Forwarded-Proto $scheme;
	proxy_read_timeout 86400;
	proxy_pass http://192.168.62.44:3000;
}

location / {
	proxy_http_version 1.1;
	proxy_set_header Host $http_host;
	proxy_set_header CLIENT_IP $remote_addr;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	proxy_set_header X-Forwarded-Proto $scheme;

	# Change this line in an SSO setup
	proxy_set_header X-Forwarded-User "";

	proxy_read_timeout 300;
	proxy_pass http://192.168.62.44:3000;

	gzip on;
	gzip_types text/plain text/xml text/css image/svg+xml application/javascript application/x-javascript application/json application/xml;
	gzip_proxied any;
}