Run locally
Запуск Auth Center локально: БД, Redis, зависимости, сервер.
Предусловия¶
| Инструмент | Версия |
|---|---|
| Dart SDK | 3.8+ |
| Serverpod CLI | dart pub global activate serverpod_cli 3.4.8 |
| Docker | любая актуальная |
Шаг 1: PostgreSQL¶
docker run -d --name pg -p 5432:5432 \
-e POSTGRES_USER=user-app-dev \
-e POSTGRES_PASSWORD=Asd123321 \
-e POSTGRES_DB=onewallet_dev \
postgres:15
Параметры из config/development.yaml:
| Параметр | Значение |
|---|---|
| host | localhost (замените 10.10.10.19 в development.yaml если нужно) |
| port | 5432 |
| name | onewallet_dev |
| user | user-app-dev |
| searchPaths | public |
Шаг 2: Redis¶
Redis используется опционально (redis.enabled: false по умолчанию в development.yaml). Если нужен для уведомлений или будущих фич:
Пароль Redis из config/passwords.yaml: Asd123321.
Шаг 3: passwords.yaml¶
Скопируйте или создайте onewallet_base_server/config/passwords.yaml со следующими ключами (минимальный набор для локального запуска):
development:
database: 'Asd123321'
redis: 'Asd123321'
pmBaseUrl: 'http://localhost:3000'
pmHmacSecret: 'dev-secret-auth-center-change-in-prod'
invoiceQrSecret: 'dev-invoice-qr-secret-change-in-prod'
kycServiceSecret: 'dev-kyc-secret-change-in-prod'
s3Endpoint: 'https://s3.1-wallet.app/'
# SMTP — можно оставить пустым для локальной разработки
smtpHost: 'localhost'
smtpPort: '1025'
Полный список ключей смотрите в config/passwords.ci.yaml как reference.
Шаг 4: Запуск¶
cd onewallet_base_server
# Установить зависимости
dart pub get
# Регенерировать клиентский код (нужно после изменений моделей/эндпоинтов)
serverpod generate
# Применить миграции БД (первый раз и после каждой новой миграции)
dart bin/main.dart --apply-migrations
# Запустить сервер
dart bin/main.dart
Проверка¶
После успешного старта сервер слушает на трёх портах:
| Порт | Назначение |
|---|---|
8080 |
API (Serverpod RPC) |
8081 |
Insights (метрики, дашборд) |
8082 |
Web server |
Проверить:
# API отвечает
curl http://localhost:8080/
# Insights дашборд
open http://localhost:8081/
# Логи сервера — в консоли, формат text (development.yaml: consoleLogFormat: text)
Типичные ошибки при старте:
- Connection refused на порту 5432 — PostgreSQL не запущен
- password authentication failed — неверный пароль в passwords.yaml
- relation "..." does not exist — не применены миграции (--apply-migrations)
- pmBaseUrl ошибки — Payment Manager не запущен (не блокирует старт, только PM-вызовы)