Edit: /opt/canhelp/.env (3735B)
NODE_ENV=production
# API
API_PORT=4000
WEB_URL=https://canhelp.gr
# Database
DATABASE_URL=postgresql://canhelp:n0mONHTn6Vu9cpVPqmvyONZLoWQeYRiQY5zZPHk5+SA=@localhost:5433/canhelp
DB_PASSWORD=n0mONHTn6Vu9cpVPqmvyONZLoWQeYRiQY5zZPHk5+SA=
# Redis
REDIS_URL=redis://localhost:6379
# Better Auth
BETTER_AUTH_SECRET=M/X9/xwC59JMc/B6jfG1XOlyMwQ/dSSVuPz5E3HMiyI=
BETTER_AUTH_URL=https://api.canhelp.gr
HEALTH_DEBUG_TOKEN=81c826408115fb8394eb4eea046498d7044e563f0dbd1970
# 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=0x4AAAAAAC_FtdVNdZjwjROz8uQoKwa7hJw
# Google OAuth (Sign-In + Calendar)
# Create credentials at: https://console.cloud.google.com → APIs & Services → Credentials
GOOGLE_CLIENT_ID=564172133349-a5bfataq1dads85vfngrpfsl9m4jv113.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=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
GOOGLE_CALENDAR_REDIRECT_URI=https://api.canhelp.gr/api/google/calendar/callback
# AI Translation (auto-translate task listings via Claude)
TRANSLATE_PROVIDER=openai # если предпочитаешь OpenAI
ANTHROPIC_API_KEY=
OPENAI_API_KEY=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
INTERNAL_API_URL=http://localhost:4000
# Push notifications (Firebase Cloud Messaging HTTP v1)
# Fill values from Firebase service account JSON key.
FCM_PROJECT_ID=canhelp-51c4e
FCM_CLIENT_EMAIL=firebase-adminsdk-fbsvc@canhelp-51c4e.iam.gserviceaccount.com
# Keep newlines escaped (\\n) when storing in .env
FCM_PRIVATE_KEY='-----BEGIN PRIVATE KEY-----\nMIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCi3IBlXGxl0Bh8\nUB5QtJp6hAEMte0Wb2KeRj6uTa4jMCIwseJE6OcRxFWDsHwTuCGbrtzPpRI8c99S\nXHsptxnYOQRn/DKFU+PpjganRjYB1zD907a1rqjcGWTCFwKUuC9IQr+x5RifSg1S\nxQB743nulYqgPWoomYAlW69xxka7bNFFsZuy5uZOUpzDE74NNU1WLzjclPvzrJrj\nrd13UGcN96afKLlIrUE5XRhLM3f6YdNvtHCJSpU7X6CFl9WWnMiU4Gl2C88Pw7Fm\nGcpKb7y5SeH68rIdRPMBXip0srRs+zR+Sq7yE6jk41RyTFAih/UuyXpnbRTnnJ4A\nhgbob+WBAgMBAAECggEAENMDH5V/7DemY+c57n/tynTLD/dWTgBFOZELpiGHuQJe\nsdWaiKBfyI3WALPxaW8W57iVfozwuJaGzkEYBxvve08OlbhvtqbPL2A47zxZVXDX\n0oz1vciUkKI97rAGV/s8BTTCDVxbog76F+Aal/HMtZk0uC+IATg0TQeu9Ou1AGUH\n+oTrHJN2H+G/smi0iDzkEJwuhwnoJL02mu+l7SCPN+QZMy50jmd5QuSkbkS7jQBy\nmSdsInaChIUVXeHiEpcqHH4RA5A2rb1KhWCR3/scagHUGpvOHbUCGKZT4ijFl6BT\n6W7y9VqOqbyhTEZy1h0WI5CJ9Yu8CJ625Xlqrt7n7QKBgQDQFDy8zMU8B8ReyVHu\nKiW/xNz0/P5m08ZoL0vsJX6n8qdGZ4UZ+l5JI04LD5ECCnYJjXlSR+q1IAoWAPPu\njCvY+a7p0oDASz8G8X5TnBn4O70Cy05keTBsZohE3gwVzi8BEF7ABGH0ngoKxoeA\n3GoguKYgtlu7FSmGS8ee3gI+LQKBgQDIXlpxvAiziUCQFFfMKiHaLPxs8sVlnf2I\nxQeHW81nZwpX+4fDr9NkQPrIChqA1lTdoKAfkt1KbMdGoIlScE75A/5PR/2VIte2\nDFEnC8UtMr0Rr+Lks4zcrdH9ztDAir28dh9rSrGBS12hUutFK77HWCL4qWAESUjr\n7lICzkstJQKBgQCn1tsTM10Yye8UwfELWgXvBJ1yI6wVR1dv7E6iYbAjSnCxMolD\nZhetiQPHmjvOWJ/TnsEwpH/mr7xS+VvJnFk2AFidlMVz1n41XJAYYv7zo0QXv+Qw\n2Sw9FAtw+WboI9L4WbsDycU1qlDRVkgwohoc4LRoCJA/fJdtEy0msU8/1QKBgQCK\nZLEvsWKJLxnK6mIiAE/VdBD950j0gQVm/D/Q/FWJQCBi2LbTMJRfwIn2tRPNPTzs\nv08Zv8Tc7PlPDP8MU8oYMOvsMpsx8RjxAtzijTyplUwF9WhP8rwuiFhsZ/bDppCa\npTPaVYL4/Oc00CL0adyhr3yoJ8TL8RpO6xL2ISrHiQKBgQDMk20kyZshKKGpe1lh\ncH7SJ4g5XDXiVareFYkvvLX7btlV3leFrOA4Y3GrMWRkRXQuOdKlUwoqDxyPWovm\nAT8x2JftsC3CZpOxXon2p4iBluffvKdgTGxDxtLHhWc0DeIIxLKt2WkgKz+3v9ZI\nkYYUqzrDFcpOUt5NP4QXY52l/w==\n-----END PRIVATE KEY-----\n'
APPLE_CLIENT_ID=gr.canhelp.app
APPLE_TEAM_ID=7FH42A7J3E
APPLE_KEY_ID=7KDH2J8CUX
APPLE_PRIVATE_KEY_PATH=/mnt/hdd/canhelp/AuthKey_3Z7Z8F826T_signin.p8