docs: record rf4spotter deployment status
This commit is contained in:
@@ -20,6 +20,8 @@ Production-контур для домена `rf4spotter.ru`, TLS, секреты
|
|||||||
|
|
||||||
Host-side мониторинг контейнеров, readiness, диска, резервных копий и TLS описан в [`docs/production-monitoring.md`](docs/production-monitoring.md).
|
Host-side мониторинг контейнеров, readiness, диска, резервных копий и TLS описан в [`docs/production-monitoring.md`](docs/production-monitoring.md).
|
||||||
|
|
||||||
|
Фактическое состояние DNS/TLS домена и серверный чек-лист ведутся в [`docs/deployment-status.md`](docs/deployment-status.md).
|
||||||
|
|
||||||
Gitea Actions workflow `.gitea/workflows/ci.yml` на каждый push и pull request проверяет Python, миграции на чистой PostgreSQL, Astro build и полный Compose/Playwright-сценарий. При падении E2E сохраняются логи контейнеров и Playwright-артефакты.
|
Gitea Actions workflow `.gitea/workflows/ci.yml` на каждый push и pull request проверяет Python, миграции на чистой PostgreSQL, Astro build и полный Compose/Playwright-сценарий. При падении E2E сохраняются логи контейнеров и Playwright-артефакты.
|
||||||
|
|
||||||
Актуальная инвентаризация источников и правила подключения адаптеров находятся в [`docs/data-source-audit.md`](docs/data-source-audit.md). Разрешённый технический пилот RF4DB/RF4-STAT описан в [`docs/community-source-pilot.md`](docs/community-source-pilot.md), а статус разрешений и лимитов — в [`docs/data-permissions.md`](docs/data-permissions.md). Данные сохраняются только в промежуточный staging и не влияют на индекс без явной проверки и публикации администратором.
|
Актуальная инвентаризация источников и правила подключения адаптеров находятся в [`docs/data-source-audit.md`](docs/data-source-audit.md). Разрешённый технический пилот RF4DB/RF4-STAT описан в [`docs/community-source-pilot.md`](docs/community-source-pilot.md), а статус разрешений и лимитов — в [`docs/data-permissions.md`](docs/data-permissions.md). Данные сохраняются только в промежуточный staging и не влияют на индекс без явной проверки и публикации администратором.
|
||||||
|
|||||||
@@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
Production-контур рассчитан на один Linux-сервер с Docker Compose. Наружу публикуются только Caddy `80/443`; PostgreSQL, FastAPI и MinIO не имеют host-портов. Административные страницы защищены одновременно Caddy Basic Auth и API bearer token.
|
Production-контур рассчитан на один Linux-сервер с Docker Compose. Наружу публикуются только Caddy `80/443`; PostgreSQL, FastAPI и MinIO не имеют host-портов. Административные страницы защищены одновременно Caddy Basic Auth и API bearer token.
|
||||||
|
|
||||||
|
Текущее состояние публичных DNS/TLS и незакрытые инфраструктурные действия ведутся в [`docs/deployment-status.md`](../docs/deployment-status.md).
|
||||||
|
|
||||||
## 1. DNS и сервер
|
## 1. DNS и сервер
|
||||||
|
|
||||||
Создайте A-записи `rf4spotter.ru` и `files.rf4spotter.ru` на публичный IPv4 сервера. При наличии рабочего IPv6 добавьте AAAA для обоих имён. До запуска убедитесь, что извне доступны TCP 80/443 и UDP 443; SSH ограничьте своим IP или VPN. Порты 4321, 8000, 9000, 9001 и 5432 открывать нельзя.
|
Создайте A-записи `rf4spotter.ru` и `files.rf4spotter.ru` на публичный IPv4 сервера. При наличии рабочего IPv6 добавьте AAAA для обоих имён. До запуска убедитесь, что извне доступны TCP 80/443 и UDP 443; SSH ограничьте своим IP или VPN. Порты 4321, 8000, 9000, 9001 и 5432 открывать нельзя.
|
||||||
|
|||||||
+1
-1
@@ -80,7 +80,7 @@
|
|||||||
- [ ] Добавить smoke-проверку административной очереди внешних источников на desktop/mobile без публикации реальных записей.
|
- [ ] Добавить smoke-проверку административной очереди внешних источников на desktop/mobile без публикации реальных записей.
|
||||||
- [ ] Обновить README: архитектура, все переменные окружения, импорт, модерация, backup/restore, эксплуатация логов и известные ограничения.
|
- [ ] Обновить README: архитектура, все переменные окружения, импорт, модерация, backup/restore, эксплуатация логов и известные ограничения.
|
||||||
- [ ] Выбрать лицензию кода и политику использования данных.
|
- [ ] Выбрать лицензию кода и политику использования данных.
|
||||||
- [ ] Завершить production-профиль для `rf4spotter.ru`: Compose, Caddy/TLS, закрытые сервисы, CORS, resource limits, fail-fast секреты, backup/restore, bootstrap и host-side monitor готовы; остаются канал уведомлений и проверка DNS/TLS на целевом сервере.
|
- [ ] Завершить production-профиль для `rf4spotter.ru`: приложение готово; внешняя проверка 6 сентября выявила неверный сертификат `*.timeweb.ru` на корневом домене и отсутствие DNS для `files.rf4spotter.ru`; требуются IP целевого сервера, DNS, запуск и канал уведомлений (`docs/deployment-status.md`).
|
||||||
- [ ] Заменить демонстрационные секреты и определить целевое размещение перед внешней публикацией.
|
- [ ] Заменить демонстрационные секреты и определить целевое размещение перед внешней публикацией.
|
||||||
|
|
||||||
## Источники данных и согласование
|
## Источники данных и согласование
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
# Статус развёртывания rf4spotter.ru
|
||||||
|
|
||||||
|
Последняя внешняя read-only проверка: 6 сентября 2026 года.
|
||||||
|
|
||||||
|
## Что видно публично сейчас
|
||||||
|
|
||||||
|
| Проверка | Результат | Статус |
|
||||||
|
|---|---|---|
|
||||||
|
| `A rf4spotter.ru` | `176.57.210.144` | требует подтверждения, что это IP целевого сервера |
|
||||||
|
| HTTPS `rf4spotter.ru` | сервер отвечает, но сертификат имеет SAN только `*.timeweb.ru` и `timeweb.ru` | не готово |
|
||||||
|
| `A files.rf4spotter.ru` | имя не резолвится | не готово |
|
||||||
|
| HTTPS `files.rf4spotter.ru` | невозможен без DNS | не готово |
|
||||||
|
|
||||||
|
Текущий сертификат выпущен GlobalSign для `*.timeweb.ru`, действует с 17 июня 2026 до 2 января 2027 года и не подтверждает `rf4spotter.ru`. Это похоже на ответ парковочной/хостинговой площадки, но назначение IP необходимо подтвердить в панели DNS или на целевом сервере.
|
||||||
|
|
||||||
|
## Следующие действия на инфраструктуре
|
||||||
|
|
||||||
|
- [ ] Определить публичный IPv4 целевого Linux-сервера и подтвердить доступ по SSH.
|
||||||
|
- [ ] Установить `A` для `rf4spotter.ru` на этот IPv4.
|
||||||
|
- [ ] Установить `A` для `files.rf4spotter.ru` на тот же IPv4.
|
||||||
|
- [ ] Добавлять `AAAA` только при реально настроенном публичном IPv6; иначе удалить ошибочную AAAA.
|
||||||
|
- [ ] Разрешить входящие TCP `80/443` и UDP `443`, не публикуя `4321`, `8000`, `9000`, `9001`, `5432`.
|
||||||
|
- [ ] Дождаться, пока оба имени одинаково резолвятся через несколько публичных резолверов.
|
||||||
|
- [ ] Разместить проект, создать `.env.production`, заменить все заглушки и выполнить production bootstrap из runbook.
|
||||||
|
- [ ] Убедиться, что Caddy получил сертификаты с SAN `rf4spotter.ru` и `files.rf4spotter.ru`.
|
||||||
|
- [ ] Выполнить `curl` для `/`, `/health`, `/ready` и MinIO health через оба домена.
|
||||||
|
- [ ] Создать первую внешнюю резервную копию, запустить `deploy/monitor.sh` и подключить уведомления.
|
||||||
|
|
||||||
|
Не следует отключать TLS verification или сохранять текущий чужой сертификат в исключения: после правильных DNS и доступных портов Caddy должен получить корректный сертификат автоматически.
|
||||||
Reference in New Issue
Block a user