Команда инженеров · свой ЦОД в РФ · своё железо · своя панель · CloudStack + Linstor · MCP · база знаний по self-hosted
Проверено
16 августа 2026 г.
Запуск
docker compose
Сложность
Средний
Ключевой замер
RAM idle ~829 MiB
Версия
2026.5.4
Репозиторий
GitHub →
Identity и SSO

Authentik: свой сервер единого входа и SSO на своем железе

Self-hosted провайдер идентификации: единый вход для ваших приложений по SAML, OAuth2/OIDC, LDAP и прокси-аутентификации, каталог пользователей и MFA. Развернули 2026.5.4 из официального docker compose на Fatmetal Cloud Server, замерили стек и вошли в админку. Первый обзор серии про self-hosted identity.

Июль 2026 ~9 минут чтения Fatmetal Team
Identity и SSO Лицензия: MIT (ядро) Статус: запущен у нас, v2026.5.4

Вердикт

Подходит
  • кому нужен один вход (SSO) на десяток внутренних приложений вместо отдельных паролей
  • кто уходит с облачных Okta, Auth0 или Entra ID и не хочет платить за активных пользователей
  • кому важно, чтобы каталог пользователей и их ПДн лежали на своем сервере под 152-ФЗ
Не подходит
  • нужна доменная директория и Kerberos для флота Linux-хостов - это задача FreeIPA
  • не готовы держать IdP как критичный сервис с бэкапом БД и защитой админ-потока
Мин. тариф: CPU2-RAM4-DISK50 Рекомендуем: под нагрузку CPU4-RAM8-DISK100 Сложность: medium Время запуска: отклик ~0,37 c Главный риск: потеря БД = потеря всех входов, нужен бэкап postgres Прод-готовность: reverse-proxy + TLS, правильный Host, бэкап БД

Проверено на версии 2026.5.4, июль 2026. На новых версиях результаты могут отличаться.

Что это

Что это и какую задачу решает

Authentik - self-hosted провайдер идентификации (IdP) и сервер единого входа. Он становится единой точкой аутентификации для ваших приложений: одно приложение авторизуется через него по SAML, другое по OAuth2/OIDC, третье получает LDAP-каталог, четвертое закрывается прокси-аутентификацией на входе. Внутри - каталог пользователей и групп, MFA (TOTP и WebAuthn), синхронизация SCIM и настраиваемые потоки входа (flows), которые собираются как конструктор: identification, пароль, второй фактор, согласие.

По задаче это self-hosted замена облачным Okta, Auth0, Microsoft Entra ID и Cloudflare Access. Разница не только в цене: каталог пользователей и их персональные данные остаются на вашем сервере под 152-ФЗ, а не в чужом облаке, и вы не платите за каждого активного пользователя (MAU). Ядро под лицензией MIT, сервер написан на Python. Часть enterprise-функций (например, удаленный доступ RAC) - платные, но базовое SSO целиком бесплатно.

PythonPostgreSQL 16SAMLOAuth2/OIDCLDAPDocker
Сравнение

Чем отличается от Okta, Auth0 и Entra ID

Сравнение по тому, что влияет на выбор.

ПараметрAuthentik (self-hosted)Okta / Auth0 / Entra ID
Модель ценыБесплатно (MIT), платите за серверПодписка, чаще всего за активных пользователей
Где данные пользователейВаш сервер (PostgreSQL), под 152-ФЗВ облаке вендора
Vendor lock-inОткрытые протоколы, свой инстансПривязка к платформе вендора
ПротоколыSAML, OIDC, LDAP, SCIM, проксиSAML, OIDC, SCIM
Потоки входаКонструктор flows под свои шагиНастройки в рамках платформы
Поддержка и SLAСвоя эксплуатация (или enterprise-подписка)Гарантии вендора
Под капотом

Тех-стек и архитектура

Сервер на Python. Стек разложен на три контейнера: server отдает web-интерфейс и обрабатывает запросы аутентификации, worker выполняет фоновые задачи (синхронизация, отправка писем, обслуживание), а данные лежат в PostgreSQL 16. Web-интерфейс - современный SPA на web-компонентах, а вход построен как многоступенчатый поток: сначала identification, затем пароль, затем при необходимости второй фактор.

Важное отличие версии 2026.5: Redis больше не нужен. Раньше он держал очередь задач и кэш, теперь очереди перенесены на PostgreSQL. На практике это минус один контейнер и минус одна точка отказа: старые гайды, где рядом с authentik стоит redis, для 2026.5 устарели. Наружу сервер слушает 9000 (HTTP) и 9443 (HTTPS); в проде его закрывают reverse-proxy с TLS.

Конфигурация

Минимальная конфигурация

Реальные требования против официального минимума.

Официальный минимум RAM2 GB
Реально в простое (3 контейнера)~829 МиБ
Из них server / worker / postgres~471 / ~284 / ~74 МиБ
Образы на диске (server + postgres)~2,26 GB
Рекомендуем тарифмладший CPU2-RAM4-DISK50, под нагрузку CPU4-RAM8-DISK100
i

Важно: в простое стек умеренный - около 829 МиБ на трех контейнерах, тарифа CPU2-RAM4-DISK50 хватает для запуска и небольшого числа приложений. IdP чувствителен к пикам входов: под реальную нагрузку и много подключенных приложений берите тариф с 8 GB RAM.

В маркетплейсе Fatmetal

Не хотите ставить руками?

Этот стек есть в маркетплейсе Fatmetal - можно не повторять установку из этого разбора вручную. Заказываете сервер, за пару минут получаете рабочий домен, валидный TLS и файл с доступами.

Рекомендуемая конфигурация: CPU2-RAM4-DISK50

В маркетплейс →
Развертывание

Развертывание на Fatmetal

Fatmetal Cloud Server + Ubuntu 24.04 + Docker. Официальный docker compose.

  1. Создать VM

    тариф CPU2-RAM4-DISK50, Ubuntu 24.04, Docker. Для нагрузки - тариф с 8 GB RAM.

  2. Скачать compose и задать секреты

    mkdir ~/authentik && cd ~/authentik
    curl -o docker-compose.yml https://goauthentik.io/docker-compose.yml
    echo "AUTHENTIK_SECRET_KEY=$(openssl rand -base64 60)" >> .env
    echo "PG_PASS=$(openssl rand -base64 36)" >> .env

    AUTHENTIK_SECRET_KEY подписывает сессии и токены, PG_PASS - пароль PostgreSQL. Порты приложения слушаем на 127.0.0.1, наружу отдаем через reverse-proxy.

  3. Поднять стек за прокси с TLS

    docker compose pull
    docker compose up -d

    Дождаться статуса healthy у server, worker и postgres. Мы повесили инстанс за Caddy с авто-TLS на домене authentik.fatmetal.net.

  4. Задать пароль администратора

    Первый запуск - открыть /if/flow/initial-setup/ и задать пароль пользователя akadmin. Дальше админка - на /if/admin/. В маркетплейс-карточке пароль генерируется автоматически через AUTHENTIK_BOOTSTRAP_PASSWORD и попадает в файл с доступами.

https://authentik.fatmetal.net/if/admin/
Админ-дашборд authentik: общее состояние системы, версия 2026.5.4, System Status OK
Реальный экземпляр authentik 2026.5.4 на Fatmetal Cloud Server: админ-дашборд, общее состояние системы (System Status OK).
https://authentik.fatmetal.net/if/admin/#/core/applications
Раздел приложений authentik: список подключенных приложений и провайдеров
Приложения: каждое подключается через свой провайдер (SAML, OIDC, прокси) и получает единый вход.
https://authentik.fatmetal.net/if/admin/#/flow/flows
Потоки входа (flows) authentik: конструктор шагов аутентификации
Потоки входа (flows): вход собирается из шагов - identification, пароль, второй фактор, согласие.
https://authentik.fatmetal.net/if/admin/#/identity/users
Каталог пользователей authentik: список пользователей и групп
Каталог пользователей и групп - основной объект IdP, который обязательно бэкапить вместе с потоками.
Замеры

Что измерили после запуска

Цифры с тестового CPU4-RAM8-DISK50, Ubuntu 24.04, Docker.

RAM в простое (server+worker+postgres)~829 МиБ
Из них server / worker / postgres~471 / ~284 / ~74 МиБ
Контейнеров3 (Redis в 2026.5 убран)
Образ server на диске~1,84 GB
Внешний отклик (HTTPS)~0,37 c, код 302
TLSLet's Encrypt, проверка ok
i

Главное: ~829 МиБ в простое на трех контейнерах без Redis - задачи ушли на PostgreSQL-очереди. Внешний отклик 0,37 c с кодом 302 - это штатный редирект неавторизованного запроса на поток входа, а не ошибка.

Проверено на версии 2026.5.4, июль 2026. На новых версиях результаты могут отличаться.

Подводные камни

Где может сломаться

На что наткнулись при запуске.

!

Потеря БД = потеря всех входов. authentik - критичный сервис: в PostgreSQL лежит весь каталог пользователей, групп и настроенные потоки входа. Без свежего бэкапа базы восстановить доступ ко всем подключенным приложениям не выйдет. Бэкап postgres - обязательная, а не опциональная часть эксплуатации.

!

За reverse-proxy authentik берет внешний URL из Host. Редиректы OAuth и SAML завязаны на публичный адрес, а authentik определяет его по заголовку Host. Если прокси шлет неправильный Host (по умолчанию Caddy это делает не всегда), внешний URL слетает и вход ломается. Прокси должен передавать корректный Host.

!

Устаревшие гайды с Redis. В 2026.5 Redis убран, задачи перенесены на PostgreSQL-очереди. Если тянете старую инструкцию, где рядом стоит контейнер redis, - она устарела, лишний контейнер не нужен.

!

Вход многоступенчатый и на web-компонентах. UI - современный SPA (web-компоненты), а поток входа идет по шагам: identification, затем пароль. Это влияет на автоматизацию: скрипты, ожидающие одну форму логина, спотыкаются - учитывайте это при настройке мониторинга и e2e-проверок.

Безопасность

Безопасность, лицензия и обновления

Перед продом: закрыть порты приложения на 127.0.0.1 и отдавать только через reverse-proxy с валидным TLS, задать длинный AUTHENTIK_SECRET_KEY, включить MFA на админ-аккаунте akadmin и защитить его поток входа. Advisories и релизы - в репозитории goauthentik/authentik. Ядро под MIT; часть enterprise-функций (RAC и др.) - платные, базовое SSO бесплатно. Обновление:

docker compose pull && docker compose up -d

Бэкап (обязателен - это каталог пользователей и потоки):

docker exec authentik-postgresql pg_dump -U authentik authentik > authentik-backup.sql
Рядом

Связь с другими стеками

i

Это первый обзор серии про self-hosted identity и SSO. Дальше в серии сравним authentik с Zitadel, Keycloak и FreeIPA - от современных IdP до классической доменной директории, чтобы было видно, какой из них под какую задачу.

  • Обратный прокси - Caddy или Nginx для TLS (у нас Caddy + авто-TLS), обязательно с корректным Host.
  • Бэкапы - pg_dump PostgreSQL + снапшоты диска: каталог пользователей и потоки критичны.
  • Ваши приложения - подключаются провайдерами SAML, OIDC, LDAP или прокси-аутентификацией.
  • Мониторинг - Grafana + Prometheus за состоянием IdP и пиками входов.
Оговорки

Когда authentik - не ваш выбор

Нужна доменная директория и Kerberos

Если задача - централизованно управлять учетками и хостами флота Linux-машин через Kerberos и полноценный LDAP-домен, это к FreeIPA. Authentik - это SSO для приложений, а не директория для операционных систем.

Не готовы держать IdP как критичный сервис

Провайдер идентификации - единая точка входа: если он лежит, недоступны все подключенные приложения. Это требует бэкапа БД, мониторинга и внимания к обновлениям. Если такой ответственности брать не хочется - облачный Okta или Auth0 снимают эксплуатацию ценой подписки.

Нужны только enterprise-функции

Если весь смысл в удаленном доступе RAC или расширенной поддержке - это платная часть authentik Enterprise. Базовое SSO бесплатно, но платные фичи стоит оценить отдельно.

FAQ

Частые вопросы

Можно поставить без Docker?

Официальный и проверенный путь - docker compose (server + worker + postgres). Есть и Kubernetes через Helm, но для одного сервера compose проще всего.

Нужен ли Redis?

Нет. В версии 2026.5 Redis убран, очередь задач перенесена на PostgreSQL. Старые гайды с контейнером redis устарели.

Хватит ли 2 GB RAM?

Для запуска и небольшого числа приложений да - в простое стек ~829 МиБ. Под реальную нагрузку и много подключенных приложений берите 8 GB.

Можно в продакшен?

Да: за reverse-proxy с валидным TLS, с корректной передачей Host, MFA на админе и регулярным бэкапом PostgreSQL.

Как делать бэкап?

pg_dump базы PostgreSQL - в ней каталог пользователей, групп и потоки входа. Потеря базы = потеря всех входов, бэкап обязателен.

Это бесплатно?

Ядро под MIT и базовое SSO - бесплатно. Часть enterprise-функций (RAC и др.) - платные, но для типового SSO они не нужны.

Заменяет ли authentik Okta или Auth0?

По задаче да: SAML, OIDC, LDAP, SCIM, MFA и каталог пользователей на своем сервере, без оплаты за активных пользователей и с данными под 152-ФЗ.

Итог

Authentik 2026.5.4 - зрелый self-hosted провайдер идентификации: один вход по SAML, OIDC, LDAP и прокси, каталог пользователей, MFA и потоки входа как конструктор. В простое ~829 МиБ на трех контейнерах, без Redis - задачи ушли на PostgreSQL, тарифа CPU2-RAM4-DISK50 хватает для старта. Как self-hosted замена облачным Okta, Auth0 и Entra ID: данные пользователей на своем сервере под 152-ФЗ и без оплаты за активных пользователей. Оговорки: IdP критичен, нужен бэкап базы, правильный Host за прокси и защита админ-потока. Это первый разбор серии - дальше сравним с Zitadel, Keycloak и FreeIPA.

Анонсы новых разборов в Telegram-канале Новые гайды и карточки в маркетплейсе первыми @fatmetal_channel →

Этот стек у нас запущен на тарифе CPU4-RAM8-DISK50. Нашли неточность в гайде - напишите, поправим в течение дня.

Спросить инженера в TelegramМы на связи