[Unit] Description=Cable Puma HTTP Server Accept Sockets for <%= "#{fetch(:application)} (#{fetch(:stage)})" %> [Socket] <% cable_binds.each do |bind| -%> <%= "ListenStream=#{bind.local.address}" %> <% end -%> # Don't let systemd accept the request, wait for Cable to do that. # Systemd will start the cable service upon first request if it wasn't started. # # You might also want to set your Nginx upstream to have a fail_timeout large enough to accomodate your app's # startup time. Accept=no <%= "NoDelay=true" if fetch(:cable_systemctl_user) == :system %> ReusePort=true Backlog=1024 SyslogIdentifier=<%= fetch(:cable_socket_unit_name) %> [Install] WantedBy=sockets.target