
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
taiga-contrib-openid-auth是一个OpenID/Keycloak认证插件,基于https://github.com/taigaio/taiga-contrib-github-auth%E5%BC%80%E5%8F%91%E3%80%82%E8%AF%A5%E6%8F%92%E4%BB%B6%E5%85%BC%E5%AE%B9Taiga 4.2.1、5.x和6版本,主要用于为Taiga项目管理平台提供OpenID和Keycloak认证功能,允许用户通过OpenID或Keycloak身份提供商进行登录。
适用于需要通过OpenID或Keycloak进行用户身份认证的Taiga部署环境,特别适合企业内部使用Keycloak等身份管理系统的场景,可实现统一身份认证和用户管理。
Docker
该插件与官方Taiga Docker镜像兼容(https://github.com/taigaio/taiga-docker%EF%BC%89%E3%80%82%E9%A1%B9%E7%9B%AE%E6%9E%84%E5%BB%BA%E4%BA%86%E4%B8%A4%E4%B8%AA%E5%9F%BA%E4%BA%8ETaiga%E5%AE%98%E6%96%B9%E9%95%9C%E5%83%8F%E7%9A%84%E9%95%9C%E5%83%8F%EF%BC%8C%E7%A1%AE%E4%BF%9D%E5%85%B6%E4%BB%96%E8%87%AA%E5%AE%9A%E4%B9%89%E9%85%8D%E7%BD%AE%E5%8F%AF%E7%BB%A7%E7%BB%AD%E5%B7%A5%E4%BD%9C%E3%80%82%E4%BB%A5%E4%B8%8B%E6%98%AF%E4%BF%AE%E6%94%B9%E9%BB%98%E8%AE%A4docker-compose%E6%96%87%E4%BB%B6%E4%BB%A5%E5%AE%89%E8%A3%85OpenID%E6%8F%92%E4%BB%B6%E7%9A%84%E6%AD%A5%E9%AA%A4%E3%80%82
镜像信息
提供两个镜像:
robrotheram/taiga-front-openid:前端镜像robrotheram/taiga-back-openid:后端镜像环境变量配置
通过以下环境变量配置前端conf.json和后端settings.py:
| 环境变量 | 说明 |
|---|---|
ENABLE_OPENID | 是否启用OpenID认证,设为"True"启用 |
OPENID_URL | OpenID认证URL,格式:https://{url-to-keycloak}/auth/realms/{realm}/protocol/openid-connect/auth |
OPENID_USER_URL | 用户信息获取URL,格式:https://{url-to-keycloak}/auth/realms/{realm}/protocol/openid-connect/userinfo |
OPENID_TOKEN_URL | 令牌获取URL,格式:https://{url-to-keycloak}/auth/realms/{realm}/protocol/openid-connect/token |
OPENID_CLIENT_ID | OpenID客户端ID |
OPENID_CLIENT_SECRET | OpenID客户端密钥 |
OPENID_NAME | OpenID提供商名称(如"keycloak") |
基于https://github.com/taigaio/taiga-docker%E4%BF%AE%E6%94%B9%E7%9A%84docker-compose%E6%96%87%E4%BB%B6%EF%BC%9A
yamlversion: "3.5" x-environment: &default-back-environment # 数据库设置 POSTGRES_DB: taiga POSTGRES_USER: taiga POSTGRES_PASSWORD: taiga POSTGRES_HOST: taiga-db # Taiga设置 TAIGA_SECRET_KEY: "taiga-back-secret-key" TAIGA_SITES_DOMAIN: "localhost:9000" TAIGA_SITES_SCHEME: "http" # 邮件设置。取消以下行注释并配置SMTP服务器 # EMAIL_BACKEND: "django.core.mail.backends.smtp.EmailBackend" # DEFAULT_FROM_EMAIL: "no-reply@example.com" # EMAIL_USE_TLS: "False" # EMAIL_USE_SSL: "False" # EMAIL_HOST: "smtp.host.example.com" # EMAIL_PORT: 587 # EMAIL_HOST_USER: "user" # EMAIL_HOST_PASSWORD: "password" # Rabbitmq设置 # 应与taiga-async-rabbitmq和taiga-events-rabbitmq中的设置相同 RABBITMQ_USER: taiga RABBITMQ_PASS: taiga # 遥测设置 ENABLE_TELEMETRY: "True" # 启用OpenID时允许注册不存在的用户。设为false以禁用所有注册 PUBLIC_REGISTER_ENABLED: "True" # OpenID设置 ENABLE_OPENID: "True" OPENID_USER_URL : "https://{url-to-keycloak}/auth/realms/{realm}/protocol/openid-connect/userinfo" OPENID_TOKEN_URL : "https://{url-to-keycloak}/auth/realms/{realm}/protocol/openid-connect/token" OPENID_CLIENT_ID : "<CLient ID>" # 替换为实际客户端ID OPENID_CLIENT_SECRET : "<CLient SECRET>" # 替换为实际客户端密钥 x-volumes: &default-back-volumes - taiga-static-data:/taiga-back/static - taiga-media-data:/taiga-back/media # - ./config.py:/taiga-back/settings/config.py # 自定义配置文件(可选) services: taiga-db: image: postgres:12.3 environment: POSTGRES_DB: taiga POSTGRES_USER: taiga POSTGRES_PASSWORD: taiga volumes: - taiga-db-data:/var/lib/postgresql/data networks: - taiga taiga-back: image: robrotheram/taiga-back-openid # 使用OpenID后端镜像 environment: *default-back-environment volumes: *default-back-volumes networks: - taiga depends_on: - taiga-db - taiga-events-rabbitmq - taiga-async-rabbitmq taiga-async: image: taigaio/taiga-back:latest entrypoint: ["/taiga-back/docker/async_entrypoint.sh"] environment: *default-back-environment volumes: *default-back-volumes networks: - taiga depends_on: - taiga-db - taiga-back - taiga-async-rabbitmq taiga-async-rabbitmq: image: rabbitmq:3-management-alpine environment: RABBITMQ_ERLANG_COOKIE: secret-erlang-cookie RABBITMQ_DEFAULT_USER: taiga RABBITMQ_DEFAULT_PASS: taiga RABBITMQ_DEFAULT_VHOST: taiga networks: - taiga taiga-front: image: robrotheram/taiga-front-openid # 使用OpenID前端镜像 environment: TAIGA_URL: "http://localhost:9000" TAIGA_WEBSOCKETS_URL: "ws://localhost:9000" ENABLE_OPENID: "true" OPENID_URL : "https://{url-to-keycloak}/auth/realms/{realm}/protocol/openid-connect/auth" # 替换为实际认证URL OPENID_CLIENT_ID : "<ClientID>" # 替换为实际客户端ID OPENID_NAME: "Name you want to give your openid provider e.g keycloak" # 替换为实际提供商名称 networks: - taiga # volumes: # - ./conf.json:/usr/share/nginx/html/conf.json # 自定义前端配置(可选) taiga-events: image: taigaio/taiga-events:latest environment: RABBITMQ_USER: taiga RABBITMQ_PASS: taiga TAIGA_SECRET_KEY: "taiga-back-secret-key" networks: - taiga depends_on: - taiga-events-rabbitmq taiga-events-rabbitmq: image: rabbitmq:3-management-alpine environment: RABBITMQ_ERLANG_COOKIE: secret-erlang-cookie RABBITMQ_DEFAULT_USER: taiga RABBITMQ_DEFAULT_PASS: taiga RABBITMQ_DEFAULT_VHOST: taiga networks: - taiga taiga-protected: image: taigaio/taiga-protected:latest environment: MAX_AGE: 360 SECRET_KEY: "taiga-back-secret-key" networks: - taiga taiga-gateway: image: nginx:1.19-alpine ports: - "9000:80" volumes: - ./taiga-gateway/taiga.conf:/etc/nginx/conf.d/default.conf - taiga-static-data:/taiga/static - taiga-media-data:/taiga/media networks: - taiga depends_on: - taiga-front - taiga-back - taiga-events volumes: taiga-static-data: taiga-media-data: taiga-db-data: networks: taiga:
注意:使用前需将配置中的占位符(如
{url-to-keycloak}、{realm}、<CLient ID>等)替换为实际环境中的值。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务