AI摘要:

本文介绍了使用Docker Compose创建Umami项目的步骤。首先,在宝塔后台的php项目中添加了一个用于承载Umami的网站,申请了Let's Encrypt SSL证书并开启了强制HTTPS。接着,在站点文件夹下创建了Umami文件夹和描述文件docker-compose.yml,其中定义了两个服务:umami和db,使用了Umami和PostgreSQL的Docker镜像。配置了各种环境变量,如数据库连接信息、密码等。然后,通过运行docker-compose up -d上线了容器。文章提供了Umami添加追踪代码的方法,并给出了在不同网站平台上添加的具体步骤。此外,还包含了遇到的问题解决办法备忘,包括阿里云容器镜像加速配置和网站迁移办法。整体而言,文章详细介绍了Umami项目的搭建和相关问题的解决方案,适合有一定Docker和Umami经验的读者。

(使用Docker Compose创建项目)

  1. 在宝塔后台php项目添加用以承载Umami的网站(无需数据库),申请Let's Encrypt ssl证书并开启强制https。
  2. 在站点文件夹下创建Umami文件夹和描述文件docker-compose.yml

    version: '3'
    services:
      umami:
     image: ghcr.io/umami-software/umami:postgresql-latest
     ports:
       - "4000:3000"
     environment:
       DATABASE_URL: postgresql://umami:umami@db:5432/umami # 这里的数据库和密码要和下方你修改的相同
       DATABASE_TYPE: postgresql
       HASH_SALT: SWPqjnzD0T1bCbjJ6dZNYPkhH2fwHL2
     depends_on:
       - db
     restart: always
      db:
     image: postgres:12-alpine
     environment:
       POSTGRES_DB: umami
       POSTGRES_USER: umami # 数据库用户
       POSTGRES_PASSWORD: umami  # 数据库密码
     volumes:
       - ./sql/schema.postgresql.sql:/docker-entrypoint-initdb.d/schema.postgresql.sql:ro
       - ./umami-db-data:/var/lib/postgresql/data
     restart: always
  3. 在该目录下通过docker-compose up -d上线容器即可。
  4. 设置反代并设置目录禁止访问即可完成网站域名访问,进入按提示完成管理员配置和网站配置即可。默认初始管理账号为admin,密码为umami,登录后即可更改。在umami添加网站后把相关跟踪代码粘贴到网站代码中即可。
  5. 对wordpress,添加在主题的header.php或对应主题全局页眉页脚设置中即可。
  6. 对cryptgeon,通过宝塔docker管理器终端访问容器中/app/frontend/index.html,添加追踪代码即可。
  7. 对Typecho,在主题设置或页眉页脚php文件中加入追踪代码即可。

    遇到的问题解决办法备忘

    阿里云容器镜像加速配置

  8. 上线容器时遇到拉取镜像过慢,需要配置镜像加速。即更改/etc/docker/daemon.json文件下的内容。
  9. 其中阿里云加速镜像需要创建个人仓库后得到一个专属链接(加速地址可在控制台-容器镜像服务-镜像工具-镜像加速器中查询)
  10. 国内镜像

    http://hub-mirror.c.163.com        #网易
    registry.docker-cn.com             #docker中国区官方
  11. 相关命令

    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
     "registry-mirrors":
     ["registry.docker-cn.com"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker

    可通过docker info检查是否加载成功。本例最后使用网易镜像成功拉取最大的镜像。

网站迁移办法

  • 在新服务器用docker compose重新拉取镜像后,将umami-db-data文件夹覆盖替换后重新上线网站即可
文章目录