不从零搞双因素认证(2FA),而是依靠 goauthentik 来搞。
官网:https://docs.goauthentik.io/install-config/install/docker-compose/
开始
- 官网已经为你准备好了
compose.yaml文件,我们把它下载下来。
mkdir goauthentik-server
cd goauthentik-server
wget https://docs.goauthentik.io/compose.yml
# 还是喜欢用 docker-compose.yaml 作为文件名
mv compose.yml docker-compose.yaml
- 准备 .env 文件。
生成 .env 文件,根据 docker-compose.yaml 和业务需要,设置 .env 的内容。
vim .env
# ==============================================
# Authentik 数据库配置 (PostgreSQL)
# ==============================================
# PostgreSQL 数据库名
PG_DB: authentik
# PostgreSQL 数据库账号
PG_USER: authentik
# PostgreSQL 数据库密码,【必须修改,不能为空】
PG_PASS: fa20260817
# ==============================================
# Authentik 核心密钥【生产务必重新生成!】
# ==============================================
# 生成命令: openssl rand -hex 64
# 这个密钥加密数据库内TOTP密钥、会话Cookie;丢失则现有用户MFA设备全部无法解密,需要全部重置MFA
AUTHENTIK_SECRET_KEY=ReplaceMe_Use_openssl_rand_hex_64_GenerateRealKeyHere
# ==============================================
# 镜像版本配置
# ==============================================
# Authentik镜像地址,默认官方ghcr镜像
AUTHENTIK_IMAGE=ghcr.io/goauthentik/server
# Authentik版本标签,和compose里保持一致,升级时修改此处
AUTHENTIK_TAG=2026.5.6
# ==============================================
# 端口映射配置(宿主机端口)
# ==============================================
# HTTP端口,生产环境建议不暴露,只用HTTPS
COMPOSE_PORT_HTTP=9000
# HTTPS访问端口
COMPOSE_PORT_HTTPS=9443
# ==============================================
# Authentik 实例基础URL【非常关键!】
# ==============================================
# 你的访问域名,必须 https:// 开头,结尾不要斜杠
# OIDC回调、WebAuthn、邮件链接全部依赖该配置,写错会各种异常
# 示例:AUTHENTIK_HOST=https://auth.yourdomain.com
# AUTHENTIK_HOST=https://auth.yourdomain.com
# ==============================================
# 邮件服务配置(必填,找回密码、通知、MFA重置通知)
# ==============================================
# SMTP服务器地址
# AUTHENTIK_EMAIL__HOST=smtp.yourmail.com
# SMTP端口 465 ssl / 587 starttls
# AUTHENTIK_EMAIL__PORT=465
# 发件邮箱账号
# AUTHENTIK_EMAIL__USERNAME=auth@yourdomain.com
# 邮箱密码/授权码
# AUTHENTIK_EMAIL__PASSWORD=YourEmailAuthCode
# 是否启用SSL 465一般开启
# AUTHENTIK_EMAIL__USE_SSL=true
# 是否启用STARTTLS
# AUTHENTIK_EMAIL__USE_TLS=false
# 对外展示的发件人
# AUTHENTIK_EMAIL__FROM=Authentik <auth@yourdomain.com>
# ==============================================
# Redis 说明
# 👉你当前docker‑compose里没有写redis service!
# Authentik 2025+版本**强依赖Redis**,缺少redis会启动异常、任务排队、worker报错
# 你的yaml缺少redis服务,下面给你补充完整compose片段在下方
# ==============================================
# ==============================================
# RADIUS 服务(SSH/堡垒机/网络设备2FA,UDP 1812/1813)
# 如果需要RADIUS,需要在server服务增加端口映射
# ports:
# - "1812:1812/udp"
# - "1813:1813/udp"
# ==============================================
# ==============================================
# 可选高级配置
# ==============================================
# 日志级别:debug / info / warning / error
# AUTHENTIK_LOG_LEVEL=info
# 时区,Asia/Shanghai 中国时区
# AUTHENTIK_TIME_ZONE=Asia/Shanghai
