Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
software:sso:goauthentik [2025/12/05 17:09] mirocowsoftware:sso:goauthentik [2025/12/05 17:12] (текущий) mirocow
Строка 4: Строка 4:
  
 Authentik - это провайдер аутентификации с открытым исходным кодом, который отличается гибкостью и универсальностью, поддерживая широкий набор протоколов. Authentik - это провайдер аутентификации с открытым исходным кодом, который отличается гибкостью и универсальностью, поддерживая широкий набор протоколов.
 +
 +При развертывании приложений в домашней лаборатории вы можете столкнуться с тем, что некоторые из них вовсе не поддерживают аутентификацию либо поддерживают базовую в которой могут иметься уязвимости. Так же малое количество сервисов из коробки поддерживает 2FA (двухфакторная аутентификация). Помимо этого для каждого сервиса вам приходится придумывать отдельно логин и пароль, что может запутать когда этих сервисов у вас много. Выход из всего этого есть и это - Authentik.
 +
 +Технология единого входа (Single sign-on SSO) — метод аутентификации, который позволяет пользователям безопасно аутентифицироваться сразу в нескольких приложениях и сайтах, используя один набор учетных данных.
 +
 +
 +===== docker-compose.yml =====
 +
 +<code yaml>
 +services:
 +  postgres: ## аусентик использует PG как основную БД
 +    image: postgres:16-alpine
 +    container_name: postgres
 +    ports:
 +      - "5432:5432"
 +    environment:
 +      POSTGRES_USER: authentik
 +      POSTGRES_PASSWORD: password
 +      POSTGRES_DB: authentik_demo
 +
 +  redis:
 +    image: redis:alpine
 +    container_name: redis
 +    restart: always
 +    ports:
 +      - "6379:6379"
 +    command: "--requirepass authentik"
 +
 +
 +  server:
 +    image: ghcr.io/goauthentik/server:2024.6.3
 +    restart: unless-stopped
 +    command: server
 +    environment:
 +      AUTHENTIK_EMAIL__HOST: mailhog
 +      AUTHENTIK_EMAIL__PORT: 1025
 +      AUTHENTIK_EMAIL__USE_TLS: false
 +      AUTHENTIK_EMAIL__USE_SSL: false
 +      AUTHENTIK_EMAIL__FROM: authentik@localhost
 +      AUTHENTIK_REDIS__HOST: redis
 +      AUTHENTIK_REDIS__PASSWORD: authentik
 +      AUTHENTIK_POSTGRESQL__HOST: postgres
 +      AUTHENTIK_POSTGRESQL__USER: authentik
 +      AUTHENTIK_POSTGRESQL__NAME: authentik_demo
 +      AUTHENTIK_POSTGRESQL__PASSWORD: password
 +      AUTHENTIK_SECRET_KEY: auth # super secret key
 +      AUTHENTIK_LOG_LEVEL: trace
 +    ports:
 +      - "9005:9000"
 +      - "9443:9443"
 +    depends_on:
 +      - postgres
 +      - redis
 +
 +  worker:
 +    image: ghcr.io/goauthentik/server:2024.6.3
 +    restart: unless-stopped
 +    command: worker
 +    environment:
 +      AUTHENTIK_EMAIL__HOST: mailhog
 +      AUTHENTIK_EMAIL__PORT: 1025
 +      AUTHENTIK_EMAIL__USE_TLS: false
 +      AUTHENTIK_EMAIL__USE_SSL: false
 +      AUTHENTIK_EMAIL__FROM: authentik@localhost
 +      AUTHENTIK_REDIS__HOST: redis
 +      AUTHENTIK_REDIS__PASSWORD: authentik
 +      AUTHENTIK_POSTGRESQL__HOST: postgres
 +      AUTHENTIK_POSTGRESQL__USER: authentik
 +      AUTHENTIK_POSTGRESQL__NAME: authentik_demo
 +      AUTHENTIK_POSTGRESQL__PASSWORD: password
 +      AUTHENTIK_SECRET_KEY: auth # super secret key
 +    user: root
 +    depends_on:
 +      - postgres
 +      - redis
 +      - mailhog
 +
 +  mailhog: # мок smtp сервер, UI доступен на порту 8025 (можно посмотреть все отправленные письма)
 +    image: mailhog/mailhog
 +    container_name: mailhog
 +    ports:
 +      - "1025:1025"
 +      - "8025:8025"
 +</code>