提问人:max 提问时间:11/17/2023 更新时间:11/17/2023 访问量:21
在 grafana 启动时预配用户
Provision user(s) at grafana start-up
问:
我想使用预配置的用户启动一个 grafana 容器,只有查看权限。虽然可以使用 和 环境变量或在 grafana.ini
文件中轻松配置管理员用户,但我找不到添加初始标准用户的选项。GF_SECURITY_ADMIN_USER
GF_SECURITY_ADMIN_PASSWORD
可以轻松地将 -file 挂载到容器中,例如在 docker-compose 中:grafana.ini
version: '3'
services:
grafana:
image: grafana/grafana-oss:10.2.0
container_name: grafana
volumes:
- ./grafana.ini:/etc/grafana/grafana.ini:ro
environment:
- GF_SECURITY_ADMIN_USER=AdminUser
- GF_SECURITY_ADMIN_PASSWORD=PASSW0RD
但是没有选项可以创建本地 SQLlite 数据库的用户。
思路:config-container + REST api
我能想到的唯一方法是启动第二个容器,通过REST添加用户,例如在带有bash脚本的alpine容器中:
#!/bin/bash
curl -X POST \
"http://AdminUser:PASSW0RD@grafana:3000/api/admin/users" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"name": "TestUser",
"login": "TestUser",
"password": "TestUserPassword"
}'
这或多或少与之前建议的在启动后使用 ansible 配置 grafana 的想法大致相同。
想法:users.yaml |不工作
询问 ChatGPT,它不断建议与用户挂载一个 YAML 文件(例如调用它),以便:grafana_users.yaml
/etc/grafana/provisioning/dashboards/users.yaml
apiVersion: 1
users:
- name: TestUser
password: TestUserPassword
role: Editor
并将以下绑定添加到 docker-compose 配置中:
volumes:
- ./grafana_users.yaml:/etc/grafana/provisioning/dashboards/users.yaml:ro
根据日志,这没有任何效果,ChatGPT 的建议无论如何都是指 grafana 7.x ......
知道如何在配置时自动创建权限少于管理员的用户吗?(无需启动第二个容器来进行配置,这也只需要在第一次启动时启动,而不是每次启动时启动。docker compose up
答: 暂无答案
评论