Changes such as the status of a ticket are not stored in the ticket histoy.
Articles of type e-mail can be created by the agent but the creation of the article is not stored in the ticket history and the email is not sent.
Notifications for new tickets are not sent by email.
We have no idea what is causing this problem. Any help would be greatly appreciated.
Infos:
- Used Zammad version: 6.4.1
- Used Zammad installation type: package
- DB: PostgreSQL 13
- Operating system: Debian 11
- Browser + version: Chrome 131 on MacOS 15.1
System Specs
IONOS Cloud Server
CPU: 4
Memory: 8G
Storage: 80G
Health Check
{
"healthy": true,
"message": "success",
"issues": [],
"actions": []
}
Production.log
The only errors visible in the log:
E, [2025-01-22T00:01:46.103907#41585-186680] ERROR -- : This page doesn't exist. (ActionController::RoutingError)
E, [2025-01-22T00:01:46.586326#41585-186260] ERROR -- : This page doesn't exist. (ActionController::RoutingError)
E, [2025-01-22T00:15:05.103417#41585-186260] ERROR -- : This page doesn't exist. (ActionController::RoutingError)
E, [2025-01-22T00:33:25.077331#41585-186260] ERROR -- : This page doesn't exist. (ActionController::RoutingError)
E, [2025-01-22T00:33:25.504110#41585-191620] ERROR -- : This page doesn't exist. (ActionController::RoutingError)
E, [2025-01-22T00:33:25.890562#41585-191740] ERROR -- : This page doesn't exist. (ActionController::RoutingError)
We have tried:
- Zammad restart
- Server restart
- Run post install script
- zammad run rake db:migrate
- zammad run rake zammad:package:migrate
- zammad run rake assets:precompile
- Checked for disabled schedulers.
zammad run rails r "p Scheduler.where(active: false).pluck(:name)"
Output:[]
- Checked the overview count.
zammad run rails r "p Overview.count"
Output:49
- Checked for delayed jobs.
zammad run rails r "p Delayed::Job.count"
Output:0
- Checked web concurrency
zammad config:get WEB_CONCURRENCY
Output: not set - Checked job concurrency
zammad config:get ZAMMAD_SESSION_JOBS_CONCURRENT
Output: not set - Checked scheduled job workers
zammad config:get ZAMMAD_PROCESS_SCHEDULED_JOBS_WORKERS
Output: not set - Checked delayed job workers
zammad config:get ZAMMAD_PROCESS_DELAYED_JOBS_WORKERS
Output: not set - Checked Jobs Scheduler
zammad run rails r "pp Scheduler.find_by(method: 'Sessions.jobs')"
#<Scheduler:0x00007fbd8df1eb20
id: 7,
name: "Generate 'Session' data.",
method: "Sessions.jobs",
period: 60,
running: 0,
last_run: Tue, 21 Jan 2025 22:21:34.559000000 UTC +00:00,
prio: 1,
pid: "186460",
note: nil,
error_message: "",
status: "ok",
active: true,
updated_by_id: 1,
created_by_id: 1,
created_at: Mon, 15 Mar 2021 21:51:34.693000000 UTC +00:00,
updated_at: Tue, 21 Jan 2025 22:21:34.571000000 UTC +00:00,
timeplan: {}>
NGINX config
upstream zammad-railsserver {
server 127.0.0.1:3000;
}
upstream zammad-websocket {
server 127.0.0.1:6042;
}
server {
listen 80;
listen [::]:80;
server_name support.*********.de;
# security - prevent information disclosure about server version
server_tokens off;
access_log /var/log/nginx/zammad.access.log;
error_log /var/log/nginx/zammad.error.log;
location /.well-known/ {
root /var/www/html;
}
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name support.*********.de;
server_tokens off;
ssl_certificate /etc/letsencrypt/live/support..*********.de/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/support..*********.de/privkey.pem;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
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:DHE-RSA-CHACHA20-POLY1305;
ssl_prefer_server_ciphers off;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 180m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
# Use your prefered resolver - also allows external like 1.1.1.1 and 8.8.8.8
# resolver 127.0.0.1;
add_header Strict-Transport-Security "max-age=63072000" always;
location = /robots.txt {
access_log off; log_not_found off;
}
location = /favicon.ico {
access_log off; log_not_found off;
}
root /opt/zammad/public;
access_log /var/log/nginx/zammad.access.log;
error_log /var/log/nginx/zammad.error.log;
client_max_body_size 50M;
location ~ ^/(assets/|robots.txt|humans.txt|favicon.ico|apple-touch-icon.png) {
expires max;
}
# 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 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_read_timeout 86400;
proxy_pass http://zammad-websocket;
}
# action cable
location /cable {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
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_read_timeout 86400;
proxy_pass http://zammad-railsserver;
}
location / {
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 180;
proxy_pass http://zammad-railsserver;
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;
}
}