Архыз.CLUB — все ссылки и доступы
Назначение: единая точка входа для разработчика. Здесь все URL, креды, IP, демо-аккаунты, инструменты мониторинга.
Документ обновляется по факту изменений в infra/routes.config.mjs / docker-compose*.yml / .env.production.
1. Прод-фронтенды
| Роль / Назначение |
URL |
Контейнер |
| 👤 Турист (главная) |
https://arkhyz-club.ru |
arkhyz-tourist-app (nginx, port 80) |
| 🔧 Админ + многороле SPA |
https://admin.arkhyz-club.ru |
arkhyz-admin-web-v4 (nginx) |
| 📱 Tourist mobile app (web build) |
https://app.arkhyz-club.ru |
tourist-app (тот же, alias) |
| 🏨 Отельер ЛК |
https://hotel.arkhyz-club.ru |
arkhyz-hotelier-web |
| 🍽️ Ресторатор ЛК |
https://restaurant.arkhyz-club.ru |
arkhyz-restaurant-web |
| 🚖 Трансфер-провайдер ЛК |
https://transfer.arkhyz-club.ru |
arkhyz-transfer-web |
| 🎿 Инструктор ЛК |
https://instructor.arkhyz-club.ru |
arkhyz-instructor-web |
| 🌍 Туроператор ЛК |
https://touroperator.arkhyz-club.ru |
arkhyz-touroperator-web |
| 🧪 Stage / preview |
https://stage.arkhyz-club.ru |
те же контейнеры, отдельный домен |
| 🔌 Public API |
https://api.arkhyz-club.ru |
hotel_api_v2 + микросервисы |
SPA-роутинг внутри admin.arkhyz-club.ru:
- /admin/* — админка
- /hotelier/* — кабинет отельера (тот же SPA, role-based)
- /restaurateur/* — кабинет ресторатора
- /instructor/*, /tour-operator/*, /transfer-provider/*
- /tourist/* — фолбэк туристский UI (для админа в режиме «глазами туриста»)
2. Backend сервисы
| Сервис |
Где живёт |
Назначение |
hotel_api_v2 (monolith) |
api-admin/app/ |
Legacy FastAPI — auth, bookings, /admin/*, отчёты |
auth-svc |
services/auth-svc/ |
SMS-логин (/auth/sms/send-code / verify-code), tokens |
catalog-svc |
services/catalog-svc/ |
Каталог hotels/tours/restaurants/transfers/instructors/companies |
booking-svc |
services/booking-svc/ |
Commission-first брони (5 типов услуг), /admin/commissions/*, refunds |
resort-svc |
services/resort-svc/ |
GPS-трекинг, ski-pass, lifts, weather, leaderboard |
chat-svc |
services/chat-svc/ |
Чат, поддержка, отзывы |
rtc-svc |
services/rtc-svc/ |
WebSocket realtime, calls, SOS |
analytics-svc |
services/analytics-svc/ |
События, dashboard метрики |
platform-svc |
services/platform-svc/ |
Уведомления, settings, files, push |
social-svc |
services/social-svc/ |
Favorites, social-graph |
stories-svc |
services/stories-svc/ |
Истории туристов |
gamification-svc |
services/gamification-svc/ |
Бейджи, прогресс, leaderboard |
pass-svc |
services/pass-svc/ |
Ski-pass: /pass/* + alias /ski-pass/*, scans |
arkhyzpay-api |
(/opt/arkhyzpay/) |
Т-Банк escrow gateway (номинальный счёт) |
livekit |
(image livekit/livekit-server:v1.7) |
OSS WebRTC SFU для голосовых беседок |
livekit-egress |
(image livekit/egress:v1.8) |
Запись голосовых каналов в S3 (opus/ogg) |
coturn |
(image coturn/coturn) |
TURN для звонков 1-на-1 |
error-collector |
(custom) |
Sentry-lite, принимает envelope от sdk → SQLite |
telegram-relay |
(systemd unit arkhyz-telegram-relay) |
Alertmanager → Telegram алерты (нужен VPN) |
Все health-эндпоинты: GET https://<service>:8000/health (HEAD тоже работает с 29cfabfc4).
Платежи (PSP routing)
Все 6 точек создания платежей в booking-svc идут через единый router services/booking-svc/app/psp.py:
1. Restaurant commission (legacy_booking_compat.py:507)
2. Tour / Transfer / Instructor / Hotel commission (_finalize_commission_response)
3. Legacy manual repay (routers/payments.py /payments/process)
Выбор провайдера:
- payment_settings.provider (per-owner override) → yookassa | arkhyzpay
- public.settings.payment_provider_default (глобальный default, по умолчанию yookassa)
- Fallback на yookassa
Voice recording (Phase R-voice)
Flow:
1. Пользователь в беседке нажимает 🎙 Голосовой канал → POST /forums/{id}/voice/token → join LiveKit room besedka-<forum_id>
2. Инициатор/автор темы жмёт ● Запись → POST /forums/{id}/voice/recording/start → backend через twirp StartRoomCompositeEgress ставит задание в Redis → Egress воркер забирает → ffmpeg → opus/ogg → S3
3. POST /forums/{id}/voice/recording/stop → StopEgress твирп
4. По завершению — LiveKit webhook egress_ended → backend заполняет forum_voice_rooms.recording_url, recording_duration_s
5. GET /forums/{id}/voice/recordings → список с URL для воспроизведения
Конфиг:
- infra/livekit/livekit.yaml — webhook на /api/v1/forums/voice/webhook, общий Redis для job queue
- infra/livekit/egress.yaml — Redis + S3 (TWC ru-1) + ws_url to livekit
- Env vars (.env.prod): LIVEKIT_API_KEY/SECRET, LIVEKIT_EGRESS_URL=http://livekit:7880, LIVEKIT_RECORDINGS_BUCKET=<S3>, S3_*
GDPR / 152-ФЗ endpoints (api-admin)
| Endpoint |
Метод |
Что делает |
/api/v1/me/export |
GET |
Экспорт всех ПД пользователя (профиль, брони, платежи, чаты) → JSON blob |
/api/v1/me |
DELETE |
Удаление аккаунта: ПД обезличиваются, бронирования/платежи остаются (бухучёт) |
/api/v1/me/consent |
POST |
Аудит согласия на обработку ПД (версия политики, IP, время) |
3. Supabase (self-hosted)
| Что |
URL / Доступ |
| Public API (PostgREST + Realtime + Storage + Auth + Edge Fn) |
https://supabase.arkhyz-club.ru |
| Studio (GUI) |
https://studio.arkhyz-club.ru |
| Kong proxy port (intra-network) |
kong:9600 (внутри arkhyz_supa_net) |
Anon JWT (в .env.production) |
eyJhbGciOiJIUzI1NiIsIn...c5GNT1f-QqL-eORfVz970 |
| Service Role JWT |
в env SERVICE_ROLE_KEY (только на сервере) |
| Postgres DB |
arkhyz-supabase-db:5432 (внутри docker, нет внешнего port) |
| PostgreSQL credentials |
user postgres, password в .env.prod → POSTGRES_PASSWORD |
Edge Functions:
- Папка: supabase/functions/<name>/index.ts
- Деплой: gh workflow run deploy-supabase-functions.yml
- Endpoint: https://supabase.arkhyz-club.ru/functions/v1/<name>
- ⚠️ Известный баг self-hosted edge-runtime: ERR_MODULE_NOT_FOUND для bind-mount функций. Для критичных функций используем RPC bypass (см. BookingInlineDateRange.tsx как пример).
4. Мониторинг и логи
| Что |
URL |
Auth |
| 🔥 Self-hosted Sentry (error-collector) |
https://errors.arkhyz-club.ru |
внутренний токен (DSN в env SENTRY_DSN) |
| 📊 Monitor gateway (Grafana / Prometheus / Alertmanager) |
https://monitor.arkhyz-club.ru |
basic-auth: admin / Arkhyz_monitor_2026! |
| Grafana панели |
через monitor.arkhyz-club.ru |
то же basic-auth |
| Prometheus targets |
через monitor.arkhyz-club.ru/prometheus |
то же |
| pgAdmin (БД GUI) |
контейнер arkhyz-pgadmin (не expose'нут наружу) |
env PGADMIN_DEFAULT_EMAIL / PASSWORD |
| ClickHouse UI |
контейнер arkhyz-clickhouse-ui |
внутренний |
| Superset |
контейнер arkhyz-superset |
внутренний |
CLI access к логам:
ssh -i ~/.ssh/arkhyz_prod root@arkhyz-club.ru \
"sudo docker logs --since 1h arkhyz-booking-svc 2>&1 | tail -50"
5. Демо-аккаунты (SMS-логин)
SMS-код для всех демо-номеров +79990000XXX — 1111 (backdoor в auth-svc).
| Роль |
Email |
Phone |
Пароль (если по email) |
| Турист |
tourist@arkhyz-club.ru |
+7 999 000 0001 |
123123 |
| Админ |
admin@arkhyz-club.ru |
+7 999 000 0002 |
123123 |
| Отельер |
hotelier@arkhyz-club.ru |
+7 999 000 0003 |
123123 |
| Туроператор |
comgruztaxi@gmail.com |
+7 999 000 0004 |
123123 |
| Трансфер |
transfer-provider@arkhyz-club.ru |
+7 999 000 0005 |
123123 |
| Ресторатор |
restaurateur_fixed@arkhyz-club.ru |
+7 999 000 0006 |
123123 |
| Инструктор |
instructor@arkhyz-club.ru |
+7 999 000 0007 |
123123 |
Реальный тестовый турист (с накопленной историей):
- email: tourist1357@arkhyz.test, id 579e72d3-988b-497c-8ca0-bb07305b8b47
- 20 room + 16 tour + 11 restaurant + 8 transfer + 6 instructor brons
6. GitHub / CI
| Что |
URL |
| Repo |
https://github.com/andis777/arkhyz-admin-main |
| Owner |
andis777 (User account) |
| Workflows |
https://github.com/andis777/arkhyz-admin-main/actions |
| Self-hosted runner |
arkhyz-stage (id 21, на проде) |
Ключевые workflows:
- auto-deploy-backend.yml — авто-деплой при push в main
- admin-frontend-rebuild.yml — пересборка admin SPA
- deploy-supabase-functions.yml — деплой edge functions через Supabase CLI
⚠️ CI billing: GitHub Actions на private repo требует spending limit. Если runs startup_failure за 1с — проверь https://github.com/settings/billing/spending_limit.
7. Прод-сервер (SSH)
| Что |
Значение |
| Host |
arkhyz-club.ru (resolves автоматически) |
| User |
root |
| SSH ключ (локально у Roman) |
~/.ssh/arkhyz_prod |
| Платформа контейнеров |
podman + docker compose wrapper |
| Compose файлы |
/root/arkhyz-admin-main/docker-compose*.yml |
| Deploy скрипты |
/root/arkhyz-admin-main/scripts/deploy-svc.sh <svc> |
| Marker script |
/usr/local/bin/arkhyz-deploy.sh <target> (marker / frontend / caddy / all) |
| Auto-deploy timer |
arkhyz-auto-deploy.timer (каждые ~30 мин, git pull + rebuild dirty) |
| Disk cleanup timer |
arkhyz-disk-cleanup.timer (Sun 03:00, journal+image+log prune) |
Команды:
# Manual deploy одного сервиса
sudo bash /root/arkhyz-admin-main/scripts/deploy-svc.sh booking-svc
# Manual marker (grafana annotation)
sudo /usr/local/bin/arkhyz-deploy.sh marker
# Frontend rebuild (vite + nginx copy)
sudo /usr/local/bin/arkhyz-deploy.sh frontend
# Логи микросервиса
sudo docker logs -f --tail 100 arkhyz-booking-svc
8. Платёжные системы
| Провайдер |
URL / Прокси |
Назначение |
| YooKassa (default) |
https://api.yookassa.ru/v3 |
Стандартный YK-flow, env YOOKASSA_SHOP_ID/SECRET_KEY |
| arkhyzpay (alternative) |
https://pay.arkhyz-club.ru (контейнеры arkhyzpay-{api,ui,postgres}) |
Свой шлюз через Т-Банк номинальный счёт |
Переключение default: /admin/payment-settings → radio YooKassa ↔ arkhyzpay (требует admin role).
Глобальный setting в public.settings.payment_provider_default.
Per-provider override: в payment_settings для каждого user_id. Поля nominal_account_bik/number/holder — для расчётов через Т-Банк.
9. Mobile app
| Что |
Где |
| Source |
mobile/ (Expo + React Native) |
| Tourist Capacitor (web→APK) |
tourist-app/ + tourist-app/android/ |
| APK build CI |
.github/workflows/tourist-apk-build.yml (self-hosted Linux runner) |
| APK download |
https://arkhyz-club.ru/tourist-app.apk (из admin_web_v4 nginx) |
10. Frontend env (.env.production)
VITE_API_BASE_URL=/api/v1 # Caddy strip → микросервисы
VITE_SUPABASE_URL=https://supabase.arkhyz-club.ru
VITE_SUPABASE_ANON_KEY=eyJ...
VITE_YAMAPS_API_KEY=45bcab79-...
VITE_FORCE_EDGE_PROXY=false # ⚠️ true ломает /admin/users (edge fn 502)
VITE_ENABLE_AI_SEARCH=true # AI поиск отелей
11. Routing (Caddy)
- Source-of-truth:
infra/routes.config.mjs
- Генератор:
node scripts/gen-routes.mjs → пишет Caddyfile, Caddyfile.prod, Caddyfile.local
- ❌ Не править Caddyfile вручную — CI ловит
git diff --exit-code после re-gen
Применение на проде:
sudo docker cp Caddyfile.prod arkhyz-caddy:/etc/caddy/Caddyfile.new
sudo docker exec arkhyz-caddy sh -c 'cat /etc/caddy/Caddyfile.new > /etc/caddy/Caddyfile && rm /etc/caddy/Caddyfile.new && caddy reload --config /etc/caddy/Caddyfile'
12. Полезные SQL / cheat-sheets
Подключение к БД с сервера:
sudo docker exec -it arkhyz-supabase-db psql -U postgres -d postgres
Список app-ролей PostgreSQL (для tourist/hotelier/admin/etc PostgREST SET ROLE):
SELECT rolname FROM pg_roles
WHERE rolname IN ('tourist','hotelier','admin','restaurateur',
'instructor','tour_operator','transfer_provider')
ORDER BY rolname;
Все pending платежи > 24h (для cleanup):
SELECT id, service_type, amount, created_at
FROM public.payments
WHERE status='pending' AND created_at < NOW() - INTERVAL '24 hours';
Тест endpoint'а с admin-токеном (с сервера):
TOKEN=$(curl -s -X POST "https://admin.arkhyz-club.ru/api/v1/auth/sms/verify-code" \
-H "Content-Type: application/json" -d '{"phone":"+79990000002","code":"1111"}' \
| python3 -c "import sys,json;print(json.load(sys.stdin).get('access_token',''))")
curl -s -H "Authorization: Bearer $TOKEN" "https://admin.arkhyz-club.ru/api/v1/admin/commissions/roles"
13. Известные ограничения / гайды
- Edge-functions self-hosted иногда падают
ERR_MODULE_NOT_FOUND (bind-mount + import_map конфликт). Решение: RPC-bypass или supabase functions deploy через CLI.
- Kong DNS cache — после --force-recreate любого upstream'а Kong нужно reload'ить (теперь auto через
deploy-svc.sh с b67f3d773).
- Build на проде vite-build admin SPA = ~18с, tourist-app = ~3с. Если
docker compose build --no-cache ронял kernel soft-lockup — RAM 8GB+ обязательно.
- GitHub Actions billing — private repo на Free plan ограничен 2000 мин/мес. Self-hosted runners бесплатны, но при превышении лимита GitHub-hosted блокируется все, включая self-hosted (известный глюк).
- Дискспейс — на проде 154GB volume. Auto-cleanup еженедельно (Sun 03:00). При свободном <10GB сервер уходит в kernel soft-lockup.
14. Контакты команды
| Роль |
Лицо |
| Lead Dev |
Roman (это репо) |
| Деплой |
Roman + auto-deploy timer |
| Sentry alerts |
errors.arkhyz-club.ru → Slack/Telegram (если настроено) |
| Поддержка |
telegram @arkhyzclub_support (из platform.app_config) |
Аварийный телефон (resort) (из app_config): +7 928 655 01 12
15. SECRETS (internal — приватный repo)
⚠️ Этот раздел содержит prod-секреты. НЕ копировать в публичный repo / Slack / email.
Источник правды — /root/arkhyz-admin-main/.env и .env.prod на проде (ssh root@arkhyz-club.ru).
При rotation любого ключа — обновлять и здесь, и на проде, и в GitHub Actions secrets.
15.1. JWT / Auth
| Var |
Значение |
Где используется |
JWT_SECRET / HOTEL_API_JWT_SECRET |
yfYOFK_U7S_63OXVpdi2Ec7REAAPRE4LrdvwzyrxZ9OSCURTSNpl5N0r5_V3EAEL |
auth-svc, hotel_api_v2, все микросервисы (через shared verify_jwt) |
HOTEL_API_JWT_SECRET_PREV |
(не задан) |
Для graceful rotation — задать = старый ключ, новый в основную, через 30д убрать |
PGRST_JWT_SECRET |
то же что JWT_SECRET |
PostgREST для verify Supabase JWT (должен совпадать с SERVICE_ROLE_KEY issuer) |
SECRET_KEY_BASE |
arkhyz-club-super-secret-key-base-2025-production-safe-realtime-phoenix-elixir-64b |
Supabase Realtime (Phoenix) |
SMS_CODE_PEPPER |
arkhyz-club-sms-pepper-2025 |
SMS-код хэшируется с pepper до записи в БД |
15.2. Supabase
| Var |
Значение |
SUPABASE_URL (внутри prod) |
http://arkhyz-supabase-kong:9600 |
VITE_SUPABASE_URL (фронт) |
https://supabase.arkhyz-club.ru |
ANON_KEY / SUPABASE_ANON_KEY |
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoiYW5vbiIsImlzcyI6InN1cGFiYXNlIiwiaWF0IjoxNzcyMjA1MDMzLCJleHAiOjIwODc1NjUwMzN9.l81aqmPSRb8_K8Fqz8ps378VCRWOze9B94u5kggLPio |
SERVICE_ROLE_KEY / SUPABASE_SERVICE_ROLE_KEY |
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoic2VydmljZV9yb2xlIiwiaXNzIjoic3VwYWJhc2UiLCJpYXQiOjE3NzIyMDUwMTEsImV4cCI6MjA4NzU2NTAxMX0.ESts_aMBE45RoYYxodb63Ivao3LGO3qzladtxtZcHyQ |
15.3. Postgres
| Var |
Значение |
DATABASE_URL |
postgresql://postgres:postgres@arkhyz-supabase-db:5432/postgres |
POSTGRES_USER / POSTGRES_PASSWORD / POSTGRES_DB |
postgres / postgres / postgres |
PGRST_DB_URI |
postgres://authenticator:postgres@db:5432/postgres |
| pgAdmin URL |
http://pgadmin.arkhyz-club.ru (basic-auth admin / Arkhyz_monitor_2026!) |
15.4. Redis
| Var |
Значение |
REDIS_URL (services) |
redis://arkhyz-redis:6379/3 |
REDIS_URL_CHAT |
redis://arkhyz-redis:6379/4 |
| LiveKit + Egress Redis |
arkhyz-redis:6379 (DB 0, общий для job queue) |
15.5. S3 (TWC Storage, ru-1)
| Var |
Значение |
S3_ENDPOINT_URL |
https://s3.twcstorage.ru |
S3_REGION |
ru-1 |
S3_ACCESS_KEY_ID |
TGDDFE5RU55I6YC5CNA0 |
S3_SECRET_ACCESS_KEY |
oikTR9UCCNLLmDd6JWFYkdF7Gg5sQzCZSbrInBCU |
S3_BUCKET_NAME |
8c99fe9c-2493b678-6115-46ce-bb7e-e512138e4c9b |
LIVEKIT_RECORDINGS_BUCKET |
то же — recordings в besedka/ |
Health probe: bash scripts/check-recordings-bucket.sh (cron /etc/cron.d/arkhyz-recordings-check — 04:00 daily).
15.6. LiveKit (WebRTC + Egress)
| Var |
Значение |
LIVEKIT_API_KEY |
APIarkhyzCSHZ3jsGN2J5 |
LIVEKIT_API_SECRET |
KMu4FR0SR-wEfdjnxTIT1Oc_SKwEKnNWQBlJqVqnoZFUd5V4qB8A9g |
LIVEKIT_WS_URL (frontend) |
wss://livekit.arkhyz-club.ru |
LIVEKIT_EGRESS_URL (backend, internal) |
http://livekit:7880 |
| Webhook (LiveKit → backend) |
https://admin.arkhyz-club.ru/api/v1/forums/voice/webhook (HMAC по LIVEKIT_API_SECRET) |
15.7. coturn (TURN/STUN)
| Var |
Значение |
TURN_EXTERNAL_IP / COTURN_HOST |
85.239.53.191:3478 |
TURN_USER |
arkhyz |
TURN_SECRET / COTURN_SECRET |
7f68fb0b9a67970580d830a8979b23c4c938c2c0886062aa1c3f76e3c532d2cf |
COTURN_TTL |
3600 (1 час по TTL credentials) |
15.8. Платежи
| Var |
Значение |
YOOKASSA_SHOP_ID |
1172293 |
YOOKASSA_SECRET_KEY |
test_sZXmMwSMx6mCTXblQ6sHwVMYTZ6KM-uzunHRRIUjn_M (тестовый — заменить при выходе в прод) |
YOOKASSA_RETURN_URL |
https://arkhyz-club.ru/tourist/booking-history |
ARKHYZPAY_URL (internal) |
http://arkhyzpay-api:8090 (см. /opt/arkhyzpay/) |
ARKHYZPAY_API_TOKEN |
(см. /opt/arkhyzpay/docker-compose.yml env — arkhyz-admin-2026-secret-key) |
| YK webhook IP allowlist |
185.71.76.0/27, 185.71.77.0/27, 77.75.153.0/25, 77.75.156.11/32, 77.75.156.35/32, 77.75.154.128/25, 2a02:5180::/32 |
15.9. SMS / Email
| Var |
Значение |
SMS_RU_API_KEY |
3EF8A58B-DF35-FB57-926C-9C89AA272B70 |
SMTP_HOST |
mail (internal container) |
SMTP_PORT |
25 |
SMTP_FROM |
Архыз.CLUB <no-reply@arkhyz-club.ru> |
SMTP_REPLY_TO |
info@arkhyz-club.ru |
15.10. OAuth (Google, Yandex)
| Var |
Значение |
GOOGLE_OAUTH_CLIENT_ID |
447682621534-8an18l2sep6cfoh5h8fca8gnsf5mr213.apps.googleusercontent.com |
GOOGLE_OAUTH_CLIENT_SECRET |
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 |
GOOGLE_OAUTH_REDIRECT_URI |
https://arkhyz-club.ru/api/v1/auth/oauth/google/callback |
YANDEX_OAUTH_CLIENT_ID |
775362845c5547b4bec5ccce6b6113e3 |
YANDEX_OAUTH_CLIENT_SECRET |
970cfeb550b34b7abc1c456ca5f0b04e |
YANDEX_OAUTH_REDIRECT_URI |
https://arkhyz-club.ru/api/v1/auth/oauth/yandex/callback |
15.11. AI / LLM (OpenRouter)
| Var |
Значение |
OPENAI_API_KEY |
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 |
| Endpoint |
https://openrouter.ai/api/v1 |
| Активная модель |
google/gemini-2.0-flash-001 (5 AI-сервисов — см. api-admin/app/services/ai/*.py) |
15.12. Карты / Геоданные
| Var |
Значение |
VITE_MAPBOX_TOKEN |
pk.eyJ1IjoiYW5kaXM3NzciLCJhIjoiY20zc2xxcTZnMGFlNTJuczJ1NWxudzNoaSJ9.kkh9khJt3BeNQeUTtRHPDw |
VITE_YAMAPS_API_KEY |
45bcab79-18b5-4671-9833-aabe60b80782 |
OPENWEATHER_API_KEY |
9f62f2167df3b6748abb5e918e968ea8 |
15.13. Sentry (self-hosted)
| Var |
Значение |
SENTRY_DSN (Python services) |
https://e6b2a000bd24402d824ce2b13b6bc523@errors.arkhyz-club.ru/2 |
SENTRY_ENV |
stage (поменять на production после готовности) |
SENTRY_TRACES_RATE |
0.1 |
| Collector UI |
https://errors.arkhyz-club.ru (basic-auth admin / Arkhyz_monitor_2026!) |
15.14. Подключение к серверу
| Что |
Как |
| SSH |
ssh -i ~/.ssh/arkhyz_prod root@arkhyz-club.ru |
| External IP |
85.239.53.191 |
| Repo на сервере |
/root/arkhyz-admin-main/ |
| Логи всех сервисов |
journalctl -u arkhyz-auto-deploy -f / docker logs -f arkhyz-<svc> |
| Backup recordings |
/opt/arkhyz-backup/ + S3 besedka/ |
15.15. GitHub / CI
| Что |
Где |
| Repo |
https://github.com/andis777/arkhyz-admin-main (private) |
| Self-hosted runner |
label arkhyz-prod (3 workflow: routes-drift, tests, ui-visual-regression) |
| Secrets (Settings → Secrets) |
SUPABASE_PROJECT_REF, SUPABASE_ACCESS_TOKEN, S3_*, LIVEKIT_*, и т.д. |
| GitHub Actions billing |
требует $1 spending limit (Settings → Billing) — иначе все cloud workflows блокируются |
Последнее обновление: 2026-05-28. Если что-то устарело — grep -rn "old-domain-name" docs/PROJECT_ACCESS.md и PR.