---
title: 配置
description: 运行 Human Plugin 所需设置的环境变量:访问密钥以及与 PostgreSQL 数据库的连接。
canonical: https://developer.unico.io/zh-CN/human-plugin/self-hosting/configuration
locale: zh-CN
generated_by: markdown-export
---

# 配置

访问密钥以及与数据库的连接。缺少或无效的值会导致启动失败。

Human Plugin 在启动时一次性从环境中读取配置。修改任何值后都需要重启容器。

<a id="quick-reference"></a>

## 快速参考

如果数据库使用下列默认值,最小的 `.env` 如下:

```bash title=".env"
HUMAN_API_ACCESS_KEY=<your access key>
POSTGRES_ADDRESS_HOST=<database host>
POSTGRES_PASSWORD=<database password>
```

<a id="access-key"></a>

## 访问密钥

| 变量 | 是否必填 | 说明 |
| --- | --- | --- |
| `HUMAN_API_ACCESS_KEY` | 是 | 您的访问密钥。它将此安装连接到 Unico 并标识您的账户。不得包含空白字符或控制字符。绝不会记录到日志中 |

访问密钥属于机密信息。请将其保存在您的密钥存储中,并在运行时注入容器。

<a id="database-connection"></a>

## 数据库连接

| 变量 | 是否必填 | 默认值 | 说明 |
| --- | --- | --- | --- |
| `POSTGRES_ADDRESS_HOST` | 是 | | PostgreSQL 服务器的主机名或 IP 地址 |
| `POSTGRES_PASSWORD` | 是 | | 不得包含空白字符、单引号、反斜杠或控制字符。若包含上述字符,Human Plugin 将拒绝启动,且不会记录该值 |
| `POSTGRES_ADDRESS_PORT` | 否 | `5432` | |
| `POSTGRES_USER` | 否 | `postgres` | 请使用专供 Human Plugin 使用的角色 |
| `POSTGRES_DATABASE` | 否 | `human_plugin` | 请使用专供 Human Plugin 使用的数据库 |
| `POSTGRES_SSL_MODE` | 否 | `require` | 仅当 PostgreSQL 与其运行在同一主机或作为 sidecar 运行时,才使用 `disable` |

该数据库只能由 Human Plugin 使用。该角色需要具有在其中创建表的权限:Human Plugin 会在启动时、接受请求之前创建并更新自己的表。

密码属于机密信息。与访问密钥一样,请将其保存在您的密钥存储中。

<a id="everything-else"></a>

## 其他设置

镜像已设置所有其他值。除非 Unico 要求,否则请勿设置其他变量:它们不属于受支持的配置。

<a id="example"></a>

## 示例

```bash
docker run -d --name human-plugin --stop-timeout 60 -p 127.0.0.1:8080:8080 \
  -e HUMAN_API_ACCESS_KEY \
  -e POSTGRES_ADDRESS_HOST=db.internal \
  -e POSTGRES_USER=human_plugin \
  -e POSTGRES_PASSWORD \
  pkg.unico.run/human-plugin-api:latest
```

不带值的 `-e NAME` 会从您的 shell 传递该变量,因此机密不会出现在命令行中。