- First, we need a script that setup admin account for us after starting the service.
init.shfile that you should put insidentfy/init.sh#!/bin/sh ntfy serve & sleep 2 NTFY_PASSWORD=${NTFY_PASSWORD} ntfy user add --role=admin ${NTFY_USER} wait - Now the compose file
compose.yamlordocker-compose.yamlfile.services: ntfy: image: binwiederhier/ntfy container_name: ntfy entrypoint: [ "/bin/sh", "/var/lib/ntfy/init.sh" ] environment: - TZ=UTC \# optional: set desired timezone - NTFY_BASE_URL=https://ntfy.dilawars.me - NTFY_AUTH_FILE=/var/lib/ntfy/auth.db - NTFY_CACHE_FILE=/var/lib/ntfy/cache.db - NTFY_AUTH_DEFAULT_ACCESS=deny-all - NTFY_ATTACHMENT_CACHE_DIR=/var/lib/ntfy/attachments - NTFY_ENABLE_LOGIN=true - NTFY_USER=admin - NTFY_PASSWORD=yoyodillusingh volumes: - /var/cache/ntfy:/var/cache/ntfy - /etc/ntfy:/etc/ntfy - ./ntfy/:/var/lib/ntfy ports: - 8001:80 healthcheck: \# optional: remember to adapt the host:port to your environment test: ["CMD-SHELL", "wget -q --tries=1 http://localhost:80/v1/health -O - | grep -Eo '\"healthy\"\\s*:\\s*true' || exit 1"] interval: 60s timeout: 10s retries: 3 start_period: 40s restart: unless-stopped
self-hosted ntfy service with admin account
Leave a reply