部署 umami.is

3,234次阅读
尚無留言

共计 2541 个字符,预计需要花费 7 分钟才能阅读完成。

部署 umami.is

1、拉取 Docker umami 镜像
docker pull docker.umami.is/umami-software/umami:postgresql-latest

2、 创建唯一 HASH
openssl rand -hex 32

2.1、创建 docker-compose.yml
nano docker-compose.yml 
services:
  umami:
    image: ghcr.io/umami-software/umami:postgresql-latest
    ports:
      - "3000:3000"
    environment:
      DATABASE_URL: postgresql://ianext:www.ianext.com@postgres:5432/ianext
      HASH_SALT: www.ianext.com #创建唯一 HASH 
    depends_on:
      postgres:
        condition: service_healthy
    networks:
      - umami-network
    restart: always
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:3000"]
      interval: 10s
      timeout: 5s
      retries: 10
      start_period: 30s

  postgres:
    image: postgres:14-alpine
    volumes:
      - postgres-data:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: ianext #数据库名字
      POSTGRES_USER: ianext #数据库用户名
      POSTGRES_PASSWORD: www.ianext.com #数据库密码
    networks:
      - umami-network
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U umami -d umami"]
      interval: 5s
      timeout: 5s
      retries: 5
    restart: always

networks:
  umami-network:

volumes:
  postgres-data:


3、通过 docker-compose.yml 部署文件 安装 Docker umami 镜像
docker compose up -d
配置 nginx 站点访问 或 直接通过端口 3000 访问
 可以自行考虑配置 nginx 内容(复制以下内容即可)

# HTTP 自动跳转 HTTPS
server {
    listen 80;
    server_name u.ianext.com;
    return 301 https://$host$request_uri;
}

# HTTPS 主服务 - 反向代理到 umami
server {
    listen 443 ssl;
    http2 on;
    server_name u.ianext.com;  # 仅保留一个域名定义
    
    ssl_certificate /root/.acme.sh/you.domain.com_ecc/fullchain.cer;
    ssl_certificate_key /root/.acme.sh/you.domain.com_ecc/ianext.com.key;
    
    ssl_session_timeout 5m;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers "TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:!MD5";
    ssl_prefer_server_ciphers on;
    ssl_session_cache builtin:1000 shared:SSL:10m;
    ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem;

    # 反向代理核心配置
    location / {
        proxy_pass http://127.0.0.1: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";
        proxy_read_timeout 86400;
    }

    # 安全规则
    location ~ /\.(env|git) {
        deny all;
    }
    
    location ~ /.well-known {
        allow all;
    }
    
    access_log /home/wwwlogs/u.ianext.com.log;
}
3、最后
3.1、重启 nginx 或者 lnmp
3.2、防火墙开启 3000 端口

3.3、网页添加代码
3.3.1、默认账号与密码登录 umami.ianext.com
3.3.2、添加网站信息 www.ianext.com
3.3.3、点击 编辑
3.3.4、点击 跟踪代码
3.3.5、将以下代码复制到你的网站内容中,比如 wordpress 可以选择 Insert Headers and Footers 插件
<script defer src="https://u.ianext.com/script.js" data-website-id="709394"></script>
3.3.5.1、可以在 nginx 网站配置文件添加其代码

3.3.6 如果不懂,可以考虑 AI 咨询 或 官方网站 umami
部署 umami.is

记得修改 umami 默认登陆的端口或者是管理员密码
正文完
 0
ianext
版权声明:本站原创文章,由 ianext 于2025-06-17发表,共计2541字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。

選擇比努力更重要。

评论(尚無留言)
验证码