services: pullmd: image: aeternalabshq/pullmd:latest container_name: pullmd restart: unless-stopped ports: - "${PORT:-3000}:3000" environment: - PUBLIC_URL=${PUBLIC_URL:-http://localhost:${PORT:-3000}} - TRAFILATURA_URL=http://trafilatura:8001/extract - PLAYWRIGHT_URL=http://playwright:8002/render - REDDIT_CLIENT_ID=${REDDIT_CLIENT_ID:-} - REDDIT_CLIENT_SECRET=${REDDIT_CLIENT_SECRET:-} - REDDIT_USER_AGENT=${REDDIT_USER_AGENT:-} - DISABLE_PUBLIC_HISTORY=${DISABLE_PUBLIC_HISTORY:-false} # Authentication (v2.0+) - see MIGRATION.md before changing on an existing instance. - PULLMD_AUTH_MODE=${PULLMD_AUTH_MODE:-disabled} - PULLMD_ADMIN_EMAIL=${PULLMD_ADMIN_EMAIL:-} - PULLMD_ADMIN_PASSWORD=${PULLMD_ADMIN_PASSWORD:-} # Legacy bearer token (single-admin mode only, deprecated; removed in v3). - PULLMD_AUTH_TOKEN=${PULLMD_AUTH_TOKEN:-} - CACHE_DB=/data/cache.db volumes: - ./data:/data networks: - pullmd-internal depends_on: - trafilatura - playwright trafilatura: image: aeternalabshq/pullmd-trafilatura:latest container_name: pullmd-trafilatura restart: unless-stopped networks: - pullmd-internal playwright: image: aeternalabshq/pullmd-playwright:latest container_name: pullmd-playwright restart: unless-stopped networks: - pullmd-internal networks: pullmd-internal: driver: bridge