网站搭建
技术教程
ZAP-Hosting Gameserver and Webhosting

使用 Docker Compose 部署 Umami

🚀 使用 Docker Compose 部署 Umami 3.0.0 的 PostgreSQL 数据库新版本,详细步骤

前提条件

  • 一台安装了 Docker 和 Docker Compose 的服务器(或本地机器)。

第一步:创建项目目录和文件

首先,创建一个新的目录用于存放 Umami 的配置文件,并进入该目录。

mkdir /opt/umami
cd /opt/umami

第三步:创建 docker-compose.yml 文件

在同一目录下创建一个名为 docker-compose.yml 的文件,复制下面代码到docker-compose.yml 文件里面保存,用于定义 Umami 服务和 PostgreSQL 数据库服务。

services:
  umami:
    image: ghcr.io/umami-software/umami:postgresql-latest
    ports:
      - "3000:3000"
    environment:
      DATABASE_URL: postgresql://umami:umami@db:5432/umami
      DATABASE_TYPE: postgresql
      APP_SECRET: replace-me-with-a-random-string
      TRACKER_SCRIPT_NAME: tongjifenxi.js
    depends_on:
      db:
        condition: service_healthy
    restart: unless-stopped
  db:
    image: postgres:15-alpine
    environment:
      POSTGRES_DB: umami
      POSTGRES_USER: umami
      POSTGRES_PASSWORD: umami
    volumes:
      - umami_db_data:/var/lib/postgresql/data
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
      interval: 5s
      timeout: 5s
      retries: 5

volumes:
  umami_db_data:

第四步:启动容器

在包含 docker-compose.yml 文件的目录下,执行启动命令:

docker compose up -d
  • up: 创建并启动容器。
  • -d: 在后台(分离模式)运行容器。

第五步:验证和访问

  1. 检查容器状态:Bashdocker ps 你应该能看到 umamiumami-db 两个容器的状态都是 Up
  2. 访问 Umami:打开你的浏览器,访问 http://你的服务器IP或域名:3000
  3. 默认登录凭证:
    • 用户名 (Username): admin
    • 密码 (Password): umami
    重要提示: 首次登录后,请立即修改默认密码!

后续更新

当 umami 更新后,运行下列命令即可更新 umami。

注意是在保存 docker-compose.yml 文件的目录下执行命令。

docker compose pull
docker compose up -d --remove-orphans

🚀 使用 Docker Compose 部署 MySQL 旧版本步骤

步骤同上面部署 Umami 3.0.0 的 PostgreSQL 数据库新版本一样

Umami 运行最低需要 MySQL v5.7,用 MySQL 的话个人建议最好是 8.0

在同一目录下创建一个名为 docker-compose.yml 的文件,复制下面代码到docker-compose.yml 文件里面保存

services:
  umami:
    image: ghcr.io/umami-software/umami:mysql-latest
    restart: always
    depends_on:
      - umami-db
    ports:
      - 3000:3000
    environment:
      DATABASE_TYPE: mysql
      DATABASE_URL: mysql://umami:password@umami-db:3306/umami
      APP_SECRET: replace-me-with-a-random-string
    container_name: umami
  umami-db:
    image: mysql:5.7            # 最好部署新版 mysql:8.0、mysql:8.4
    restart: always
    volumes:
      - ./data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: umami
      MYSQL_USER: umami
      MYSQL_PASSWORD: password
    container_name: umami-db

赞(0) 打赏
未经允许不得转载:科技宝典 » 使用 Docker Compose 部署 Umami