Підготовка контенту платформи Ring
Підготовка контенту платформи Ring
Підготовка контенту платформи Ring
Concepts, value, and typical clone scenarios — less code.
Concepts, value, and typical clone scenarios — less code.
Concepts, value, and typical clone scenarios — less code.
Filter with Founder / Developer in the docs sidebar. This page replaces legacy fiction (invented TypeScript managers, dollar KPIs, multi-region failover code that does not exist in the OSS tree). Everything below is traceable to data/schema.sql, env.local.template, and deployment docs.
Ring clones on DB_BACKEND_MODE=k8s-postgres-fcm (production default) treat PostgreSQL as the source of truth for users, entities, opportunities, store, payments, and most CRM data. Backups must cover the database, uploaded files, and secrets/configuration — three separate artifacts with different restore steps.
| Asset | Typical location | Restore priority |
|---|---|---|
| PostgreSQL | DATABASE_URL cluster or Docker volume | Critical — identities, commerce, content |
| Schema + migrations | data/schema.sql, data/migrations/*.sql | Version-controlled in git; re-apply after empty restore |
| Blob / object storage | Vercel Blob (BLOB_READ_WRITE_TOKEN) or clone-specific S3/RGW | High — product images, attachments, generated media |
| Runtime secrets | .env.local, k8s Secrets (not in public repo) | Critical — Auth.js, WayForPay/Stripe, FCM service account |
| Redis cache | Docker ring-redis-data volume | Low — safe to rebuild; sessions may reset |
| FCM tokens | Postgres fcm_tokens JSONB when on postgres-primary | Covered by DB backup |
A Ring deployment is not “just a website.” Postgres holds membership state, vendor catalogs, order and payment ledgers, opportunity listings, and referral accounting. Losing the database without a restore point means re-onboarding users and reconciling payments manually.
Filter with Founder / Developer in the docs sidebar. This page replaces legacy fiction (invented TypeScript managers, dollar KPIs, multi-region failover code that does not exist in the OSS tree). Everything below is traceable to data/schema.sql, env.local.template, and deployment docs.
Ring clones on DB_BACKEND_MODE=k8s-postgres-fcm (production default) treat PostgreSQL as the source of truth for users, entities, opportunities, store, payments, and most CRM data. Backups must cover the database, uploaded files, and secrets/configuration — three separate artifacts with different restore steps.
| Asset | Typical location | Restore priority |
|---|---|---|
| PostgreSQL | DATABASE_URL cluster or Docker volume | Critical — identities, commerce, content |
| Schema + migrations | data/schema.sql, data/migrations/*.sql | Version-controlled in git; re-apply after empty restore |
| Blob / object storage | Vercel Blob (BLOB_READ_WRITE_TOKEN) or clone-specific S3/RGW | High — product images, attachments, generated media |
| Runtime secrets | .env.local, k8s Secrets (not in public repo) | Critical — Auth.js, WayForPay/Stripe, FCM service account |
| Redis cache | Docker ring-redis-data volume | Low — safe to rebuild; sessions may reset |
| FCM tokens | Postgres fcm_tokens JSONB when on postgres-primary | Covered by DB backup |
A Ring deployment is not “just a website.” Postgres holds membership state, vendor catalogs, order and payment ledgers, opportunity listings, and referral accounting. Losing the database without a restore point means re-onboarding users and reconciling payments manually.
Filter with Founder / Developer in the docs sidebar. This page replaces legacy fiction (invented TypeScript managers, dollar KPIs, multi-region failover code that does not exist in the OSS tree). Everything below is traceable to data/schema.sql, env.local.template, and deployment docs.
Ring clones on DB_BACKEND_MODE=k8s-postgres-fcm (production default) treat PostgreSQL as the source of truth for users, entities, opportunities, store, payments, and most CRM data. Backups must cover the database, uploaded files, and secrets/configuration — three separate artifacts with different restore steps.
| Asset | Typical location | Restore priority |
|---|---|---|
| PostgreSQL | DATABASE_URL cluster or Docker volume | Critical — identities, commerce, content |
| Schema + migrations | data/schema.sql, data/migrations/*.sql | Version-controlled in git; re-apply after empty restore |
| Blob / object storage | Vercel Blob (BLOB_READ_WRITE_TOKEN) or clone-specific S3/RGW | High — product images, attachments, generated media |
| Runtime secrets | .env.local, k8s Secrets (not in public repo) | Critical — Auth.js, WayForPay/Stripe, FCM service account |
| Redis cache | Docker ring-redis-data volume | Low — safe to rebuild; sessions may reset |
| FCM tokens | Postgres fcm_tokens JSONB when on postgres-primary | Covered by DB backup |
A Ring deployment is not “just a website.” Postgres holds membership state, vendor catalogs, order and payment ledgers, opportunity listings, and referral accounting. Losing the database without a restore point means re-onboarding users and reconciling payments manually.
Settlers on ringdom.org k8s get operator-run CNPG/MinIO schedules; self-hosters own their own dump cadence.
Ring Platform does not ship fixed recovery SLAs in the OSS repo. Define targets per clone:
Document who approves restore (operator vs developer) and where dumps are stored (encrypted object storage, off-cluster).
AUTH_SECRET, WayForPay keys, and Firebase service accounts live in env/Secrets stores. Export them through your password manager or sealed-secrets workflow — a Postgres dump alone cannot rebuild auth.
env.local.templatefirebase-full mode (legacy / community)When DB_BACKEND_MODE=firebase-full, Firestore holds application data (shouldUseFirebaseForDatabase() in lib/database/backend-mode-config.ts). Use Google Cloud Firestore export/import to GCS — not the Postgres commands above. Postgres may still hold Auth.js adapter tables depending on adapter configuration; confirm your clone’s adapter in Authentication architecture.
The public OSS repo does not ship k8s/ manifests (OSS vs enterprise). Managed clusters typically use CloudNativePG ScheduledBackup to S3-compatible storage (e.g. MinIO). Operator runbooks live outside this tree; align dump retention with your storage class and off-site copy policy.
Restore latest dump to a staging database name (not production).
Run npm run build (or health check) against staging DATABASE_URL.
Verify login, one entity read, one opportunity list query, and /api/health.
Record dump age, restore duration, and gaps — adjust schedule if RPO missed.
Alert on backup job failures (next doc in stale cohort).
Settlers on ringdom.org k8s get operator-run CNPG/MinIO schedules; self-hosters own their own dump cadence.
Ring Platform does not ship fixed recovery SLAs in the OSS repo. Define targets per clone:
Document who approves restore (operator vs developer) and where dumps are stored (encrypted object storage, off-cluster).
AUTH_SECRET, WayForPay keys, and Firebase service accounts live in env/Secrets stores. Export them through your password manager or sealed-secrets workflow — a Postgres dump alone cannot rebuild auth.
env.local.templatefirebase-full mode (legacy / community)When DB_BACKEND_MODE=firebase-full, Firestore holds application data (shouldUseFirebaseForDatabase() in lib/database/backend-mode-config.ts). Use Google Cloud Firestore export/import to GCS — not the Postgres commands above. Postgres may still hold Auth.js adapter tables depending on adapter configuration; confirm your clone’s adapter in Authentication architecture.
The public OSS repo does not ship k8s/ manifests (OSS vs enterprise). Managed clusters typically use CloudNativePG ScheduledBackup to S3-compatible storage (e.g. MinIO). Operator runbooks live outside this tree; align dump retention with your storage class and off-site copy policy.
Restore latest dump to a staging database name (not production).
Run npm run build (or health check) against staging DATABASE_URL.
Verify login, one entity read, one opportunity list query, and /api/health.
Record dump age, restore duration, and gaps — adjust schedule if RPO missed.
Alert on backup job failures (next doc in stale cohort).
Settlers on ringdom.org k8s get operator-run CNPG/MinIO schedules; self-hosters own their own dump cadence.
Ring Platform does not ship fixed recovery SLAs in the OSS repo. Define targets per clone:
Document who approves restore (operator vs developer) and where dumps are stored (encrypted object storage, off-cluster).
AUTH_SECRET, WayForPay keys, and Firebase service accounts live in env/Secrets stores. Export them through your password manager or sealed-secrets workflow — a Postgres dump alone cannot rebuild auth.
env.local.templatefirebase-full mode (legacy / community)When DB_BACKEND_MODE=firebase-full, Firestore holds application data (shouldUseFirebaseForDatabase() in lib/database/backend-mode-config.ts). Use Google Cloud Firestore export/import to GCS — not the Postgres commands above. Postgres may still hold Auth.js adapter tables depending on adapter configuration; confirm your clone’s adapter in Authentication architecture.
The public OSS repo does not ship k8s/ manifests (OSS vs enterprise). Managed clusters typically use CloudNativePG ScheduledBackup to S3-compatible storage (e.g. MinIO). Operator runbooks live outside this tree; align dump retention with your storage class and off-site copy policy.
Restore latest dump to a staging database name (not production).
Run npm run build (or health check) against staging DATABASE_URL.
Verify login, one entity read, one opportunity list query, and /api/health.
Record dump age, restore duration, and gaps — adjust schedule if RPO missed.
Alert on backup job failures (next doc in stale cohort).