docker compose 环境下安装 authentik
1.添加环境参数
echo "PG_PASS=$(openssl rand -base64 36 | tr -d '\n')" >> .env
echo "AUTHENTIK_SECRET_KEY=$(openssl rand -base64 60 | tr -d '\n')" >> .env
--打开报错提示
echo "AUTHENTIK_ERROR_REPORTING__ENABLED=true" >> .env
2.docker加速
mkdir -p /etc/docker
nano /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.m.daocloud.io/"
]
}
- 下载配置文件
mkdir -p /opt/authentik
wget https://docs.goauthentik.io/docker-compose.yml
4.启动
cd /opt/authentik
docker-coompose up -d
- 创建管理员账号
pwd --查看下目录是否在 /opt/authentik
docker-compose exec server python3 -c '
import os
import django
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "authentik.root.settings")
django.setup()
from authentik.core.models import User, Group
from django.contrib.auth.hashers import make_password
========== 只改这一行!==========
RAW_PASSWORD = "1qaz@WSX" # 替换为你的强密码
===============================
1. 创建/获取 admin 用户
hashed_pwd = make_password(RAW_PASSWORD)
user, user_created = User.objects.get_or_create(
username="admin",
defaults={"email": "admin@admin.com", "password": hashed_pwd, "is_active": True})
print(f" 用户 admin:{'创建成功' if user_created else '已存在'}") # 所有文本加引号
2. 创建/获取管理员组
admin_group, group_created = Group.objects.get_or_create(name="authentik Admins")
print(f"管理员组:{'创建成功' if group_created else '已存在'}") # 所有文本加引号
3. 关联用户和组(适配2025.10表结构)
User.groups.through.objects.filter(user=user, group=admin_group).delete()
User.groups.through.objects.create(user=user, group=admin_group)
print(" admin 已加入 authentik Admins 组(超级管理员权限)")
'
--将用户加入管理员组
docker-compose exec server python3 /manage.py create_admin_group testuser
--添加新的用户
docker-compose exec server python3 /manage.py shell
from authentik.core.models import User
User.objects.create_user(username="testuser", password="Pass1234")
exit()
