
mbrandau/url-shortener该镜像是一个基于Node.js、GraphQL和PostgreSQL构建的无头(无UI)URL缩短器。它专注于后端功能,通过GraphQL API提供URL缩短服务,支持自定义授权策略和统计功能,适用于需要集成URL缩短服务的后端应用场景。
json{ "access": { "create": ["public"], // 创建权限,"public"表示公开访问 "read": ["public"], // 读取权限,"public"表示公开访问 "update": [], // 更新权限,空数组表示禁止访问 "delete": [] // 删除权限,空数组表示禁止访问 }, "ids": { "alphabet": "***", // 生成短ID使用的字符集 "caseSensitive": false, // ID是否区分大小写 "preserveDeleted": true, // 是否保留已删除的ID "generatorBlacklist": [], // ID生成器黑名单 "generatorBlacklistRegex": "ad", // ID生成器黑名单正则表达式 "generalBlacklist": [""] // 通用黑名单 } }
该URL缩短器依赖PostgreSQL数据库,需通过环境变量进行配置。
POSTGRES:PostgreSQL数据库连接字符串,必填PORT:服务端口,默认值为80yamlversion: '3' services: app: image: mbrandau/url-shortener ports: - 8081:80 # 端口映射,宿主端口8081映射到容器端口80 environment: POSTGRES: postgres://urlshortener@postgres/urlshortener # PostgreSQL连接字符串 links: - postgres # 链接到postgres服务 depends_on: - postgres # 依赖postgres服务启动 volumes: - ./config.json:/usr/src/app/config.json # 挂载自定义配置文件 postgres: image: postgres # 使用官方PostgreSQL镜像 environment: POSTGRES_USER: urlshortener # PostgreSQL用户名 volumes: - postgres:/var/lib/postgresql/data # 持久化PostgreSQL数据 volumes: postgres: {} # 定义PostgreSQL数据卷
POSTGRES环境变量正确配置数据库连接字符串config.json文件自定义权限和ID生成规则manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务