Этот единственный контейнер выполняет все, что ему нужно: без установленного `DATABASE_URL` он запускает свои собственные PostgreSQL и Redis на интерфейсе обратной связи (встроенный режим) и сохраняет все данные в томе `SnapOtter-data`. Это самый быстрый способ опробовать SnapOtter или самостоятельно разместить его в домашней лаборатории. Для производства используйте [канонический стек Docker Compose](#docker-compose), который хранит PostgreSQL и Redis в отдельных контейнерах. Встроенный режим запускается от имени пользователя root (по умолчанию) и автоматически отключается, как только вы устанавливаете `DATABASE_URL`.
Устанавливаете SnapOtter на Raspberry Pi, старый ноутбук или небольшой VPS? В разделе [Установка на маломощном оборудовании](/ru/guide/low-resource) есть пошаговое руководство с подобранными лимитами и описание того, чего ожидать от ограниченного оборудования.
При первом входе вам будет предложено сменить пароль.
::: tip Анонимная продуктовая аналитика
SnapOtter по умолчанию включает анонимную продуктовую аналитику. Чтобы отключить её, откройте **Settings → System → Privacy** и выключите **Anonymous Product Analytics**. Она останавливается немедленно для всего экземпляра.
Вы также можете установить переменную окружения `SNAPOTTER_TELEMETRY=0` (`false` и `off` тоже работают), чтобы отключить всю телеметрию для экземпляра без пересборки.
Мониторинг ошибок работает на базе [Sentry](https://sentry.io), который спонсирует SnapOtter через свою программу для открытого исходного кода.
Подробнее о том, что собирается, см. [Что собирает SnapOtter](/ru/guide/telemetry).
Добавьте `--gpus all` для NVIDIA CUDA-ускоренного удаления фона, масштабирования, улучшения лица и восстановления. OCR остается на базе ЦП и работает в том же образе с доступом к GPU или без него:
Требуется [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html). Автоматически переключается на процессор, когда CUDA недоступна. Ускорение Intel/AMD iGPU через VA-API, Quick Sync или OpenCL сегодня не поддерживается для вывода AI. См. [Docker Tags](/ru/guide/docker-tags) для ознакомления с тестами. Если инструменты ИИ работают на ЦП, несмотря на `--gpus all`, см. [Проверка ускорения графического процессора](/ru/guide/deployment#verify-gpu-acceleration).
Канонический [`docker/docker-compose.yml`](https://github.com/snapotter-hq/SnapOtter/blob/v2.2.0/docker/docker-compose.yml) включает все четыре тома среды выполнения, проверки работоспособности, ограничения ресурсов, устойчивую конфигурацию Redis, закрепленные образы базы данных/кэша и текущее усиление защиты контейнера. Измените пароль администратора по умолчанию сразу после первого входа в систему. Для воспроизводимого развертывания прикрепите образ приложения SnapOtter к проверенному вами тегу выпуска или дайджесту вместо того, чтобы следовать `latest`.
См. [Конфигурация](/ru/guide/configuration) для всех переменных среды и [Безопасность и усиление](/ru/guide/security) для секретов, сетевой политики и инструкций по резервному копированию.
3. Запустите на одном файле или на целом пакете сразу.
4. Сохраните конвейер для повторного использования.
Конвейеры допускают 20 шагов по умолчанию. Установите `MAX_PIPELINE_STEPS=0`, чтобы сделать лимит неограниченным.
### Библиотека файлов {#file-library}
Каждый обработанный вами файл может быть сохранён в вашу библиотеку **Files**. SnapOtter отслеживает полную историю версий, поэтому вы можете проследить каждый шаг обработки от исходной загрузки до финального результата.
Сохранение явное: результаты, которые вы сохраняете в библиотеку, хранятся, пока вы их не удалите, а результаты, которые вы обрабатываете и оставляете несохранёнными, автоматически очищаются через 72 часа (настраивается через `FILE_MAX_AGE_HOURS`).
### REST API и API-ключи {#rest-api-api-keys}
Каждый инструмент доступен по HTTP:
```bash
curl -X POST http://localhost:1349/api/v1/tools/image/resize \
Создавайте API-ключи в разделе **Settings → API Keys**. См. [справочник REST API](/ru/api/rest) для всех эндпоинтов или откройте [http://localhost:1349/api/docs](http://localhost:1349/api/docs) для интерактивного справочника.
### Мультипользовательский режим и команды {#multi-user-teams}
Включите несколько пользователей с управлением доступом на основе ролей:
- **Admin**: полный доступ, управление пользователями, командами, настройками, всеми файлами/конвейерами/API-ключами
- **User**: использование инструментов, управление своими файлами/конвейерами/API-ключами
Создавайте команды в разделе **Settings → Teams** для группировки пользователей.
Установите `AUTH_ENABLED=true` (или `false` для однопользовательского/личного использования без входа).