mirror of
https://github.com/619dev/PaperPhone.git
synced 2026-05-06 22:12:41 +08:00
65 lines
3.1 KiB
Plaintext
65 lines
3.1 KiB
Plaintext
# ─────────────────────────────────────────────────────────────────
|
|
# PaperPhone — Environment Variables
|
|
# Copy this file to server/.env and fill in real values
|
|
# ─────────────────────────────────────────────────────────────────
|
|
|
|
# ── Server ────────────────────────────────────────────────────────
|
|
PORT=3000
|
|
NODE_ENV=development
|
|
|
|
# ── JWT ───────────────────────────────────────────────────────────
|
|
# REQUIRED: generate a strong random secret, e.g.:
|
|
# openssl rand -hex 32
|
|
JWT_SECRET=change_this_to_a_long_random_string_in_production
|
|
JWT_EXPIRES_IN=7d
|
|
|
|
# ── MySQL ─────────────────────────────────────────────────────────
|
|
# Docker Compose: set DB_HOST=mysql (the service name)
|
|
DB_HOST=localhost
|
|
DB_PORT=3306
|
|
DB_USER=root
|
|
DB_PASS=root
|
|
DB_NAME=paperphone
|
|
|
|
# ── Redis ─────────────────────────────────────────────────────────
|
|
# Docker Compose: set REDIS_HOST=redis (the service name)
|
|
REDIS_HOST=localhost
|
|
REDIS_PORT=6379
|
|
REDIS_PASS=
|
|
|
|
# ── Cloudflare R2 (S3-compatible object storage) ─────────────────
|
|
# Get from: Cloudflare Dashboard → R2 → Manage API Tokens
|
|
R2_ACCOUNT_ID=
|
|
R2_ACCESS_KEY_ID=
|
|
R2_SECRET_ACCESS_KEY=
|
|
R2_BUCKET=paperphone
|
|
R2_PUBLIC_URL=
|
|
|
|
# ── Cloudflare TURN (optional — for cross-network WebRTC calls) ──
|
|
# Get from: Cloudflare Dashboard → Workers & Pages → Calls
|
|
CF_CALLS_APP_ID=
|
|
CF_CALLS_APP_SECRET=
|
|
|
|
# ── Web Push / VAPID (optional) ──────────────────────────────────
|
|
# Generate with: npx web-push generate-vapid-keys
|
|
VAPID_PUBLIC_KEY=
|
|
VAPID_PRIVATE_KEY=
|
|
VAPID_SUBJECT=mailto:admin@paperphone.app
|
|
|
|
# ── OneSignal (optional — Median.co native push) ─────────────────
|
|
# Get from: OneSignal Dashboard → Settings → Keys & IDs
|
|
ONESIGNAL_APP_ID=
|
|
ONESIGNAL_REST_KEY=
|
|
|
|
# ── Telegram Bot API (optional — sticker pack proxy) ─────────────
|
|
# Create a bot via @BotFather to get a token
|
|
TELEGRAM_BOT_TOKEN=
|
|
|
|
# ── Sticker Packs (optional) ─────────────────────────────────────
|
|
# Comma-separated list of Telegram sticker pack names with labels.
|
|
# Format: pack_name:Display Label,another_pack:Another Label
|
|
# No limit on quantity. Leave blank to use the 8 built-in defaults.
|
|
# Example:
|
|
# STICKER_PACKS=asterism_by_favorite_stickers_bot:Asterism,my_custom_pack:My Pack
|
|
STICKER_PACKS=
|