/opt/canhelp
NameSizeModeActions
.git/-0755rm
.github/-0755rm
apps/-0755rm
backups/-0755rm
logs/-0755rm
node_modules/-0755rm
packages/-0755rm
scripts/-0755rm
uploads/-0755rm
.env37350644editdlrm
.env.example19780644editdlrm
.gitignore10710644editdlrm
CLAUDE.md34820644editdlrm
deploy.log5680644editdlrm
DEPLOY.md38710644editdlrm
docker-compose.yml8350644editdlrm
ecosystem.config.js9830644editdlrm
find_missing_keys.js9900644editdlrm
package-lock.json2015120644editdlrm
package.json13950644editdlrm
ru_keys.txt287680644editdlrm
STACK.md37450644editdlrm
turbo.json4620644editdlrm
uk_keys.txt287680644editdlrm
Edit: /opt/canhelp/.env.example (1978B)
NODE_ENV=development # API API_PORT=4000 WEB_URL=http://localhost:3000 # Public API URL for browser (client-side) requests NEXT_PUBLIC_API_URL=http://localhost:4000 # Internal API URL for SSR requests (server → API, bypasses external DNS/Cloudflare) # On production set to http://localhost:4000 so Next.js SSR hits the API directly INTERNAL_API_URL=http://localhost:4000 # Database DATABASE_URL=postgresql://canhelp:canhelp@localhost:5433/canhelp # Redis REDIS_URL=redis://localhost:6379 # Better Auth — generate with: openssl rand -hex 32 BETTER_AUTH_SECRET=change-me-to-a-random-32-char-secret BETTER_AUTH_URL=http://localhost:4000 # Optional debug endpoint protection token for /api/health/debug HEALTH_DEBUG_TOKEN= # Localisation DEFAULT_LOCALE=el FALLBACK_LOCALE=en DEFAULT_CURRENCY=EUR # Uploads UPLOAD_DIR=./uploads MAX_FILE_SIZE_MB=5 # Email (Resend) — get key at resend.com RESEND_API_KEY= FROM_EMAIL=noreply@canhelp.gr # Cloudflare Turnstile (CAPTCHA) # Get keys at: https://dash.cloudflare.com → Turnstile TURNSTILE_SECRET_KEY= # Google OAuth (Sign-In + Calendar) GOOGLE_CLIENT_ID= GOOGLE_CLIENT_SECRET= GOOGLE_CALENDAR_REDIRECT_URI=http://localhost:4000/api/google/calendar/callback # Apple OAuth (Sign in with Apple) # APPLE_CLIENT_SECRET is generated dynamically at runtime from your AuthKey_*.p8 APPLE_CLIENT_ID=gr.canhelp.app APPLE_TEAM_ID= APPLE_KEY_ID= # One of the two is required for auto-generation: # APPLE_PRIVATE_KEY: full PEM content (newlines can be escaped as \n) # APPLE_PRIVATE_KEY_PATH: absolute path to AuthKey_*.p8 on server APPLE_PRIVATE_KEY= APPLE_PRIVATE_KEY_PATH= # AI Translation (auto-translate task listings) # TRANSLATE_PROVIDER=anthropic # anthropic (default) | openai ANTHROPIC_API_KEY= OPENAI_API_KEY= # Push notifications (Firebase Cloud Messaging HTTP v1) # Fill values from Firebase service account JSON key. FCM_PROJECT_ID= FCM_CLIENT_EMAIL= # Keep newlines escaped (\\n) when storing in .env FCM_PRIVATE_KEY=