YAML 文件中设置 Umami 的 BASE_URL 环境变量
2025-07-31
7
参考资料
YAML 文件中设置 Umami 的 BASE_URL 环境变量
在 YAML 文件中设置 Umami 的 BASE_URL
环境变量时,你需要将其添加到 environment
部分。以下是不同场景下的配置方法:
1. Docker Compose 配置示例
version: '3' services: umami: image: ghcr.io/umami-software/umami:latest container_name: umami ports: - "3000:3000" environment: - DATABASE_URL=postgresql://user:password@postgres/umami - BASE_URL=https://yourdomain.com # 必须与访问域名一致 depends_on: - postgres postgres: image: postgres:15-alpine environment: POSTGRES_DB: umami POSTGRES_USER: user POSTGRES_PASSWORD: password volumes: - umami-db-data:/var/lib/postgresql/data volumes: umami-db-data:
2. Kubernetes Deployment 配置示例
apiVersion: apps/v1 kind: Deployment metadata: name: umami spec: replicas: 1 selector: matchLabels: app: umami template: metadata: labels: app: umami spec: containers: - name: umami image: ghcr.io/umami-software/umami:latest ports: - containerPort: 3000 env: - name: DATABASE_URL value: "postgresql://user:password@postgres/umami" - name: BASE_URL value: "https://yourdomain.com" # 必须与访问域名一致
3. Helm Chart values.yaml 配置示例
umami: image: repository: ghcr.io/umami-software/umami tag: latest env: - name: BASE_URL value: "https://yourdomain.com" # 必须与访问域名一致 - name: DATABASE_URL value: "postgresql://user:password@postgres/umami"
关键注意事项:
协议匹配:确保与 Nginx 配置的协议一致
# 如果 Nginx 使用 HTTPS - BASE_URL=https://yourdomain.com # 如果 Nginx 使用 HTTP - BASE_URL=http://yourdomain.com
域名一致性:
必须与用户访问的域名完全一致
必须与 Nginx 配置中的
server_name
一致特殊字符处理:
- BASE_URL="https://sub.example.com/path?param=value"
如果 URL 包含特殊字符(如
&
,#
等),使用引号包裹路径支持:
# 如果使用子路径访问 - BASE_URL=https://yourdomain.com/subpath
验证配置是否生效:
进入容器检查环境变量:
docker exec -it umami-container env | grep BASE_URL # 应该输出:BASE_URL=https://yourdomain.com
检查 Umami 日志:
docker logs umami-container | grep 'BASE_URL' # 正常启动应显示:Using base url: https://yourdomain.com
完整 Nginx 配置参考:
server { listen 80; server_name yourdomain.com; location / { proxy_pass http://umami:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }
确保 YAML 文件中的缩进正确(使用空格而非制表符),并重启服务使配置生效:
docker-compose down && docker-compose up -d