## Summary - Adds `LimitNOFILE=65536` to both web and worker systemd service units - Fixes recurring `Errno::EMFILE` (Too many open files) errors during peak traffic after deploys ## Context Puma workers idle at 720-770 open FDs against the default soft limit of 1024, leaving ~250 FDs of headroom. During deploy-triggered instance refreshes at peak traffic, concurrent requests exhaust the remaining FDs, causing EMFILE across all web instances. 3 incidents in March 2026 with escalating event counts. The hard limit is already 524288, so this just raises the soft limit to a standard production value. Self-hosted instances pick this up automatically via `cwctl --upgrade`. Fixes https://linear.app/chatwoot/issue/CW-6685/errnoemfile-too-many-open-files-rb-sysopen
32 lines
979 B
Desktop File
32 lines
979 B
Desktop File
[Unit]
|
|
Requires=network.target
|
|
PartOf=chatwoot.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=chatwoot
|
|
WorkingDirectory=/home/chatwoot/chatwoot
|
|
|
|
ExecStart=/bin/bash -lc 'dotenv bundle exec sidekiq -C config/sidekiq.yml'
|
|
|
|
Restart=always
|
|
RestartSec=1
|
|
TimeoutStopSec=30
|
|
KillMode=mixed
|
|
StandardInput=null
|
|
SyslogIdentifier=%p
|
|
LimitNOFILE=65536
|
|
|
|
MemoryMax=1.2G
|
|
MemoryHigh=infinity
|
|
MemorySwapMax=0
|
|
OOMPolicy=stop
|
|
|
|
Environment="PATH=/home/chatwoot/.rvm/gems/ruby-3.4.4/bin:/home/chatwoot/.rvm/gems/ruby-3.4.4@global/bin:/home/chatwoot/.rvm/rubies/ruby-3.4.4/bin:/home/chatwoot/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/home/chatwoot/.rvm/bin:/home/chatwoot/.rvm/bin"
|
|
Environment="PORT=3000"
|
|
Environment="RAILS_ENV=production"
|
|
Environment="NODE_ENV=production"
|
|
Environment="RAILS_LOG_TO_STDOUT=true"
|
|
Environment="GEM_HOME=/home/chatwoot/.rvm/gems/ruby-3.4.4"
|
|
Environment="GEM_PATH=/home/chatwoot/.rvm/gems/ruby-3.4.4:/home/chatwoot/.rvm/gems/ruby-3.4.4@global"
|