
luechtdiode/kutuapp本镜像用于在容器环境中部署kutuapp-server,提供了灵活的配置方式,支持数据库连接和邮件发送功能,适用于开发、测试及生产环境的容器化部署需求。
默认需将可写卷(具备读写权限)挂载至容器内/home/kutuapp路径,用于数据持久化。
默认配置文件(未替换/kutuapp/kutuapp.conf)
当未通过镜像层替换默认配置文件时,支持以下环境变量:
| 环境变量 | 说明 |
|---|---|
X_DB_CONFIG_NAME | 指定配置名称,默认配置中包含PostgreSQL配置kutudb_pg |
X_POSTGRES_HOST | PostgreSQL主机与端口(格式:host:port),数据库名固定为kutuapp,需存在kutu schema |
X_POSTGRES_USER | 数据库连接用户名,需对kutu schema拥有完全权限(可修改表结构及索引) |
X_POSTGRES_PASSWORD | 数据库用户密码 |
自定义配置文件(替换/kutuapp/kutuapp.conf)
若通过镜像层替换配置文件,需注意:
启用邮件功能(如密码重置)需配置以下SMTP相关环境变量:
| 环境变量 | 说明 |
|---|---|
X_SMTP_HOST | SMTP服务器主机地址 |
X_SMTP_PORT | SMTP服务器端口 |
X_SMTP_USERNAME | SMTP认证用户名 |
X_SMTP_DOMAIN | SMTP域名 |
X_SMTP_PASSWORD | SMTP认证密码 |
若替换/kutuapp/kutuapp.conf,配置文件需遵循Scala Slick 3.1数据库连接规范,格式示例:
hocondb { <配置名称> { driver = "slick.jdbc.PostgresProfile$" db { url = "jdbc:postgresql://${X_POSTGRES_HOST}/kutuapp" user = ${X_POSTGRES_USER} password = ${X_POSTGRES_PASSWORD} driver = org.postgresql.Driver } } }
bashdocker run -d \ --name kutuapp-server \ -v /宿主机路径/kutuapp-data:/home/kutuapp \ -e X_DB_CONFIG_NAME=kutudb_pg \ -e X_POSTGRES_HOST=postgres-host:5432 \ -e X_POSTGRES_USER=kutuapp_admin \ -e X_POSTGRES_PASSWORD=SecurePass123! \ -e X_SMTP_HOST=smtp.example.com \ -e X_SMTP_PORT=587 \ -e X_SMTP_USERNAME=*** \ -e X_SMTP_DOMAIN=example.com \ -e X_SMTP_PASSWORD=SMTPpass456! \ kutuapp-server:latest
yamlversion: '3.8' services: kutuapp-server: image: kutuapp-server:latest volumes: - kutuapp-data:/home/kutuapp environment: - X_DB_CONFIG_NAME=kutudb_pg - X_POSTGRES_HOST=postgres:5432 - X_POSTGRES_USER=kutuapp_admin - X_POSTGRES_PASSWORD=SecurePass123! - X_SMTP_HOST=smtp.example.com - X_SMTP_PORT=587 - X_SMTP_USERNAME=*** - X_SMTP_DOMAIN=example.com - X_SMTP_PASSWORD=SMTPpass456! depends_on: - postgres postgres: image: postgres:14 environment: - POSTGRES_DB=kutuapp - POSTGRES_USER=kutuapp_admin - POSTGRES_PASSWORD=SecurePass123! volumes: - postgres-data:/var/lib/postgresql/data command: postgres -c "search_path=kutu,public" volumes: kutuapp-data: postgres-data:
/home/kutuapp的卷具有读写权限,否则可能导致数据持久化失败kutu schema,且数据库用户需拥有该schema的表结构修改权限kutuapp.conf后需确保配置名称与X_DB_CONFIG_NAME匹配更多详情请参考kutuapp项目GitHub
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务