81 lines
3.1 KiB
Bash
Executable File
81 lines
3.1 KiB
Bash
Executable File
# AOS — Agency Operating System Environment (dev)
|
|
|
|
# --- Database ---
|
|
DATABASE_URL=file:/home/z/my-project/db/custom.db
|
|
|
|
# --- Encryption (AES-256-GCM for secrets at rest) ---
|
|
ENCRYPTION_KEY=UrEE757ABMzqcME/AQfef9XDPSaBlgIhVDOy8BIpbSY=
|
|
|
|
# --- Auth ---
|
|
AUTH_SECRET=zB7wxxn7xDnClPUlwoKG4VwHDaIqvtAz3DW3Bn43GlM=
|
|
|
|
# --- Leads Finder Providers ---
|
|
TAVILY_API_KEY=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
|
|
FIRECRAWL_API_KEY=fc-2ddabe84274a44b39da31a49d1624700
|
|
SERPAPI_API_KEY=5e1d045575cc29b705c53e8303b6ada506e8a3ef382fca78a2964c7e25751ba1
|
|
APIFY_API_TOKEN=apify_api_YUsr1w7L0qFpvzwDirjv1oWHToT2xu3lhJt7
|
|
|
|
# --- App ---
|
|
NODE_ENV=development
|
|
PORT=3000
|
|
|
|
# ── Stripe ──
|
|
STRIPE_PUBLISHABLE_KEY=pk_test_51TWfTxDGcQIOgPxeHVZh5ilWEc61bK7MBuBez4fGV5XrjRGwRXsXJp5rm1eAsWHGzQ20NBXRG7Nmp0pJRJfUflImA003OoDaSQt
|
|
STRIPE_SECRET_KEY=sk_test_51TWfTxDGcQIOgPxej8AvcfLMt6a7IEgZk3L34WLnOCNw2AAAyqORQtgJLjEaj3Ygm014ZAo3oByvDSdJVFwYLHmk0048mdLZH4
|
|
RESTRICTED_KEY=rk_test_51TWfTxDGcQIOgPxeGPSfA6ske0A6xPde23jfOJKbUfFOrEWl4bTIHv4MSOBwlQpravXk4mxKAjKdmkGb3asZqOVJ0048mdLZH4
|
|
|
|
# ── License Server (B2B SaaS) ──
|
|
LICENSE_PRICE_STARTER_CENTS=2900
|
|
LICENSE_PRICE_PRO_CENTS=5000
|
|
LICENSE_PRICE_ENTERPRISE_CENTS=15000
|
|
LICENSE_TRIAL_DAYS=14
|
|
LICENSE_NOTICE_PERIOD_DAYS=90
|
|
LICENSE_YEARLY_DISCOUNT_PCT=10
|
|
LICENSE_OFFLINE_GRACE_HOURS=72
|
|
|
|
# ── Agency / Reseller ──
|
|
AGENCY_DISCOUNT_MIN_PCT=0
|
|
AGENCY_DISCOUNT_MAX_PCT=20
|
|
AGENCY_DISCOUNT_DEFAULT_PCT=10
|
|
|
|
# ── Platform Domain ──
|
|
# The domain AOS runs on. Tenant instances get subdomains of this domain.
|
|
PLATFORM_DOMAIN=dfmpanel.eu
|
|
# Public URL of the AOS instance (used by license-server SDK + email links)
|
|
AOS_PUBLIC_URL=https://dfmpanel.eu
|
|
|
|
# ── Dokploy (tenant instance provisioning) ──
|
|
# Dokploy server URL + API key for managing tenant instances.
|
|
DOKPLOY_URL=https://cp.project-url.eu
|
|
DOKPLOY_API_KEY=CEIqJlWVtmSNgffNWywTJmEeuvUJBndinBzudretwiuzVWPxuvUNmoQaHUwRwUBy
|
|
# The Dokploy server ID to deploy to (default "default" if not set)
|
|
# DOKPLOY_SERVER_ID=default
|
|
# The Dokploy project to group tenant applications under
|
|
# DOKPLOY_PROJECT_ID=default
|
|
# The IP of the Dokploy server (used for Hetzner DNS A records)
|
|
# DOKPLOY_SERVER_IP=123.456.789.012
|
|
|
|
# ── Hetzner Cloud DNS ──
|
|
# API token scoped to the platform zone (dfmpanel.eu)
|
|
# HETZNER_DNS_TOKEN=your-hetzner-dns-token
|
|
# Zone ID of the platform domain (find via: GET https://dns.hetzner.com/api/v1/zones)
|
|
# HETZNER_ZONE_ID=your-zone-id
|
|
# If true, a single *.dfmpanel.eu wildcard A record handles all subdomains
|
|
# (recommended — avoids per-instance DNS records + Let's Encrypt rate limits)
|
|
USE_WILDCARD_DNS=true
|
|
|
|
# ── Cron Job ──
|
|
# Shared secret for the cleanup cron job (POST /api/aos/instances/cleanup)
|
|
# The cron job (Dokploy cron or GitHub Action) must send this as:
|
|
# Authorization: Bearer <CRON_SECRET>
|
|
# CRON_SECRET=your-cron-secret
|
|
|
|
# ── Instance Defaults ──
|
|
# Default Git repo + branch for new tenant instances
|
|
INSTANCE_GIT_REPO=https://github.com/cetinmustafa83/restov1
|
|
INSTANCE_GIT_BRANCH=main
|
|
# Demo instance duration in days
|
|
INSTANCE_DEMO_DAYS=14
|
|
# Grace period after demo expiry or subscription cancellation (days)
|
|
INSTANCE_GRACE_DAYS=7
|