You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

52 lines
2.0 KiB

# Minimal compose for running the published image (e.g. on remote server).
# Usage: docker compose -f docker-compose.prod.yml up -d
#
# NIP-66 monitor: set NIP66_MONITOR_NSEC (and optionally NIP66_MONITOR_NPUB) in the host env or .env.
# - Cron (jumble-nip66-monitor) uses NIP66_MONITOR_NSEC to publish 30166/10166; nsec never goes to the client.
# - Set NIP66_MONITOR_NPUB (npub1... derived from the same key) so the relay info page shows the monitor's avatar and handle in the NIP-66 liveliness section.
services:
jumble:
image: silberengel/imwald-jumble:latest
container_name: imwald-jumble
ports:
- "8089:80"
restart: unless-stopped
# Do NOT pass NIP66_MONITOR_NSEC to the web app; only npub is needed for the relay info page.
environment:
- NIP66_MONITOR_NPUB=${NIP66_MONITOR_NPUB}
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
deploy:
resources:
limits:
memory: 512M
# NIP-66 relay monitor cron: publishes 30166 (relay discovery) and 10166 (announcement).
# Starts and stops with the app. Requires NIP66_MONITOR_NSEC to do anything.
jumble-nip66-monitor:
image: silberengel/imwald-jumble-nip66-monitor:latest
container_name: imwald-jumble-nip66-monitor
restart: unless-stopped
environment:
- NIP66_MONITOR_NSEC=${NIP66_MONITOR_NSEC}
- RELAYS_TO_MONITOR=${RELAYS_TO_MONITOR:-}
- RELAY_LIST_SKIP_KIND10002=${RELAY_LIST_SKIP_KIND10002:-}
- MAX_RELAYS_TO_MONITOR=${MAX_RELAYS_TO_MONITOR:-}
- PUBLISH_RELAYS=${PUBLISH_RELAYS:-}
- INTERVAL_MS=${INTERVAL_MS:-}
# Default: merge built-in relay list + monitor’s kind 10002 (`r` tags). See nip66-cron/index.mjs.
# - RELAYS_TO_MONITOR — optional; replaces merged list entirely
# - RELAY_LIST_SKIP_KIND10002=1 — defaults only (no 10002 fetch)
logging:
driver: json-file
options:
max-size: "5m"
max-file: "2"
deploy:
resources:
limits:
memory: 128M