services: tinyreplay: build: . image: tinyreplay ports: - '3000:3000' volumes: - ./data:/app/data environment: - PORT=3000 - DATA_DIR=/app/data # Lock this down to your site's origin(s) in production, e.g. # ALLOWED_ORIGINS=https://example.com,https://app.example.com - ALLOWED_ORIGINS=* # Protect the dashboard with HTTP Basic auth (any username): # - DASHBOARD_PASSWORD=change-me # Require a token on /api/ingest (pass the same value to TinyReplay.init): # - INGEST_TOKEN=change-me-too # Delete sessions older than N days (unset keeps everything): # - RETENTION_DAYS=30 # Tune ingest limits if needed (defaults shown): # - RATE_LIMIT_PER_MIN=100 # - MAX_PAYLOAD_BYTES=5000000 restart: unless-stopped