Self-hosting
Разверните свой SetFork на Docker Compose.
SetFork разворачивается у себя как небольшой стек Docker Compose: приложение на Next.js, PostgreSQL 16 с pgvector и, по желанию, MinIO (S3) + imgproxy для медиа.
Быстрый старт
cp .env.example .env # set AUTH_SECRET: openssl rand -hex 32
npm install
npm run db:up # Postgres (pgvector) in Docker
npm run db:push # apply the schema
npm run db:seed # optional: seed the public library
npm run dev # http://localhost:3000Без каких-либо внешних сервисов приложение полностью работоспособно — на странице входа есть кнопка Continue as demo.
Необязательные интеграции
| Возможность | Что настроить |
|---|---|
| Генерация через ИИ и семантический поиск | Выберите провайдера (OpenRouter / YandexGPT / GigaChat / Selectel) и укажите его ключ в /admin — или через AI_PROVIDER и ключ провайдера в .env; хранится в БД, на клиент не уходит |
| Вход через GitHub | OAuth App + GITHUB_CLIENT_ID / GITHUB_CLIENT_SECRET; callback …/api/auth/github/callback |
| Медиа (аватары, скриншоты) | S3 + imgproxy в /admin; запасной вариант — локальный диск |
| Уведомления по почте | Настройки SMTP |
Администрирование
Админ-панель живёт по адресу /admin; доступ получают хэндлы, перечисленные в переменной
окружения ADMIN_HANDLES. Оттуда вы управляете ИИ-моделями и ключами, медиа,
режимом поиска (keyword / semantic / hybrid), очередью модерации, переиндексацией поиска
и дашбордами по расходу ИИ.
Заметки о продакшене
- Ставьте приложение за обратный прокси с TLS (Caddy, Traefik, nginx).
- Postgres — единственная зависимость с состоянием: делайте бэкап ежедневно
(
pg_dump+ хранение вне хоста) и проверяйте восстановление. - Git-слой хранит bare-репозитории на диске; сохраняйте этот том вместе с базой данных.