摘要生成中...
AI 摘要
Hunyuan-lite

本文记录 Authentik 的部署过程以及踩坑点。

安装前的配置

Authentik 的官方文档讲得非常详细,照着做就行。我是通过 Docker 部署的,首先在服务器中找个地方新建文件夹,下载 compose.yml

1
wget https://docs.goauthentik.io/compose.yml

端口映射配置

安装教程生成 .env 环境变量文件。因为目前我的规划是:https://auth.uuanqin.top -> Nginx 转发到 8111 端口使用 Authentik 服务。因此环境变量增加额外配置:

1
COMPOSE_PORT_HTTP=8111

DNS 配置和 Nginx 配置我就省略了哈,我博客的其他文章会介绍这部分的操作。

邮件服务配置

我们可以提前设置好邮件服务。我使用的是微信企业邮箱,配置示例 [1]

1
2
3
4
5
6
7
8
9
10
11
12
13
# SMTP Host Emails are sent to
AUTHENTIK_EMAIL__HOST=smtp.exmail.qq.com
AUTHENTIK_EMAIL__PORT=465
# Optionally authenticate (don't add quotation marks to your password)
[email protected]
AUTHENTIK_EMAIL__PASSWORD=<your_password>
# Use StartTLS
AUTHENTIK_EMAIL__USE_TLS=false
# Use SSL
AUTHENTIK_EMAIL__USE_SSL=true
AUTHENTIK_EMAIL__TIMEOUT=10
# Email address authentik will send from, should have a correct @domain
[email protected]

记得开启 TLS 和 SSL 不要同时开启。

PostgreSQL 端口开放

因为 Authentik 中带有 PostgreSQL,如果想通过数据库管理工具连接,那么需要先开放端口。在 compose.yml 中增加 ports 属性 "5433:5432"。选择 5433 的原因是服务器 5432 已经有其他的 PostgreSQL 占用了。

1
2
3
4
5
6
7
8
9
10
11
12
13
services:
postgresql:
env_file:
- .env
environment:
POSTGRES_DB: ${PG_DB:-authentik}
POSTGRES_PASSWORD: ${PG_PASS:?database password required}
POSTGRES_USER: ${PG_USER:-authentik}
restart: unless-stopped
ports:
- "5433:5432"
volumes:
- database:/var/lib/postgresql/data

安装

执行以下命令完成安装与启动:

1
2
docker compose pull
docker compose up -d

镜像拉取要好久。拉取完毕后执行启动,使用 docker ps 观察情况,在都 Healthy 前不要轻举妄动:

image.png

一切都 OK 后,访问 https://auth.uuanqin.top/if/flow/initial-setup/ 即可进行管理员 akadmin 信息的设置。

访问管理员初始化设置页面出现 Not Found

检查浏览器地址栏是不是漏掉了一个斜杠 /,请补齐。

在进行信息设置时,建议先设置纯数字密码。因为我尝试过带句点 .- 的密码会返回 5XX 错误。你可以在后面的管理员界面再改回来。

访问 https://auth.uuanqin.top/ 进入登录界面:

image.png

如果 .env 需要更改的话,改动后执行以下指令以应用新配置:

1
docker compose up -d

测试与链接

测试邮件服务

运行以下命令即可进行邮件测试:

1
docker compose exec worker ak test_email <测试邮件收件地址>

image.png

连接到 PostgreSQL 数据库

在之前的章节中,我们开放了 5433 端口。要想外网能成功访问,还需要记得在服务器安全组中开放 5433 端口。此外,通过观察 compose.yml 我们得知了:

  • PostgreSQL 数据库名默认为 authentik
  • PostgreSQL 数据库密码在 .env 中生成的 PG_PASS
  • PostgreSQL 数据库用户名默认为 authentik

连接的时候,直接安照参数连接就行:

image.png

善后配置

管理员界面 ->左侧「系统」->设置 ->头像。关闭 Gravatar 服务,保留 Initials 即可。记得保存。

后记

难用哈,和 Casdoor 坐一桌。开坑即弃坑。

本文参考


  1. 常用邮件客户端软件POP/IMAP/EXCHANGE协议设置-帮助中心-企业微信 ↩︎