- .woodpecker.yml: full pipeline template (install → lint-fix → lint → test → deploy) - scripts/setup-project.sh: one-command VPS setup (user, dir, deploy, sudoers, systemd, nginx) - scripts/deploy.sh: deploy script template (rsync + npm ci + systemctl + health check) - scripts/ci-lint-fix.sh: ESLint auto-fix with [CI SKIP] commit-back - docs/ci-cd.md: complete CI/CD documentation and troubleshooting - .env.example: added WOODPECKER_TOKEN - DOCS.md: added CI/CD section Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
43 lines
1.0 KiB
Plaintext
43 lines
1.0 KiB
Plaintext
# =============================================================================
|
|
# Environment Variables Template
|
|
# Copy this file to .env.local and fill in the values
|
|
# Never commit .env.local or any file containing real secrets
|
|
# =============================================================================
|
|
|
|
# --- App ---
|
|
NODE_ENV=development
|
|
# APP_URL=http://localhost:3000
|
|
# API_URL=http://localhost:4000
|
|
|
|
# --- Database ---
|
|
# DATABASE_URL=postgresql://user:password@localhost:5432/mydb
|
|
|
|
# --- Redis (queues, caching) ---
|
|
# REDIS_URL=redis://localhost:6379
|
|
|
|
# --- Authentication ---
|
|
# AUTH_SECRET=generate-a-random-secret-here
|
|
# NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
|
|
# CLERK_SECRET_KEY=
|
|
|
|
# --- LLM / AI ---
|
|
# OPENAI_API_KEY=
|
|
# ANTHROPIC_API_KEY=
|
|
|
|
# --- Payments ---
|
|
# STRIPE_SECRET_KEY=
|
|
# STRIPE_WEBHOOK_SECRET=
|
|
|
|
# --- Email ---
|
|
# RESEND_API_KEY=
|
|
|
|
# --- CI/CD (Woodpecker) ---
|
|
# WOODPECKER_TOKEN=
|
|
# WOODPECKER_URL=https://ci.spektr.design
|
|
|
|
# --- File Storage ---
|
|
# S3_BUCKET=
|
|
# S3_REGION=
|
|
# S3_ACCESS_KEY_ID=
|
|
# S3_SECRET_ACCESS_KEY=
|