1
0
Fork 0
mirror of https://github.com/binwiederhier/ntfy.git synced 2024-12-23 02:02:33 +01:00

Merge pull request #819 from nisbet-hubbard/patch-1

Tweak httpd config to use less resources
This commit is contained in:
Philipp C. Heckel 2023-08-17 21:37:00 +02:00 committed by GitHub
commit 723daf9497
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 22 additions and 23 deletions

View file

@ -44,6 +44,14 @@ Here are a few working sample configs:
attachment-cache-dir: "/var/cache/ntfy/attachments" attachment-cache-dir: "/var/cache/ntfy/attachments"
``` ```
=== "server.yml (behind proxy, with cache + attachments)"
``` yaml
base-url: "http://ntfy.example.com"
listen-http: ":2586"
cache-file: "/var/cache/ntfy/cache.db"
attachment-cache-dir: "/var/cache/ntfy/attachments"
```
=== "server.yml (ntfy.sh config)" === "server.yml (ntfy.sh config)"
``` yaml ``` yaml
# All the things: Behind a proxy, Firebase, cache, attachments, # All the things: Behind a proxy, Firebase, cache, attachments,
@ -649,8 +657,8 @@ or the root domain:
<VirtualHost *:80> <VirtualHost *:80>
ServerName ntfy.sh ServerName ntfy.sh
# Proxy connections to ntfy (requires "a2enmod proxy") # Proxy connections to ntfy (requires "a2enmod proxy proxy_http")
ProxyPass / http://127.0.0.1:2586/ ProxyPass / http://127.0.0.1:2586/ upgrade=websocket
ProxyPassReverse / http://127.0.0.1:2586/ ProxyPassReverse / http://127.0.0.1:2586/
SetEnv proxy-nokeepalive 1 SetEnv proxy-nokeepalive 1
@ -658,19 +666,13 @@ or the root domain:
# Higher than the max message size of 4096 bytes # Higher than the max message size of 4096 bytes
LimitRequestBody 102400 LimitRequestBody 102400
# Enable mod_rewrite (requires "a2enmod rewrite")
RewriteEngine on
# WebSockets support (requires "a2enmod rewrite proxy_wstunnel")
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
RewriteRule ^/?(.*) "ws://127.0.0.1:2586/$1" [P,L]
# Redirect HTTP to HTTPS, but only for GET topic addresses, since we want # Redirect HTTP to HTTPS, but only for GET topic addresses, since we want
# it to work with curl without the annoying https:// prefix # it to work with curl without the annoying https:// prefix (requires "a2enmod alias")
RewriteCond %{REQUEST_METHOD} GET <If "%{REQUEST_METHOD} == 'GET'">
RewriteRule ^/([-_A-Za-z0-9]{0,64})$ https://%{SERVER_NAME}/$1 [R,L] RedirectMatch permanent "^/([-_A-Za-z0-9]{0,64})$" "https://%{SERVER_NAME}/$1"
</If>
</VirtualHost> </VirtualHost>
<VirtualHost *:443> <VirtualHost *:443>
@ -681,8 +683,8 @@ or the root domain:
SSLCertificateKeyFile /etc/letsencrypt/live/ntfy.sh/privkey.pem SSLCertificateKeyFile /etc/letsencrypt/live/ntfy.sh/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf Include /etc/letsencrypt/options-ssl-apache.conf
# Proxy connections to ntfy (requires "a2enmod proxy") # Proxy connections to ntfy (requires "a2enmod proxy proxy_http")
ProxyPass / http://127.0.0.1:2586/ ProxyPass / http://127.0.0.1:2586/ upgrade=websocket
ProxyPassReverse / http://127.0.0.1:2586/ ProxyPassReverse / http://127.0.0.1:2586/
SetEnv proxy-nokeepalive 1 SetEnv proxy-nokeepalive 1
@ -690,14 +692,7 @@ or the root domain:
# Higher than the max message size of 4096 bytes # Higher than the max message size of 4096 bytes
LimitRequestBody 102400 LimitRequestBody 102400
# Enable mod_rewrite (requires "a2enmod rewrite")
RewriteEngine on
# WebSockets support (requires "a2enmod rewrite proxy_wstunnel")
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
RewriteRule ^/?(.*) "ws://127.0.0.1:2586/$1" [P,L]
</VirtualHost> </VirtualHost>
``` ```

View file

@ -342,6 +342,10 @@
# - "field -> level" to match any value, e.g. "time_taken_ms -> debug" # - "field -> level" to match any value, e.g. "time_taken_ms -> debug"
# Warning: Using log-level-overrides has a performance penalty. Only use it for temporary debugging. # Warning: Using log-level-overrides has a performance penalty. Only use it for temporary debugging.
# #
# Check your permissions:
# If you are running ntfy with systemd, make sure this log file is owned by the
# ntfy user and group by running: chown ntfy.ntfy <filename>.
#
# Example (good for production): # Example (good for production):
# log-level: info # log-level: info
# log-format: json # log-format: json