Концепції, цінність і типові сценарії
Концепції, цінність і типові сценарії
Preparing Ring content
Preparing Ring content
Preparing Ring content
Використовуйте вкладки Засновник / Розробник на бічній панелі документації, щоб відфільтрувати цю сторінку. Кроки нижче звірено зі структурою публічного репозиторію: ring/install.sh, ring/web/, ring/cli/, ring/scripts/.
Публічний репозиторій connectplatform/ring (Apache 2.0) містить усе потрібне, щоб запустити клон на одному сервері: застосунок Next.js у web/, майстер install.sh, сплощену схему PostgreSQL, файли Docker і ring CLI. Маніфестів Kubernetes, CI-процесів і конвеєра збирання Ringdom у ньому немає.
Відома проблема: ./install.sh setup-db і npm run db:apply-schema не працюють на свіжому публічному checkout. Перша команда шукає web/scripts/setup-clone-db.sh, друга шукає ring/data/schema.sql, і жодного з цих шляхів після переїзду в web/ не існує. Застосуйте web/data/schema.sql через psql, як показано в кроці 2 нижче.
| Раніше в документації | Поточний публічний репозиторій |
|---|---|
Запустіть scripts/setup-dev.sh, npm run setup:env, scripts/run-migration.sh | Жодного з цих скриптів у публічному дереві немає. Майстром є ./install.sh (режим dev) |
| Застосуйте нумеровані міграції | Нові інсталяції застосовують лише web/data/schema.sql (сплощена v4.1.0) |
cli/ ігнорується git | cli/ постачається публічно. Див. Ring CLI |
docker compose up піднімає повний стек | У закоміченому docker-compose.yml немає сервісу Postgres і немає DB_BACKEND_MODE. У docker-compose.template.yml є і те, і інше |
Один Linux-сервер із Node і PostgreSQL: саме цей шлях описано на сторінці. На оглядовій сторінці порівнюються всі варіанти.
Той самий застосунок у контейнері. Простіші оновлення та відкати на будь-якому хості з Docker.
Хостинг для Next.js. Поєднуйте його із Supabase, власним PostgreSQL або режимом firebase-full.
Для поселенців Ringdom хостинг у Kubernetes, CI і конвеєр розгортання запускають за них.
Ні, не в режимі k8s-postgres-fcm. Без NEXT_PUBLIC_FIREBASE_PROJECT_ID застосунок записує попередження в журнал і вимикає push. Режим firebase-full інший: він потребує ключів AUTH_FIREBASE_*.
Так. Використовуйте ring upgrade для попереднього перегляду, потім ring upgrade --apply. Команда зливає системні файли з upstream і ніколи не комітить за вас.
Поглиблення: усі змінні середовища, які читає застосунок, понад мінімальний набір із цієї сторінки.
Передумова: вибір між k8s-postgres-fcm, supabase-fcm і firebase-full.
Наступний крок: упакуйте ту саму збірку в контейнер.
Див. також: що Ringdom запускає для поселенців і чого немає в публічному репозиторії.
Використовуйте вкладки Засновник / Розробник на бічній панелі документації, щоб відфільтрувати цю сторінку. Кроки нижче звірено зі структурою публічного репозиторію: ring/install.sh, ring/web/, ring/cli/, ring/scripts/.
Публічний репозиторій connectplatform/ring (Apache 2.0) містить усе потрібне, щоб запустити клон на одному сервері: застосунок Next.js у web/, майстер install.sh, сплощену схему PostgreSQL, файли Docker і ring CLI. Маніфестів Kubernetes, CI-процесів і конвеєра збирання Ringdom у ньому немає.
Відома проблема: ./install.sh setup-db і npm run db:apply-schema не працюють на свіжому публічному checkout. Перша команда шукає web/scripts/setup-clone-db.sh, друга шукає ring/data/schema.sql, і жодного з цих шляхів після переїзду в web/ не існує. Застосуйте web/data/schema.sql через psql, як показано в кроці 2 нижче.
| Раніше в документації | Поточний публічний репозиторій |
|---|---|
Запустіть scripts/setup-dev.sh, npm run setup:env, scripts/run-migration.sh | Жодного з цих скриптів у публічному дереві немає. Майстром є ./install.sh (режим dev) |
| Застосуйте нумеровані міграції | Нові інсталяції застосовують лише web/data/schema.sql (сплощена v4.1.0) |
cli/ ігнорується git | cli/ постачається публічно. Див. Ring CLI |
docker compose up піднімає повний стек | У закоміченому docker-compose.yml немає сервісу Postgres і немає DB_BACKEND_MODE. У docker-compose.template.yml є і те, і інше |
Один Linux-сервер із Node і PostgreSQL: саме цей шлях описано на сторінці. На оглядовій сторінці порівнюються всі варіанти.
Той самий застосунок у контейнері. Простіші оновлення та відкати на будь-якому хості з Docker.
Хостинг для Next.js. Поєднуйте його із Supabase, власним PostgreSQL або режимом firebase-full.
Для поселенців Ringdom хостинг у Kubernetes, CI і конвеєр розгортання запускають за них.
Ні, не в режимі k8s-postgres-fcm. Без NEXT_PUBLIC_FIREBASE_PROJECT_ID застосунок записує попередження в журнал і вимикає push. Режим firebase-full інший: він потребує ключів AUTH_FIREBASE_*.
Так. Використовуйте ring upgrade для попереднього перегляду, потім ring upgrade --apply. Команда зливає системні файли з upstream і ніколи не комітить за вас.
Поглиблення: усі змінні середовища, які читає застосунок, понад мінімальний набір із цієї сторінки.
Передумова: вибір між k8s-postgres-fcm, supabase-fcm і firebase-full.
Наступний крок: упакуйте ту саму збірку в контейнер.
Див. також: що Ringdom запускає для поселенців і чого немає в публічному репозиторії.
Використовуйте вкладки Засновник / Розробник на бічній панелі документації, щоб відфільтрувати цю сторінку. Кроки нижче звірено зі структурою публічного репозиторію: ring/install.sh, ring/web/, ring/cli/, ring/scripts/.
Публічний репозиторій connectplatform/ring (Apache 2.0) містить усе потрібне, щоб запустити клон на одному сервері: застосунок Next.js у web/, майстер install.sh, сплощену схему PostgreSQL, файли Docker і ring CLI. Маніфестів Kubernetes, CI-процесів і конвеєра збирання Ringdom у ньому немає.
Відома проблема: ./install.sh setup-db і npm run db:apply-schema не працюють на свіжому публічному checkout. Перша команда шукає web/scripts/setup-clone-db.sh, друга шукає ring/data/schema.sql, і жодного з цих шляхів після переїзду в web/ не існує. Застосуйте web/data/schema.sql через psql, як показано в кроці 2 нижче.
| Раніше в документації | Поточний публічний репозиторій |
|---|---|
Запустіть scripts/setup-dev.sh, npm run setup:env, scripts/run-migration.sh | Жодного з цих скриптів у публічному дереві немає. Майстром є ./install.sh (режим dev) |
| Застосуйте нумеровані міграції | Нові інсталяції застосовують лише web/data/schema.sql (сплощена v4.1.0) |
cli/ ігнорується git | cli/ постачається публічно. Див. Ring CLI |
docker compose up піднімає повний стек | У закоміченому docker-compose.yml немає сервісу Postgres і немає DB_BACKEND_MODE. У docker-compose.template.yml є і те, і інше |
Один Linux-сервер із Node і PostgreSQL: саме цей шлях описано на сторінці. На оглядовій сторінці порівнюються всі варіанти.
Той самий застосунок у контейнері. Простіші оновлення та відкати на будь-якому хості з Docker.
Хостинг для Next.js. Поєднуйте його із Supabase, власним PostgreSQL або режимом firebase-full.
Для поселенців Ringdom хостинг у Kubernetes, CI і конвеєр розгортання запускають за них.
Ні, не в режимі k8s-postgres-fcm. Без NEXT_PUBLIC_FIREBASE_PROJECT_ID застосунок записує попередження в журнал і вимикає push. Режим firebase-full інший: він потребує ключів AUTH_FIREBASE_*.
Так. Використовуйте ring upgrade для попереднього перегляду, потім ring upgrade --apply. Команда зливає системні файли з upstream і ніколи не комітить за вас.
Поглиблення: усі змінні середовища, які читає застосунок, понад мінімальний набір із цієї сторінки.
Передумова: вибір між k8s-postgres-fcm, supabase-fcm і firebase-full.
Наступний крок: упакуйте ту саму збірку в контейнер.
Див. також: що Ringdom запускає для поселенців і чого немає в публічному репозиторії.
install.sh, а потім передає вам сервер і секрети з .env.local.Клонуйте репозиторій і запустіть майстер
Режим dev перевіряє систему, створює ring-config.json із ring-config.template.json, якщо файлу немає, виконує npm install, проводить через налаштування Firebase і OAuth та записує web/.env.local з env.local.template зі згенерованим AUTH_SECRET. Поки що відповідайте ні на запитання про базу даних (див. попередження вище).
Створіть базу даних і застосуйте схему
Надайте ролі застосунку доступ до схеми public. Не запускайте data/migrations/*.sql на порожній базі даних. Ці файли вже включено в schema.sql.
Задайте обов'язкове середовище
| Змінна | Навіщо |
|---|---|
DB_BACKEND_MODE=k8s-postgres-fcm | Обов'язкова. PostgreSQL плюс необов'язковий push через FCM. Кластер не обов'язково має бути Kubernetes |
DB_HOST, DB_NAME, DB_USER, DB_PASSWORD | Обов'язкові в цьому режимі (validateBackendModeConfig) |
DB_PORT, DB_SSL | У шаблоні за замовчуванням 5432 і false |
AUTH_SECRET | Шифрування сесій Auth.js |
NEXT_PUBLIC_API_URL, AUTH_URL | Ваш публічний origin |
PAYMENT_DEFAULT_PROCESSOR | wayforpay, stripe або paypal |
NEXT_PUBLIC_FIREBASE_PROJECT_ID | Необов'язкова. Якщо її немає, push вимкнено |
Зберіть, запустіть і перевірте стан
npm start запускає власний server.ts, а не next start. Тримайте його під менеджером процесів, наприклад systemd. З кореня репозиторію npm run build і npm start делегують виконання в web/ через scripts/run-web.sh.
install.sh./install.sh prod пропонує три варіанти: Vercel (встановлює Vercel CLI, виконує vercel --prod), Ubuntu через SSH і Kubernetes. Варіант Kubernetes застосовує k8s/*.yaml лише тоді, коли ви самі створили каталог k8s/. Для контейнерів почніть із Dockerfile (багатоетапний node:25-alpine, ціль runtime, порт 3000) і docker-compose.template.yml.
| Шлях | Причина |
|---|---|
Маніфести і секрети k8s/ | Продакшн-топологія Ringdom |
Процеси .forgejo/ | Вилучаються з дзеркала на GitHub скриптом scripts/push-github-oss.sh |
Order Lab (features/crm/lab, my-orders, my-jobs, маршрути калькулятора) | Лише в empire-оверлеї. Це контролює scripts/check-no-org-leak.sh |
install.sh, а потім передає вам сервер і секрети з .env.local.Клонуйте репозиторій і запустіть майстер
Режим dev перевіряє систему, створює ring-config.json із ring-config.template.json, якщо файлу немає, виконує npm install, проводить через налаштування Firebase і OAuth та записує web/.env.local з env.local.template зі згенерованим AUTH_SECRET. Поки що відповідайте ні на запитання про базу даних (див. попередження вище).
Створіть базу даних і застосуйте схему
Надайте ролі застосунку доступ до схеми public. Не запускайте data/migrations/*.sql на порожній базі даних. Ці файли вже включено в schema.sql.
Задайте обов'язкове середовище
| Змінна | Навіщо |
|---|---|
DB_BACKEND_MODE=k8s-postgres-fcm | Обов'язкова. PostgreSQL плюс необов'язковий push через FCM. Кластер не обов'язково має бути Kubernetes |
DB_HOST, DB_NAME, DB_USER, DB_PASSWORD | Обов'язкові в цьому режимі (validateBackendModeConfig) |
DB_PORT, DB_SSL | У шаблоні за замовчуванням 5432 і false |
AUTH_SECRET | Шифрування сесій Auth.js |
NEXT_PUBLIC_API_URL, AUTH_URL | Ваш публічний origin |
PAYMENT_DEFAULT_PROCESSOR | wayforpay, stripe або paypal |
NEXT_PUBLIC_FIREBASE_PROJECT_ID | Необов'язкова. Якщо її немає, push вимкнено |
Зберіть, запустіть і перевірте стан
npm start запускає власний server.ts, а не next start. Тримайте його під менеджером процесів, наприклад systemd. З кореня репозиторію npm run build і npm start делегують виконання в web/ через scripts/run-web.sh.
install.sh./install.sh prod пропонує три варіанти: Vercel (встановлює Vercel CLI, виконує vercel --prod), Ubuntu через SSH і Kubernetes. Варіант Kubernetes застосовує k8s/*.yaml лише тоді, коли ви самі створили каталог k8s/. Для контейнерів почніть із Dockerfile (багатоетапний node:25-alpine, ціль runtime, порт 3000) і docker-compose.template.yml.
| Шлях | Причина |
|---|---|
Маніфести і секрети k8s/ | Продакшн-топологія Ringdom |
Процеси .forgejo/ | Вилучаються з дзеркала на GitHub скриптом scripts/push-github-oss.sh |
Order Lab (features/crm/lab, my-orders, my-jobs, маршрути калькулятора) | Лише в empire-оверлеї. Це контролює scripts/check-no-org-leak.sh |
install.sh, а потім передає вам сервер і секрети з .env.local.Клонуйте репозиторій і запустіть майстер
Режим dev перевіряє систему, створює ring-config.json із ring-config.template.json, якщо файлу немає, виконує npm install, проводить через налаштування Firebase і OAuth та записує web/.env.local з env.local.template зі згенерованим AUTH_SECRET. Поки що відповідайте ні на запитання про базу даних (див. попередження вище).
Створіть базу даних і застосуйте схему
Надайте ролі застосунку доступ до схеми public. Не запускайте data/migrations/*.sql на порожній базі даних. Ці файли вже включено в schema.sql.
Задайте обов'язкове середовище
| Змінна | Навіщо |
|---|---|
DB_BACKEND_MODE=k8s-postgres-fcm | Обов'язкова. PostgreSQL плюс необов'язковий push через FCM. Кластер не обов'язково має бути Kubernetes |
DB_HOST, DB_NAME, DB_USER, DB_PASSWORD | Обов'язкові в цьому режимі (validateBackendModeConfig) |
DB_PORT, DB_SSL | У шаблоні за замовчуванням 5432 і false |
AUTH_SECRET | Шифрування сесій Auth.js |
NEXT_PUBLIC_API_URL, AUTH_URL | Ваш публічний origin |
PAYMENT_DEFAULT_PROCESSOR | wayforpay, stripe або paypal |
NEXT_PUBLIC_FIREBASE_PROJECT_ID | Необов'язкова. Якщо її немає, push вимкнено |
Зберіть, запустіть і перевірте стан
npm start запускає власний server.ts, а не next start. Тримайте його під менеджером процесів, наприклад systemd. З кореня репозиторію npm run build і npm start делегують виконання в web/ через scripts/run-web.sh.
install.sh./install.sh prod пропонує три варіанти: Vercel (встановлює Vercel CLI, виконує vercel --prod), Ubuntu через SSH і Kubernetes. Варіант Kubernetes застосовує k8s/*.yaml лише тоді, коли ви самі створили каталог k8s/. Для контейнерів почніть із Dockerfile (багатоетапний node:25-alpine, ціль runtime, порт 3000) і docker-compose.template.yml.
| Шлях | Причина |
|---|---|
Маніфести і секрети k8s/ | Продакшн-топологія Ringdom |
Процеси .forgejo/ | Вилучаються з дзеркала на GitHub скриптом scripts/push-github-oss.sh |
Order Lab (features/crm/lab, my-orders, my-jobs, маршрути калькулятора) | Лише в empire-оверлеї. Це контролює scripts/check-no-org-leak.sh |