bolt Valebyte VPS от $4/мес — NVMe, запуск за 60 секунд.

Получить VPS arrow_forward

Authentik на VPS: установка, настройка и обслуживание

calendar_month 11 июня 2026 schedule 21 мин. чтения visibility 24 просмотров
person
Valebyte Team
Authentik на VPS: установка, настройка и обслуживание

Authentik на VPS — это развертывание современной open-source платформы для управления идентификацией и доступом (IAM) на собственном виртуальном сервере, обеспечивающее централизованную аутентификацию и авторизацию пользователей для множества приложений, а его установка, настройка и обслуживание через Docker Compose позволяет гибко контролировать всю инфраструктуру.

В современном цифровом ландшафте управление доступом к приложениям и сервисам становится одной из ключевых задач для компаний любого размера. От небольших стартапов до крупных предприятий, все сталкиваются с необходимостью обеспечить безопасный и удобный доступ для своих сотрудников и клиентов. Именно здесь на помощь приходит Authentik – мощная и гибкая платформа для управления идентификацией и доступом (Identity and Access Management, IAM), которая позволяет централизовать аутентификацию, авторизацию, управление пользователями и многое другое.

Развертывание Authentik на VPS (Virtual Private Server) открывает перед вами широкие возможности. Вы получаете полный контроль над своей IAM-инфраструктурой, обеспечиваете высокий уровень безопасности, гибкость в настройке и масштабировании, а также избегаете привязки к конкретным провайдерам облачных услуг. В этой статье мы подробно рассмотрим, что такое Authentik, для чего он нужен, какие системные требования предъявляет, а также проведем вас через полный процесс установки Authentik на сервере с использованием Docker и Docker Compose, настройки reverse proxy с HTTPS и обсудим вопросы обслуживания, включая бэкапы и обновления. Мы также дадим рекомендации по выбору оптимального VPS-конфига под реальную нагрузку, чтобы ваша платформа всегда работала стабильно и эффективно.

Что такое Authentik и зачем он нужен на VPS?

Authentik — это современная, с открытым исходным кодом, платформа для управления идентификацией и доступом (IAM), которая предоставляет широкий спектр функций для централизованного управления аутентификацией и авторизацией пользователей. По сути, это единая точка входа (Single Sign-On, SSO) и мощный механизм для реализации многофакторной аутентификации (MFA), управления пользователями и группами, а также интеграции с различными приложениями и протоколами.

Основная идея Authentik заключается в том, чтобы упростить и обезопасить процесс доступа к вашим сервисам. Вместо того чтобы пользователи запоминали десятки логинов и паролей для каждого приложения, они аутентифицируются один раз в Authentik, а затем получают бесшовный доступ ко всем интегрированным системам. Это не только повышает удобство для пользователей, но и значительно улучшает общую безопасность, позволяя применять строгие политики паролей, MFA и другие механизмы защиты централизованно.

Ключевые возможности Authentik

  • Единый вход (Single Sign-On, SSO): Пользователи входят один раз и получают доступ ко всем подключенным приложениям без повторного ввода учетных данных.
  • Многофакторная аутентификация (MFA): Поддержка TOTP, WebAuthn (FIDO2), SMS, Email, Duo, а также возможность создания собственных провайдеров MFA.
  • Управление пользователями и группами: Централизованное создание, изменение и удаление учетных записей, а также управление членством в группах.
  • Протоколы аутентификации: Поддержка OAuth2, OpenID Connect (OIDC), SAML, LDAP, RADIUS, SCIM, что обеспечивает широкую совместимость с существующими приложениями.
  • Интеграция с каталогами: Синхронизация пользователей и групп с внешними каталогами, такими как Active Directory, LDAP, Azure AD.
  • Политики доступа: Гибкие политики для контроля доступа на основе групп, IP-адресов, времени суток и других параметров.
  • Аудит и логирование: Подробные логи всех событий аутентификации и авторизации для обеспечения соответствия требованиям безопасности.
  • Self-service портал: Пользователи могут самостоятельно управлять своими учетными записями, сбрасывать пароли и настраивать MFA.

Преимущества Authentik self-hosted на VPS

Развертывание Authentik self-hosted на VPS предоставляет ряд значительных преимуществ по сравнению с использованием облачных IAM-сервисов или разрозненных систем аутентификации:

  1. Полный контроль и суверенитет данных: Ваши данные и логи аутентификации остаются полностью под вашим контролем. Вы не зависите от политик и инфраструктуры сторонних провайдеров. Это особенно важно для компаний с строгими требованиями к конфиденциальности и регуляторным соответствием.
  2. Гибкость и кастомизация: Вы можете настроить Authentik в точном соответствии с вашими уникальными потребностями, интегрировать его с любой вашей инфраструктурой и адаптировать пользовательский интерфейс.
  3. Экономия затрат в долгосрочной перспективе: Хотя начальная установка Authentik на VPS требует усилий, в долгосрочной перспективе это может быть значительно дешевле, чем ежемесячная плата за коммерческие IAM-решения, особенно при росте числа пользователей.
  4. Производительность: Вы контролируете ресурсы вашего VPS, что позволяет оптимизировать производительность Authentik под ваши конкретные нагрузки, избегая "соседского эффекта" на общих хостингах.
  5. Безопасность: Вы самостоятельно управляете безопасностью сервера, устанавливаете свои правила фаервола, проводите аудиты и обновления, что позволяет создать максимально защищенную среду.
  6. Отсутствие привязки к вендору: Будучи open-source решением, Authentik не привязывает вас к конкретному поставщику, давая свободу выбора и миграции.

Выбор VPS для развертывания Authentik особенно актуален для тех, кто ценит независимость, контроль и эффективность. Self-managed VPS от Valebyte.com идеально подходит для таких задач, предоставляя мощные ресурсы и полный доступ для установки и настройки любых приложений, включая Authentik.

Системные требования для Authentik: какой VPS выбрать?

Прежде чем приступить к установке Authentik, важно убедиться, что ваш VPS соответствует минимальным и рекомендуемым системным требованиям. Authentik, как и многие современные приложения, активно использует базу данных (PostgreSQL) и кэширование (Redis), поэтому производительность дисковой подсистемы и объем оперативной памяти играют ключевую роль. Поскольку мы будем использовать Authentik Docker, это также накладывает определенные требования к ресурсам.

Минимальные требования для небольших развертываний (до 50 активных пользователей / 5-10 приложений)

  • Операционная система: Ubuntu 20.04+, Debian 11+, CentOS 7+/Rocky Linux 8+. Рекомендуется Ubuntu Server LTS за простоту использования и широкую поддержку.
  • Процессор (CPU): 2 vCPU. Для небольших нагрузок этого будет достаточно, но чем выше частота ядра, тем лучше.
  • Оперативная память (RAM): 4 GB. Authentik сам по себе потребляет около 1-2 GB, плюс PostgreSQL и Redis также требуют памяти. Docker-контейнеры также используют ресурсы.
  • Дисковое пространство: 50 GB NVMe SSD. Крайне рекомендуется NVMe из-за высокой скорости операций ввода-вывода, что критично для базы данных. HDD или SATA SSD могут значительно замедлить работу.
  • Сетевой интерфейс: 100 Мбит/с или 1 Гбит/с.
  • Публичный IP-адрес: Необходим для доступа к Authentik извне и работы HTTPS.

Рекомендуемые требования для средних развертываний (до 500 активных пользователей / 20-50 приложений)

  • Процессор (CPU): 4 vCPU.
  • Оперативная память (RAM): 8 GB.
  • Дисковое пространство: 100 GB NVMe SSD.
  • Сетевой интерфейс: 1 Гбит/с.

Рекомендуемые требования для крупных развертываний (более 500 активных пользователей / 50+ приложений)

Для крупных развертываний Authentik, особенно если вы ожидаете высокую одновременную нагрузку, потребуется более мощный VPS или даже выделенный сервер. В этом случае имеет смысл рассмотреть масштабирование базы данных и Redis на отдельные инстансы или использование кластеров.

  • Процессор (CPU): 8+ vCPU.
  • Оперативная память (RAM): 16+ GB.
  • Дисковое пространство: 200+ GB NVMe SSD (с возможностью расширения).
  • Сетевой интерфейс: 1 Гбит/с с гарантированной пропускной способностью.

Важное замечание по дискам: NVMe SSD не просто рекомендация, а почти требование для стабильной и быстрой работы Authentik, особенно при большом количестве операций с базой данных (логи, сессии, синхронизация). Разница в производительности между NVMe и обычными SSD или HDD может быть колоссальной.

При выборе VPS от Valebyte.com, обратите внимание на тарифы с NVMe SSD и достаточным объемом RAM. Если вы не уверены, какой тариф выбрать, лучше начать с немного более мощного и при необходимости масштабироваться вниз, чем столкнуться с проблемами производительности из-за недостатка ресурсов.

Ищете надёжный сервер для ваших проектов?

VPS от $10/мес и выделенные серверы от $9/мес с NVMe, DDoS-защитой и поддержкой 24/7.

Смотреть предложения →

Пошаговая установка Authentik на VPS с Docker Compose

Установка Authentik на VPS будет производиться с использованием Docker и Docker Compose. Это позволяет легко развернуть все необходимые компоненты (Authentik, PostgreSQL, Redis) в изолированных контейнерах, обеспечивая простоту управления, обновления и масштабирования. Этот метод идеально подходит для Authentik self-hosted решений.

Подготовка VPS к установке Authentik

Прежде чем приступать к развертыванию, необходимо подготовить ваш VPS. Мы предполагаем, что вы используете операционную систему Ubuntu Server 22.04 LTS.

  1. Обновление системы:

    Подключитесь к вашему VPS по SSH и обновите все системные пакеты:

    sudo apt update && sudo apt upgrade -y
  2. Установка Docker:

    Установите Docker Engine. Рекомендуется использовать официальный скрипт для стабильной установки:

    sudo apt install ca-certificates curl gnupg lsb-release -y
    sudo mkdir -p /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    echo \
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
      $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    sudo apt update
    sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y

    Добавьте текущего пользователя в группу docker, чтобы не использовать sudo при работе с Docker:

    sudo usermod -aG docker $USER
    newgrp docker

    Проверьте установку Docker:

    docker run hello-world
  3. Установка Docker Compose (если не установлен как плагин):

    Если вы установили docker-compose-plugin, то docker compose уже доступен. Если нет, или вы предпочитаете старую версию docker-compose:

    sudo apt install docker-compose -y

    В данной статье мы будем использовать новый синтаксис docker compose (без дефиса).

  4. Настройка доменного имени и DNS:

    Убедитесь, что у вас есть зарегистрированное доменное имя (например, auth.yourdomain.com), и A-запись для этого домена указывает на публичный IP-адрес вашего VPS. Это критически важно для работы HTTPS и Let's Encrypt.

  5. Открытие портов фаервола:

    Настройте фаервол (например, UFW) для разрешения входящих соединений на порты 80 (HTTP) и 443 (HTTPS), а также 22 (SSH).

    sudo ufw allow ssh
    sudo ufw allow http
    sudo ufw allow https
    sudo ufw enable

    Подтвердите включение фаервола, нажав y.

Развертывание Authentik с Docker Compose

Теперь, когда VPS готов, можно приступить к развертыванию Authentik. Мы создадим файл docker-compose.yml, который определит все необходимые сервисы.

  1. Создание каталога для Authentik:

    Создайте отдельный каталог для всех файлов Authentik:

    mkdir authentik && cd authentik
  2. Создание файла .env:

    Authentik использует переменные окружения для настройки. Создайте файл .env в каталоге authentik:

    nano .env

    И добавьте следующее содержимое, заменив your.domain.com на ваш домен и сгенерировав надежные пароли/секреты:

    AUTHENTIK_SECRET_KEY=your_very_long_and_random_secret_key_for_authentik
    AUTHENTIK_HOST=https://auth.yourdomain.com
    
    PG_PASS=your_strong_postgres_password
    PG_HOST=authentik-database
    PG_NAME=authentik
    PG_USER=authentik
    
    REDIS_HOST=authentik-redis
    REDIS_PORT=6379

    Важно: AUTHENTIK_SECRET_KEY должен быть очень длинным и случайным (минимум 50 символов). Вы можете сгенерировать его, например, командой openssl rand -base64 48.

  3. Создание файла docker-compose.yml:

    Создайте файл docker-compose.yml в том же каталоге:

    nano docker-compose.yml

    И добавьте следующее содержимое:

    version: '3.9'
    
    services:
      authentik-database:
        image: postgres:15-alpine
        restart: unless-stopped
        healthcheck:
          test: ["CMD-SHELL", "pg_isready -d $$PG_NAME -U $$PG_USER"]
          start_period: 20s
          interval: 30s
          retries: 5
          timeout: 5s
        volumes:
          - database-data:/var/lib/postgresql/data
        environment:
          POSTGRES_PASSWORD: ${PG_PASS}
          POSTGRES_USER: ${PG_USER}
          POSTGRES_DB: ${PG_NAME}
    
      authentik-redis:
        image: redis:7-alpine
        restart: unless-stopped
        healthcheck:
          test: ["CMD-SHELL", "redis-cli ping"]
          start_period: 20s
          interval: 30s
          retries: 5
          timeout: 5s
        volumes:
          - redis-data:/data
    
      authentik-server:
        image: ghcr.io/goauthentik/authentik:2023.10.3 # Используйте актуальную версию
        restart: unless-stopped
        command: server
        environment:
          AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY}
          AUTHENTIK_HOST: ${AUTHENTIK_HOST}
          AUTHENTIK_DATABASE__HOST: ${PG_HOST}
          AUTHENTIK_DATABASE__NAME: ${PG_NAME}
          AUTHENTIK_DATABASE__USER: ${PG_USER}
          AUTHENTIK_DATABASE__PASSWORD: ${PG_PASS}
          AUTHENTIK_REDIS__HOST: ${REDIS_HOST}
        volumes:
          - media:/media
          - custom-templates:/templates
        ports:
          - "9000:9000" # HTTP
          - "9443:9443" # HTTPS (для встроенного прокси, мы будем использовать Nginx/Caddy)
    
      authentik-worker:
        image: ghcr.io/goauthentik/authentik:2023.10.3 # Используйте актуальную версию
        restart: unless-stopped
        command: worker
        environment:
          AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY}
          AUTHENTIK_HOST: ${AUTHENTIK_HOST}
          AUTHENTIK_DATABASE__HOST: ${PG_HOST}
          AUTHENTIK_DATABASE__NAME: ${PG_NAME}
          AUTHENTIK_DATABASE__USER: ${PG_USER}
          AUTHENTIK_DATABASE__PASSWORD: ${PG_PASS}
          AUTHENTIK_REDIS__HOST: ${REDIS_HOST}
        volumes:
          - media:/media
          - custom-templates:/templates
        # Нет необходимости открывать порты для worker, он общается через внутреннюю сеть Docker
    
    volumes:
      database-data:
      redis-data:
      media:
      custom-templates:

    Примечание: Замените 2023.10.3 на самую актуальную стабильную версию Authentik. Проверить актуальную версию можно на GitHub-странице Authentik.

  4. Запуск Authentik:

    Сохраните docker-compose.yml и запустите все сервисы:

    docker compose up -d

    Опция -d запускает контейнеры в фоновом режиме. Дождитесь, пока все контейнеры запустятся. Вы можете проверить их статус:

    docker compose ps

    Убедитесь, что все сервисы имеют статус running и их health также в порядке.

  5. Инициализация Authentik и создание суперпользователя:

    После первого запуска Authentik необходимо инициализировать базу данных и создать первого администратора. Authentik сам выполнит миграции при первом запуске, но вам нужно создать суперпользователя. Это делается через worker-контейнер:

    docker compose exec authentik-worker authentik shell
    > from authentik.core.models import User
    > User.objects.create_superuser('akadmin', '[email protected]', 'your_super_strong_password')
    > exit()

    Замените akadmin, [email protected] и your_super_strong_password на желаемые учетные данные. Используйте очень надежный пароль!

На этом этапе Authentik запущен и доступен на вашем VPS по портам 9000 (HTTP) и 9443 (HTTPS) внутри Docker-сети. Однако, чтобы получить к нему доступ извне через доменное имя с HTTPS, нам потребуется настроить reverse proxy.

rocket_launch Быстрый выбор

Ищете сервер, который просто работает?

Valebyte VPS — NVMe, поддержка 24/7, развёртывание за 60 секунд.

Смотреть тарифы VPS arrow_forward

Настройка Reverse Proxy и HTTPS для Authentik

Прямой доступ к Authentik по IP-адресу и нестандартным портам нежелателен с точки зрения безопасности и удобства. Для этого мы используем reverse proxy (обратный прокси-сервер), который будет принимать все входящие запросы на стандартные порты (80 и 443), перенаправлять их на Authentik и обеспечивать HTTPS-шифрование с помощью Let's Encrypt. Мы рассмотрим два популярных варианта: Nginx и Caddy.

Настройка Nginx как Reverse Proxy

Nginx — это высокопроизводительный веб-сервер и обратный прокси, широко используемый для таких задач.

  1. Установка Nginx:
    sudo apt install nginx -y
  2. Создание конфигурационного файла Nginx для Authentik:

    Создайте новый файл конфигурации для вашего домена:

    sudo nano /etc/nginx/sites-available/authentik.conf

    И добавьте следующее содержимое, заменив auth.yourdomain.com на ваш домен:

    server {
        listen 80;
        listen [::]:80;
        server_name auth.yourdomain.com;
    
        location / {
            return 301 https://$host$request_uri;
        }
    }
    
    server {
        listen 443 ssl http2;
        listen [::]:443 ssl http2;
        server_name auth.yourdomain.com;
    
        ssl_certificate /etc/letsencrypt/live/auth.yourdomain.com/fullchain.pem; # Будет создан Certbot
        ssl_certificate_key /etc/letsencrypt/live/auth.yourdomain.com/privkey.pem; # Будет создан Certbot
        ssl_trusted_certificate /etc/letsencrypt/live/auth.yourdomain.com/chain.pem;
    
        include /etc/letsencrypt/options-ssl-nginx.conf;
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
    
        location / {
            proxy_pass http://127.0.0.1:9000; # Authentik HTTP порт
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_buffering off;
        }
    
        # Для WebSocket connections (Live updates, etc.)
        location /ws {
            proxy_pass http://127.0.0.1:9000;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
  3. Активация конфигурации:
    sudo ln -s /etc/nginx/sites-available/authentik.conf /etc/nginx/sites-enabled/
    sudo nginx -t
    sudo systemctl restart nginx
  4. Установка Certbot для Let's Encrypt:

    Certbot автоматизирует получение и обновление SSL-сертификатов Let's Encrypt.

    sudo apt install certbot python3-certbot-nginx -y
  5. Получение SSL-сертификата:

    Запустите Certbot, указав ваш домен:

    sudo certbot --nginx -d auth.yourdomain.com

    Следуйте инструкциям на экране. Certbot автоматически настроит Nginx для использования HTTPS и добавит необходимые директивы. Возможно, потребуется выбрать "Redirect" для автоматического перенаправления HTTP на HTTPS.

  6. Проверка:

    Откройте ваш домен (например, https://auth.yourdomain.com) в браузере. Вы должны увидеть страницу входа Authentik. Войдите с созданным ранее суперпользователем.

Настройка Caddy как Reverse Proxy

Caddy — это современный веб-сервер, который упрощает настройку HTTPS благодаря встроенной автоматизации Let's Encrypt.

  1. Установка Caddy:

    Установите Caddy, следуя официальной документации (для Ubuntu):

    sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
    curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
    curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
    sudo apt update
    sudo apt install caddy -y
  2. Создание файла Caddyfile для Authentik:

    Caddy использует файл Caddyfile для конфигурации. Создайте или отредактируйте файл:

    sudo nano /etc/caddy/Caddyfile

    И добавьте следующее содержимое, заменив auth.yourdomain.com на ваш домен:

    auth.yourdomain.com {
        reverse_proxy 127.0.0.1:9000 {
            header_up Host {host}
            header_up X-Real-IP {remote_ip}
            header_up X-Forwarded-For {remote_ip}
            header_up X-Forwarded-Proto {scheme}
            header_up Upgrade {http.request.header.Upgrade}
            header_up Connection {http.request.header.Connection}
        }
    }

    Caddy автоматически получит и обновит SSL-сертификаты для auth.yourdomain.com. Он также автоматически перенаправит HTTP на HTTPS.

  3. Проверка и запуск Caddy:
    sudo caddy validate
    sudo systemctl restart caddy
  4. Проверка:

    Откройте ваш домен (например, https://auth.yourdomain.com) в браузере. Вы должны увидеть страницу входа Authentik.

Оба варианта (Nginx и Caddy) отлично справляются с ролью reverse proxy. Caddy часто выбирают за его простоту и автоматическую настройку HTTPS, в то время как Nginx предлагает более тонкую настройку и широкие возможности, что может быть важно для более сложных инфраструктур.

Базовое обслуживание Authentik: бэкапы и обновления

Поддержка работоспособности и безопасности Authentik на сервере требует регулярного обслуживания, включающего резервное копирование данных и своевременное обновление программного обеспечения. Это критически важные аспекты для любого self-hosted приложения.

Стратегии резервного копирования Authentik

Ваши данные Authentik включают в себя базу данных PostgreSQL (пользователи, приложения, политики, логи) и медиа-файлы/шаблоны. Резервное копирование должно охватывать обе эти части.

  1. Резервное копирование базы данных PostgreSQL:

    Наиболее важная часть — это база данных. Используйте утилиту pg_dump для создания дампа базы данных. Рекомендуется выполнять это регулярно, например, ежедневно.

    # Перейдите в каталог Authentik
    cd /path/to/your/authentik
    
    # Остановите Authentik для согласованного бэкапа (опционально, но рекомендуется для больших систем)
    # docker compose stop authentik-server authentik-worker
    
    # Выполните бэкап базы данных
    docker compose exec authentik-database pg_dump -U $PG_USER -d $PG_NAME > authentik_db_backup_$(date +%Y%m%d%H%M%S).sql
    
    # Если вы останавливали сервисы, запустите их снова
    # docker compose start authentik-server authentik-worker

    Замените $PG_USER и $PG_NAME на значения из вашего файла .env. Для упрощения можно создать скрипт, который будет читать эти переменные. Файл бэкапа .sql будет создан в текущем каталоге (каталоге Authentik).

  2. Резервное копирование томов Docker (Volumes):

    Помимо базы данных, Authentik хранит медиа-файлы и кастомные шаблоны в томах Docker:

    • media: для пользовательских изображений, логотипов и других медиа-файлов.
    • custom-templates: для любых модифицированных шаблонов Authentik.
    • database-data: данные PostgreSQL.
    • redis-data: данные Redis.

    Вы можете создать tar-архивы этих томов. Пример для тома media:

    docker run --rm --volumes-from authentik-server -v $(pwd):/backup ubuntu tar cvf /backup/authentik_media_backup_$(date +%Y%m%d%H%M%S).tar /media

    Этот подход требует, чтобы контейнер authentik-server был запущен, так как он "владеет" томом media. Повторите для custom-templates.

    Более надежный подход: используйте инструменты для бэкапа Docker-томов или просто бэкапируйте весь каталог /var/lib/docker/volumes/ (после остановки Docker) или используйте специализированные инструменты для бэкапа файловой системы, которые могут работать с живыми томами.

  3. Автоматизация и хранение бэкапов:
    • Cron: Настройте задачи cron для ежедневного выполнения скриптов бэкапа.
    • Удаленное хранилище: Никогда не храните бэкапы на том же VPS, что и рабочая система. Используйте удаленные хранилища (S3-совместимые хранилища, SCP на другой сервер, Google Drive, Dropbox) для обеспечения отказоустойчивости.
    • Ротация бэкапов: Реализуйте политику ротации (например, хранить 7 ежедневных, 4 еженедельных, 3 ежемесячных бэкапа).

Обновление Authentik

Обновление Authentik в Docker Compose — относительно простой процесс, который сводится к получению новых образов и перезапуску контейнеров. Всегда проверяйте официальную документацию Authentik перед обновлением, так как могут быть специфические инструкции для мажорных версий.

  1. Проверка актуальной версии:

    Посетите GitHub-репозиторий Authentik или их официальный сайт, чтобы узнать последнюю стабильную версию.

  2. Обновление файла docker-compose.yml:

    Отредактируйте docker-compose.yml и измените тег образа для authentik-server и authentik-worker на новую версию (например, с 2023.10.3 на 2023.12.0):

    # ...
      authentik-server:
        image: ghcr.io/goauthentik/authentik:2023.12.0 # Обновленная версия
    # ...
      authentik-worker:
        image: ghcr.io/goauthentik/authentik:2023.12.0 # Обновленная версия
    # ...
  3. Выполнение обновления:

    Перейдите в каталог Authentik и выполните команды:

    # Создайте бэкап перед обновлением (ОБЯЗАТЕЛЬНО!)
    cd /path/to/your/authentik
    # ... выполните команды бэкапа, как описано выше ...
    
    # Остановите и удалите старые контейнеры
    docker compose down
    
    # Получите новые образы и запустите контейнеры
    docker compose pull
    docker compose up -d

    docker compose pull загрузит новые версии образов. docker compose up -d пересоздаст контейнеры с новыми образами, сохраняя при этом данные в томах. Authentik автоматически выполнит необходимые миграции базы данных при запуске.

  4. Проверка после обновления:

    После запуска убедитесь, что все контейнеры работают, и Authentik доступен через ваш домен. Проверьте логи на наличие ошибок.

Регулярные бэкапы и своевременные обновления — залог стабильной, безопасной и актуальной работы вашей Authentik установки на VPS. Не пренебрегайте этими процедурами.

Оптимальный VPS-конфиг для Authentik под реальную нагрузку

Выбор правильного VPS-конфига для Authentik критически важен для обеспечения стабильной производительности и отзывчивости вашей IAM-платформы. "Реальная нагрузка" может сильно варьироваться в зависимости от количества пользователей, частоты аутентификаций, количества интегрированных приложений и использования таких функций, как синхронизация с внешними каталогами или сложными политиками. Здесь мы рассмотрим типовые сценарии и предложим соответствующие конфигурации.

Факторы, влияющие на требования к VPS

  • Количество активных пользователей: Сколько пользователей будет регулярно аутентифицироваться?
  • Количество интегрированных приложений: Чем больше приложений использует Authentik для SSO, тем выше нагрузка.
  • Частота аутентификаций: Пиковые нагрузки (например, утро понедельника) или постоянный поток запросов.
  • Использование MFA: Некоторые методы MFA могут требовать больше ресурсов или внешних сервисов.
  • Синхронизация каталогов: Частая синхронизация с большими LDAP/AD каталогами может быть ресурсоемкой.
  • Логирование и аудит: Большие объемы логов требуют больше дискового пространства и IOPS.
  • Использование API: Если Authentik активно используется через API, это также увеличивает нагрузку.

Таблица рекомендаций по VPS-конфигурациям для Authentik

Представленные ниже конфигурации являются общими рекомендациями. Для критически важных систем или очень больших развертываний может потребоваться более детальный анализ и тестирование.

Сценарий нагрузки Активные пользователи / Приложения vCPU RAM (GB) Диск (NVMe SSD) Сетевой интерфейс Примерная стоимость (USD/мес)
Начальный / Тестовый 10-50 / 5-10 2 4 50 GB 1 Гбит/с $10 - $20
Малый бизнес / Отдел 50-200 / 10-25 4 8 100 GB 1 Гбит/с $20 - $40
Средний бизнес / Организация 200-500 / 25-50 6 16 200 GB 1 Гбит/с $40 - $80
Крупный бизнес / Предприятие 500+ / 50+ 8+ 32+ 400+ GB 1 Гбит/с (гарантированный) $80 - $150+

Пояснения к таблице:

  • vCPU: Authentik хорошо масштабируется по ядрам. Больше ядер означает лучшую параллельную обработку запросов.
  • RAM: Authentik, PostgreSQL и Redis являются основными потребителями памяти. Недостаток RAM приведет к активному использованию свопа и резкому падению производительности. 8 GB RAM — это разумный минимум для продакшн-среды.
  • Диск (NVMe SSD): Это один из самых критичных параметров. PostgreSQL активно записывает на диск, и медленный диск станет узким местом. NVMe SSD обеспечивает значительно более высокую скорость IOPS по сравнению с SATA SSD или, тем более, HDD. Для сценариев с высокой нагрузкой или большим количеством логов, NVMe — обязателен.
  • Сетевой интерфейс: 1 Гбит/с — стандарт для современных VPS. Для очень больших развертываний убедитесь, что провайдер гарантирует высокую пропускную способность, а не "до 1 Гбит/с".
  • Примерная стоимость: Цены могут сильно варьироваться в зависимости от провайдера, локации и дополнительных услуг. Valebyte.com предлагает конкурентные тарифы с NVMe SSD, которые идеально подходят для Authentik.

Дополнительные рекомендации:

  1. Мониторинг: После развертывания настройте систему мониторинга (например, Netdata, Prometheus с Grafana) для отслеживания загрузки CPU, RAM, дисковых IOPS и сетевого трафика. Это поможет вам понять реальные потребности вашей системы и своевременно масштабировать VPS.
  2. Масштабирование: Если вы ожидаете значительный рост, рассмотрите возможность использования более крупных VPS или даже выделенных серверов. В некоторых случаях, для очень больших развертываний, может быть целесообразно вынести базу данных и Redis на отдельные, оптимизированные для них инстансы.
  3. Резервное копирование: Убедитесь, что ваш план бэкапов соответствует вашим требованиям к восстановлению (RTO/RPO).
  4. Безопасность: Регулярно обновляйте ОС, Docker и Authentik, используйте сложные пароли и настройте фаервол.

Выбор оптимального VPS-конфига для Authentik — это инвестиция в стабильность и безопасность вашей инфраструктуры. Начните с разумного минимума, основываясь на ваших текущих потребностях, и будьте готовы к масштабированию по мере роста нагрузки. Valebyte.com предлагает гибкие тарифы VPS, которые могут быть адаптированы под любые требования Authentik, от тестовых сред до высоконагруженных продакшн-систем.

rocket_launch Быстрый выбор

Ищете сервер, который просто работает?

Valebyte VPS — NVMe, поддержка 24/7, развёртывание за 60 секунд.

Смотреть тарифы VPS arrow_forward

Часто задаваемые вопросы об Authentik на сервере

При развертывании и эксплуатации Authentik на сервере, особенно при использовании подхода Authentik Docker, возникает ряд типовых вопросов. Ниже мы собрали ответы на самые распространенные из них, чтобы помочь вам в процессе установки, настройки и обслуживания.

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

Теоретически, да, Authentik можно установить и без Docker, вручную настраивая все зависимости (Python, PostgreSQL, Redis и т.д.). Однако такой подход значительно сложнее, требует больше времени на настройку и поддержку, а также усложняет процесс обновления. Разработчики Authentik активно рекомендуют и поддерживают только развертывание через Docker/Docker Compose из-за его простоты, переносимости и изоляции компонентов.

2. Как изменить пароль суперпользователя Authentik, если я его забыл?

Вы можете сбросить пароль суперпользователя, используя команду authentik shell внутри контейнера authentik-worker:

cd /path/to/your/authentik
docker compose exec authentik-worker authentik shell
> from authentik.core.models import User
> user = User.objects.get(username='akadmin') # Замените akadmin на ваше имя пользователя
> user.set_password('your_new_super_strong_password')
> user.save()
> exit()

Обязательно используйте надежный пароль.

3. Какие порты Authentik использует по умолчанию?

Внутри Docker-контейнера Authentik по умолчанию использует порт 9000 для HTTP и 9443 для HTTPS (встроенный прокси). Однако, как мы рассмотрели, для внешнего доступа рекомендуется использовать reverse proxy (Nginx или Caddy), который будет слушать стандартные порты 80 и 443 и перенаправлять запросы на внутренний порт 9000 Authentik.

4. Как настроить Authentik для работы с несколькими доменными именами?

Если вам нужно, чтобы Authentik был доступен по нескольким доменным именам, вы можете настроить ваш reverse proxy (Nginx или Caddy) для обработки этих доменов. Для Nginx это будет означать добавление дополнительных блоков server_name и, возможно, отдельных SSL-сертификатов. В самом Authentik, переменная AUTHENTIK_HOST в файле .env должна содержать основное доменное имя, но Authentik обычно корректно работает с запросами, приходящими через reverse proxy, независимо от Host заголовка, если он правильно проксируется.

5. Что делать, если Authentik не запускается после обновления?

Если после обновления Authentik не запускается, выполните следующие шаги:

  1. Проверьте логи контейнеров:
    cd /path/to/your/authentik
    docker compose logs authentik-server authentik-worker

    Ищите ошибки, особенно связанные с базой данных или конфигурацией.

  2. Проверьте статус контейнеров:
    docker compose ps

    Убедитесь, что все контейнеры имеют статус running и health.

  3. Проверьте файл .env и docker-compose.yml: Убедитесь, что все переменные окружения и конфигурации корректны и не были случайно изменены.
  4. Восстановитесь из бэкапа: Если ничего не помогает, это та причина, по которой вы всегда делаете бэкапы перед обновлением. Восстановите базу данных и тома из последнего рабочего бэкапа.

6. Как увеличить производительность Authentik?

Для повышения производительности Authentik:

  • Масштабируйте VPS: Увеличьте количество vCPU, RAM и, самое главное, обеспечьте быстрый NVMe SSD.
  • Оптимизируйте PostgreSQL: Если у вас очень высокая нагрузка, рассмотрите тонкую настройку PostgreSQL или вынесение его на отдельный, более мощный инстанс.
  • Настройте Redis: Убедитесь, что Redis работает эффективно и имеет достаточно памяти.
  • Оптимизируйте Reverse Proxy: Убедитесь, что Nginx или Caddy настроены оптимально для обработки большого количества соединений.
  • Распределите нагрузку: Для очень больших развертываний можно рассмотреть использование нескольких экземпляров Authentik за балансировщиком нагрузки.

7. Могу ли я использовать Authentik для аутентификации в Windows AD или LDAP?

Да, Authentik имеет встроенную поддержку интеграции с LDAP и Active Directory. Вы можете настроить провайдеры источников пользователей (User Sources) для синхронизации пользователей и групп из вашего AD/LDAP, что позволяет использовать Authentik как единую точку аутентификации для вашей существующей инфраструктуры.

8. Где хранятся данные Authentik?

Основные данные Authentik хранятся в следующих местах:

  • База данных PostgreSQL: Содержит всю информацию о пользователях, приложениях, политиках, сессиях и логах. Хранится в томе database-data.
  • Redis: Используется для кэширования и сессий. Хранится в томе redis-data.
  • Медиа-файлы: Пользовательские аватары, логотипы приложений и другие медиа-данные хранятся в томе media.
  • Кастомные шаблоны: Если вы изменяли шаблоны UI Authentik, они хранятся в томе custom-templates.

Все эти тома создаются Docker Compose и находятся в каталоге /var/lib/docker/volumes/ на вашем VPS.

Надеемся, эти ответы помогут вам увереннее работать с Authentik на вашем сервере.

Выводы

Развертывание Authentik на VPS — это мощное и гибкое решение для централизованного управления идентификацией и доступом, обеспечивающее полный контроль над вашей инфраструктурой безопасности. Следуя пошаговым инструкциям по установке Authentik через Docker Compose, настройке reverse proxy с HTTPS и регулярному обслуживанию, вы получите надежную и масштабируемую платформу.

Для обеспечения оптимальной производительности и безопасности вашего Authentik-инстанса, крайне важно выбрать VPS с достаточными ресурсами, особенно с NVMe SSD. Valebyte.com предлагает высокопроизводительные VPS с NVMe-дисками, которые идеально подходят для размещения Authentik и других критически важных приложений, обеспечивая стабильность и скорость работы вашей IAM-системы.

Готовы выбрать сервер?

VPS и выделенные серверы в 72+ странах с мгновенной активацией и полным root-доступом.

Начать сейчас →

Поделиться записью:

support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.