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

Отримати VPS arrow_forward

Authentik на VPS: встановлення, налаштування та обслуговування

calendar_month June 11, 2026 schedule 21 хв. читання visibility 39 переглядів
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.