SetFork Docs

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; хранится в БД, на клиент не уходит
Вход через GitHubOAuth 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-репозитории на диске; сохраняйте этот том вместе с базой данных.

На этой странице