Развёртывание
Это руководство проведёт вас через установку Observer на сервер, где ваша команда сможет с ним работать. Глубокие технические знания не требуются — если вы можете подключиться к серверу по SSH и выполнить несколько команд, вы справитесь.
Docker (рекомендуется)
Это самый простой путь. Observer поставляется как единый Docker-образ со встроенным веб-интерфейсом — ничего дополнительного устанавливать или настраивать на стороне фронтенда не нужно.
Что вам потребуется
- Сервер с установленными Docker и Docker Compose
- Доменное имя, направленное на ваш сервер (для HTTPS)
Шаг 1: Генерация ключей подписи
Observer использует RSA-ключи для подписи токенов входа. Выполните эти команды на вашем сервере для их создания:
mkdir -p keys
openssl genrsa -out keys/jwt_rsa 4096
openssl rsa -in keys/jwt_rsa -pubout -out keys/jwt_rsa.pubХраните эти ключи в безопасности. Если вы их потеряете, всем пользователям придётся войти заново.
Шаг 2: Настройка окружения
Скопируйте файл примера окружения и отредактируйте его под вашу конфигурацию:
cp .env.example .envНаиболее важные переменные:
| Переменная | Назначение | По умолчанию |
|---|---|---|
DATABASE_DSN | Подключение Observer к PostgreSQL | (обязательна) |
REDIS_URL | Подключение Observer к Redis | redis://localhost:6379/0 |
JWT_PRIVATE_KEY_PATH | Путь к приватному ключу из шага 1 | keys/jwt_rsa |
JWT_PUBLIC_KEY_PATH | Путь к публичному ключу из шага 1 | keys/jwt_rsa.pub |
CORS_ORIGINS | Ваш домен (напр. https://observer.yourorg.org) | http://localhost:5173 |
COOKIE_SECURE | Установите true при использовании HTTPS (нужно) | true |
SERVER_HOST | Адрес для прослушивания | localhost |
SERVER_PORT | Порт для прослушивания | 9000 |
Полный список см. в разделе Переменные окружения.
Шаг 3: Запуск Observer
docker compose up -dЭта команда запускает PostgreSQL, Redis и Observer. Схема базы данных создаётся автоматически при первом запуске — ручной шаг миграции не требуется.
Шаг 4: Проверка работоспособности
curl http://localhost:9000/healthВы должны увидеть:
{ "status": "healthy", "timestamp": "..." }Если вы видите это, Observer готов к работе. Откройте ваш домен в браузере для доступа к веб-интерфейсу.
Без Docker (VPS / bare metal)
Если вы предпочитаете запускать Observer напрямую, соберите бинарный файл:
CGO_ENABLED=0 go build -tags production -ldflags="-s -w" -o observer ./cmd/observerФлаг -tags production встраивает веб-интерфейс в бинарный файл. Вы получаете один файл, который можно скопировать куда угодно.
Запустите его:
./observer serve --host 0.0.0.0Вам потребуются PostgreSQL и Redis, запущенные отдельно. Направьте на них DATABASE_DSN и REDIS_URL.
Настройка HTTPS
Observer всегда следует запускать за обратным прокси, который обеспечивает HTTPS. Это защищает учётные данные и персональные данные шифрованием при передаче.
Caddy — самый простой вариант — он автоматически управляет сертификатами:
observer.yourorg.org {
reverse_proxy localhost:9000
}Если вы используете Nginx или другой прокси, убедитесь, что установлены:
COOKIE_SECURE=trueв вашем окруженииCORS_ORIGINSна ваш реальный домен (напр.https://observer.yourorg.org)