CloudSyncPro relies on Supabase for authentication, the Postgres database (with Row Level Security), Edge Functions, and Realtime notifications. After creating a Supabase project and running the migrations, you need to complete the configuration steps below before the production app will work correctly.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/S4nti4goCoder/cloudsyncpro/llms.txt
Use this file to discover all available pages before exploring further.
Configure authentication URLs
In the Supabase Dashboard go to Authentication → URL Configuration and update both fields to your production domain:
These values control where Supabase redirects users after email confirmation and OAuth sign-in. Leaving them as
| Field | Value |
|---|---|
| Site URL | https://your-domain.com |
| Redirect URLs | https://your-domain.com/** |
localhost will break authentication in production.Customize email templates
Go to Authentication → Email Templates. CloudSyncPro ships with customized templates in Spanish for all transactional emails:
- Confirm signup
- Reset password
- Magic link
- Change email address
Set up Google OAuth
To enable Google sign-in:
- Open Google Cloud Console → APIs & Services → Credentials.
- Create an OAuth 2.0 Client ID (Web application type).
- Add your production domain to Authorized JavaScript origins:
https://your-domain.com - Add the Supabase callback URL to Authorized redirect URIs:
- Copy the Client ID and Client Secret into Supabase Dashboard → Authentication → Providers → Google.
Set Edge Function secrets
Go to Edge Functions → Secrets and add the following key-value pairs. These are consumed at runtime by the
upload-file, purge-files, and delete-account Edge Functions.| Secret | Purpose |
|---|---|
SUPABASE_SERVICE_ROLE_KEY | Admin database key used by Edge Functions |
R2_ENDPOINT | S3-compatible R2 endpoint, e.g. https://<account-id>.r2.cloudflarestorage.com |
R2_PUBLIC_URL | Public read URL of the R2 bucket — same value as VITE_R2_PUBLIC_URL |
R2_ACCESS_KEY_ID | R2 API token access key |
R2_SECRET_ACCESS_KEY | R2 API token secret key |
R2_BUCKET_NAME | Name of your R2 bucket, e.g. cloudsyncpro |
CRON_SECRET | Shared secret used to authenticate the auto-purge cron request |
Create the pg_cron auto-purge job
CloudSyncPro automatically deletes trashed files older than 30 days. The mechanism is a The
pg_cron scheduled job that calls the purge-files Edge Function daily.Run the following SQL in SQL Editor (replace the placeholder values):purge-files Edge Function reads X-Cron-Secret and compares it against the CRON_SECRET secret you set in the previous step. Requests without a matching secret are rejected with a 401.Regenerating TypeScript types
After running migrations or modifying the database schema, regenerate the TypeScript types so the frontend stays in sync:src/types/databaseTypes.ts. Commit the updated file alongside your migration.