Цей посібник проведе вас через встановлення 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 підключається до Redisredis://localhost:6379/0
JWT_PRIVATE_KEY_PATHДе знаходиться приватний ключ із Кроку 1keys/jwt_rsa
JWT_PUBLIC_KEY_PATHДе знаходиться публічний ключ із Кроку 1keys/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)