This commit is contained in:
xadyz1 2026-07-26 14:56:46 +01:00
parent f83f82f962
commit 28c2615a15
3 changed files with 88 additions and 1 deletions

88
.env Normal file
View file

@ -0,0 +1,88 @@
# ScreenTinker server configuration — process environment variables.
#
# NOTE: the app reads these from the *process environment* (your systemd unit's
# Environment=/EnvironmentFile=, your container runtime, or your shell). It does
# NOT auto-load this file. Copy the values you need into your process manager.
# This file exists only to document the available options.
# --- Self-hosting ---
# Set to "true" on your own instance. When true, the hosted signup emails
# (welcome to the user + admin notification) are disabled, so a self-hosted
# instance never emits mail from a domain that isn't yours.
SELF_HOSTED=true
# Hide the Subscription/billing UI (nav item + pricing cards) and bounce #/billing to
# the dashboard. Opt-in; default off (billing shown). For instances that bill customers
# externally and don't sell plans through the app. UI-only — does not change SELF_HOSTED
# or disable any /api/subscription endpoints.
HIDE_BILLING=true
# Close public self-service registration — for instances where all accounts are
# provisioned by your team (admin "Add user" / invites). When true, the public
# signup route is blocked (OAuth auto-signup with it) AND the login page hides
# its "Create account" button so the UI matches the backend. First-user setup on
# an empty DB is still allowed so a fresh install can be initialized.
# DISABLE_REGISTRATION=true
# Redirect "/" to the app (/app) instead of serving the marketing landing page.
# For internal-only deployments that don't want the public homepage shown.
# DISABLE_HOMEPAGE=true
# Where new-signup admin notifications are sent. Leave UNSET to disable admin
# notifications entirely — the user's welcome email is unaffected. Self-hosters
# who want to be notified of signups set this to their own address.
# ADMIN_NOTIFY_EMAIL=you@example.com
# Marks THIS deployment as the hosted (screentinker.com) instance. Gates the
# daily activation-nudge sweep (the T+3 "haven't paired a screen yet?" email).
# Leave UNSET on self-hosted instances so a daily bulk sweep never emails your
# user base with our onboarding mail. Only the hosted instance sets this true.
# HOSTED_INSTANCE=true
# --- Outbound email ---
# Email transport: "graph" (default, Microsoft Graph) or "smtp" (any mail server).
# Required for ANY email (welcome, offline alerts, admin notify) to actually send.
# Leave the selected transport blank and the app logs "[EMAIL] not configured"
# instead of sending. A partially-configured transport logs a clear error at boot.
# EMAIL_TRANSPORT=graph
# --- Email via Microsoft Graph (client-credentials flow; EMAIL_TRANSPORT=graph) ---
# GRAPH_TENANT_ID=
# GRAPH_CLIENT_ID=
# GRAPH_CLIENT_SECRET=
# GRAPH_SENDER_EMAIL=signage@example.com
# GRAPH_SENDER_NAME=ScreenTinker
# --- Email via SMTP (alternative to Microsoft Graph; EMAIL_TRANSPORT=smtp) ---
# For self-hosters without Azure/M365: Postfix, Gmail, Mailgun, SendGrid, a corp
# relay, etc. SMTP_SECURE=true is implicit TLS on 465; false is STARTTLS on 587.
# SMTP_USER/SMTP_PASSWORD are optional (omit both for an unauthenticated relay);
# if SMTP_USER is set, SMTP_PASSWORD is required. SMTP_FROM accepts "Name <addr>".
# EMAIL_TRANSPORT=smtp
# SMTP_HOST=mail.example.com
# SMTP_PORT=587
# SMTP_SECURE=false
# SMTP_USER=noreply@example.com
# SMTP_PASSWORD=your-smtp-password
# SMTP_FROM=ScreenTinker <noreply@example.com>
# Dev safety net (applies to BOTH transports): comma-separated allow-list of
# recipients. When set, mail to any address NOT in the list is suppressed
# (logged, not sent). Leave UNSET in production. Useful locally so test signups
# can't email real users.
# GRAPH_DEV_RESTRICT_TO=me@example.com
VITE_BUNNY_STORAGE_ENDPOINT="https://storage.bunnycdn.com/golden-file-share/"
VITE_BUNNY_API_KEY="85700133-fd1a-427b-a058ea453f02-cb34-4a80"
VITE_BUNNY_PULL_ZONE="https://goldencreative.b-cdn.net/"
# SMTP Configuration for Email
SMTP_HOST="smtp.dreamhost.com"
SMTP_PORT="587"
SMTP_USER="app@goldencreative.pt"
SMTP_PASSWORD="wBBx7XQV$8IX9EVq"
SMTP_FROM="crm@goldencreative.pt"
EMAIL_TRANSPORT="smtp"
BUNNY_LIBSQL_URL="libsql://01KYF4CVGHR0ZJAW1MVMNDHP6B-swiftdisplaytr.lite.bunnydb.net/"
BUNNY_LIBSQL_AUTH_TOKEN="eyJ0eXAiOiJKV1QiLCJhbGciOiJFZERTQSJ9.eyJwIjp7InJvIjpudWxsLCJydyI6eyJucyI6WyJzd2lmdGRpc3BsYXl0ciJdLCJ0YWdzIjpudWxsfSwicm9hIjpudWxsLCJyd2EiOm51bGwsImRkbCI6bnVsbH0sImlhdCI6MTc4NTA2Njg0NX0.ys_arKmEmbLR9WXzUJ9M8EYxuubH09h4-yk0GXPMm0uNcXoqabskMkblqOLwOre2Hyp0uSP2VQQc6XdSddnOBQ"

1
.gitignore vendored
View file

@ -42,7 +42,6 @@ android/release-key.jks
Thumbs.db
# Environment
.env
.env.*
# ...but DO track the documented template (placeholders only, no secrets)
!.env.example