diff --git a/docs/config.md b/docs/config.md index 2662a537..8dd99b3c 100644 --- a/docs/config.md +++ b/docs/config.md @@ -24,7 +24,7 @@ get a list of [command line options](#command-line-options). The most basic settings are `base-url` (the external URL of the ntfy server), the HTTP/HTTPS listen address (`listen-http` and `listen-https`), and socket path (`listen-unix`). All the other things are additional features. -Here are a few working sample configs: +Here are a few working sample configs using a `/etc/ntfy/server.yml` file: === "server.yml (HTTP-only, with cache + attachments)" ``` yaml @@ -73,6 +73,56 @@ Here are a few working sample configs: keepalive-interval: "45s" ``` +Alternatively, you can also use command line arguments or environment variables to configure the server. Here's an example +using Docker Compose (i.e. `docker-compose.yml`): + +=== "Docker Compose (w/ auth, cache, attachments)" + ``` yaml + version: '3' + services: + ntfy: + image: binwiederhier/ntfy + restart: unless-stopped + environment: + NTFY_BASE_URL: http://ntfy.example.com + NTFY_AUTH_FILE: /var/lib/ntfy/auth.db + NTFY_AUTH_DEFAULT_ACCESS: deny-all + NTFY_BEHIND_PROXY: true + NTFY_ATTACHMENT_CACHE_DIR: /var/lib/ntfy/attachments + NTFY_ENABLE_LOGIN: true + volumes: + - ./:/var/lib/ntfy + ports: + - 80:80 + command: serve + ``` + +=== "Docker Compose (w/ auth, cache, web push, iOS)" + ``` yaml + version: '3' + services: + ntfy: + image: binwiederhier/ntfy + restart: unless-stopped + environment: + NTFY_BASE_URL: http://ntfy.example.com + NTFY_AUTH_FILE: /var/lib/ntfy/auth.db + NTFY_AUTH_DEFAULT_ACCESS: deny-all + NTFY_BEHIND_PROXY: true + NTFY_ATTACHMENT_CACHE_DIR: /var/lib/ntfy/attachments + NTFY_ENABLE_LOGIN: true + NTFY_UPSTREAM_BASE_URL: https://ntfy.sh + NTFY_WEB_PUSH_PUBLIC_KEY: + NTFY_WEB_PUSH_PRIVATE_KEY: + NTFY_WEB_PUSH_FILE: /etc/ntfy/webpush.db + NTFY_WEB_PUSH_EMAIL_ADDRESS: + volumes: + - ./:/var/lib/ntfy + ports: + - 8093:80 + command: serve + ``` + ## Message cache If desired, ntfy can temporarily keep notifications in an in-memory or an on-disk cache. Caching messages for a short period of time is important to allow [phones](subscribe/phone.md) and other devices with brittle Internet connections to be able to retrieve