# XRayPDF is stateless: every document is processed in the visitor's browser, # so there is no database, no storage volume and no configuration. This file # exists only to run the published image with a healthcheck. services: xray: # Published by .github/workflows/docker-publish.yml. To build from source # instead, add the override: # docker compose -f docker-compose.yml -f docker-compose.build.yml up image: ${XRAY_IMAGE:-ghcr.io/geneticglitch1/xraypdf:latest} restart: unless-stopped ports: # Host port is configurable so the app can sit behind a reverse proxy or # run alongside something else already on 3000. - "${HOST_PORT:-3000}:3000" healthcheck: test: - "CMD" - "node" - "-e" - "fetch('http://localhost:3000/api/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))" interval: 15s timeout: 5s retries: 5 start_period: 20s