authentik部署教程
搭建缘由
authentik是一个统一登录平台(SSO)。
在家里玩服务器的或多或少都搭建了不知多少套服务在服务器上,但是这些服务大多数都需要登录各自的账号,但时间一长就不记得各自账号密码了。这个时候就联想起我学校的统一登录平台了,一次登录,全部服务都可以免登录使用了。还真挺方便的。
正巧我在某天我在网上冲浪的时候偶然发现别人家的登录界面十分好看,通过登录窗口下方的简介发现是由authentik提供的支持,便萌生出自己搭建一下看看自己能不能把自家的其他服务接入到这个统一登录平台上来。
部署过程
authentik官方推荐在测试环境或者在小规模生产环境中使用docker的形式部署到服务器上,而我这边正好符合,因此就以docker的形式部署。
官方要求服务器要有双核或以上的处理器核心,大于等于2G的运行内存。
首先登录到服务器,检查docker是否安装
root@germany:~# docker --version
Docker version 28.1.1, build 4eba377
root@germany:~#创建存放authentik docker-compose.yml文件的目录
我这里就在root目录下直接创建authentik目录
root@germany:~# mkdir /root/authentik下载官方提供的docker-compose.yml文件,并存放到/root/authentik中
root@germany:~/authentik# cd /root/authentik/
root@germany:~/authentik# wget https://goauthentik.io/docker-compose.yml
--2025-04-24 05:02:12-- https://goauthentik.io/docker-compose.yml
Resolving goauthentik.io (goauthentik.io)... 2606:4700:20::681a:a56, 2606:4700:20::ac43:4aa8, 2606:4700:20::681a:b56, ...
Connecting to goauthentik.io (goauthentik.io)|2606:4700:20::681a:a56|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/x-yaml]
Saving to: 'docker-compose.yml'
docker-compose.yml [ <=> ] 2.79K --.-KB/s in 0s
2025-04-24 05:02:12 (36.0 MB/s) - 'docker-compose.yml' saved [2854]
root@germany:~/authentik# ls
docker-compose.yml
root@germany:~/authentik#下载命令:
wget https://goauthentik.io/docker-compose.yml
在目录下创建.env文件
.env文件中存放了PostgreSQL数据库的密码,Authentik的一个私钥和其他设置。官方部署文档中提供了创建密码和私钥的命令,我们直接执行即可。
root@germany:~/authentik# echo "PG_PASS=$(openssl rand -base64 36 | tr -d '\n')" >> .env
root@germany:~/authentik# echo "AUTHENTIK_SECRET_KEY=$(openssl rand -base64 60 | tr -d '\n')" >> .env这里我还需要修改一下http端口默认的端口号。因此在.env文件中追加
root@germany:~/authentik# echo "COMPOSE_PORT_HTTP=1080" >> .env
root@germany:~/authentik# echo "COMPOSE_PORT_HTTPS=10443" >> .env如果需要修改其他设置的话,可以自行在.env文件中添加。
编写完.env文件后就要让docker去拉取镜像了。
拉取镜像并启动服务。
拉取镜像:docker compose pull
root@germany:~/authentik# docker compose pull //拉取镜像
root@germany:~/authentik# docker image ls //拉取成功后查看镜像列表
REPOSITORY TAG IMAGE ID CREATED SIZE
ghcr.io/goauthentik/server 2025.2.4 e3c993bbf4f6 2 weeks ago 1.11GB
postgres 16-alpine 2875f9e036c2 7 weeks ago 275MB
redis alpine 8f5c54441eb9 3 months ago 41.4MB
root@germany:~/authentik#在国内环境可能会拉取失败,可以配置代理或者加速服务。
启动服务docker compose up -d
root@germany:~/authentik# docker compose up -d初始化
服务启动后浏览器访问
http://<your server's IP or hostname>:9000/if/flow/initial-setup/进行初始化操作。自此部署完成,日后有时间的话将介绍如何进行登录界面美化和接入其他服务。
这是我进行美化过的登录界面
登录到nbpush.cn
参考:官方部署教程
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。