snipe/.env.example
pyr0ball 0617fc8256 feat: add in-app feedback FAB
- api/main.py: GET /api/feedback/status + POST /api/feedback — creates
  Forgejo issues; disabled (503) when FORGEJO_API_TOKEN unset, 403 in
  demo mode; includes view, version, platform context in issue body
- FeedbackButton.vue: 2-step modal (type → review → submit); probes
  /api/feedback/status on mount, stays hidden until confirmed enabled
- App.vue: mount FeedbackButton with current route name as view context;
  import useRoute for reactive route name tracking
- .env.example: document FORGEJO_API_TOKEN / FORGEJO_REPO / FORGEJO_API_URL
2026-04-03 21:42:26 -07:00

55 lines
3.1 KiB
Text

# Snipe works out of the box with the scraper (no credentials needed).
# Set eBay API credentials to unlock full trust scores —
# account age and category history signals require the eBay Browse API.
# Without credentials the app logs a warning and falls back to the scraper.
# ── eBay Developer Keys — Production ──────────────────────────────────────────
# From https://developer.ebay.com/my/keys (Production tab)
EBAY_APP_ID=
EBAY_DEV_ID=
EBAY_CERT_ID=
# ── eBay Developer Keys — Sandbox ─────────────────────────────────────────────
# From https://developer.ebay.com/my/keys (Sandbox tab)
EBAY_SANDBOX_APP_ID=
EBAY_SANDBOX_DEV_ID=
EBAY_SANDBOX_CERT_ID=
# ── Active environment ─────────────────────────────────────────────────────────
# production | sandbox
EBAY_ENV=production
# ── eBay Account Deletion Webhook ──────────────────────────────────────────────
# Register endpoint at https://developer.ebay.com/my/notification — required for
# production key activation. Set EBAY_NOTIFICATION_ENDPOINT to the public HTTPS
# URL eBay will POST to (e.g. https://snipe.circuitforge.tech/api/ebay/account-deletion).
EBAY_NOTIFICATION_TOKEN=
EBAY_NOTIFICATION_ENDPOINT=
# Set to false during sandbox/registration (no production token available yet).
# Set to true once production credentials are active — enforces ECDSA verification.
EBAY_WEBHOOK_VERIFY_SIGNATURES=true
# ── Database ───────────────────────────────────────────────────────────────────
SNIPE_DB=data/snipe.db
# ── Cloud mode (managed / menagerie instance only) ─────────────────────────────
# Leave unset for self-hosted / local use. When set, per-user DB isolation
# and Heimdall licensing are enabled. compose.cloud.yml sets CLOUD_MODE=true
# automatically — only set manually if running without Docker.
# CLOUD_MODE=true
# CLOUD_DATA_ROOT=/devl/snipe-cloud-data
# JWT secret from cf-directus (must match Directus SECRET env var exactly).
# DIRECTUS_JWT_SECRET=
# Heimdall license server — for tier resolution and free-key auto-provisioning.
# HEIMDALL_URL=https://license.circuitforge.tech
# HEIMDALL_ADMIN_TOKEN=
# ── In-app feedback (beta) ────────────────────────────────────────────────────
# When set, a feedback FAB appears in the UI and routes submissions to Forgejo.
# Leave unset to silently hide the button (demo/offline deployments).
# FORGEJO_API_TOKEN=
# FORGEJO_REPO=Circuit-Forge/snipe
# FORGEJO_API_URL=https://git.opensourcesolarpunk.com/api/v1