
如果你使用 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是一个为Taiga项目管理平台提供OpenID/Keycloak认证功能的插件。该插件基于taiga-contrib-github-auth开发,兼容Taiga 4.2.1、5.x及6版本,允许用户通过OpenID服务(如Keycloak)进行身份验证并登录Taiga平台。
该插件提供两个Docker镜像,基于官方Taiga镜像构建:
robrotheram/taiga-front-openidrobrotheram/taiga-back-openid通过以下环境变量配置OpenID认证参数:
| 环境变量 | 说明 | 示例 |
|---|---|---|
ENABLE_OPENID | 是否启用OpenID认证 | "True" |
OPENID_URL | OpenID认证端点URL | "https://keycloak.example.com/auth/realms/myrealm/protocol/openid-connect/auth" |
OPENID_USER_URL | OpenID用户信息端点URL | "https://keycloak.example.com/auth/realms/myrealm/protocol/openid-connect/userinfo" |
OPENID_TOKEN_URL | OpenID令牌端点URL | "https://keycloak.example.com/auth/realms/myrealm/protocol/openid-connect/token" |
OPENID_CLIENT_ID | OpenID客户端ID | "<your-client-id>" |
OPENID_CLIENT_SECRET | OpenID客户端密钥 | "<your-client-secret>" |
OPENID_NAME | OpenID提供者显示名称 | "Keycloak" |
以下是基于官方Taiga Docker Compose配置修改的部署示例,集成OpenID认证插件:
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设置 RABBITMQ_USER: taiga RABBITMQ_PASS: taiga # 遥测设置 ENABLE_TELEMETRY: "True" # 允许新用户注册(如禁用所有注册,设为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>" 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: docker.xuanyuan.run/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: docker.xuanyuan.run/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: docker.xuanyuan.run/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: docker.xuanyuan.run/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: docker.xuanyuan.run/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" OPENID_CLIENT_ID : "<ClientID>" OPENID_NAME: "Keycloak" # OpenID提供者显示名称 networks: - taiga # volumes: # - ./conf.json:/usr/share/nginx/html/conf.json # 如需自定义前端配置,取消注释 taiga-events: image: docker.xuanyuan.run/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: docker.xuanyuan.run/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: docker.xuanyuan.run/taigaio/taiga-protected:latest environment: MAX_AGE: 360 SECRET_KEY: "taiga-back-secret-key" networks: - taiga taiga-gateway: image: docker.xuanyuan.run/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:
docker-compose.yml{url-to-keycloak}、{realm}、<Client ID>、<Client SECRET>等)为实际值docker-compose up -d启动服务http://localhost:9000,Taiga登录页面将显示配置的OpenID认证选项PUBLIC_REGISTER_ENABLED设为"True"时,新用户可通过OpenID自动注册;设为"False"时,仅允许已有用户通过OpenID登录config.py或前端的conf.json)您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务