# アクセス解析ツール Umami の導入

**URL:** https://forum.ficusonline.com/t/topic/565
**Category:** Server
**Tags:** umami
**Created:** [2026 年 8 月 27 日午前 9:05 UTC](https://forum.ficusonline.com/t/topic/565 "2026-08-27T09:05:26Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![tk-fuse](https://forum.ficusonline.com/user_avatar/forum.ficusonline.com/tk-fuse/32/255_2.png) [@tk-fuse](https://forum.ficusonline.com/u/tk-fuse)
#### Post date: [2026 年 8 月 27 日午前 9:05 UTC](https://forum.ficusonline.com/t/topic/565/1 "2026-08-27T09:05:27Z")

</div>

docker-compose

> <https://github.com/umami-software/umami/blob/master/docker-compose.yml>

ドキュメント

> **[Introduction – umami](https://docs.umami.is/docs)**
>
> Documentation for Umami, a modern privacy-focused analytics platform.

.envとdocker-compose.ymlの作成

`docker-compose.yml`

```yaml
services:
  umami:
    image: ghcr.io/umami-software/umami:latest
    container_name: umami
    ports:
      - "3080:3000"
    environment:
      DATABASE_URL: postgresql://${DB_USER}:${DB_PASSWORD}@umami-db:5432/${DB_DATABASE}
      APP_SECRET: ${SECRET}
      TWO_FACTOR_ENCRYPTION_KEY: ${KEY}
    depends_on:
      umami-db:
        condition: service_healthy
    init: true
    restart: always
    healthcheck:
      test: ["CMD-SHELL", "curl http://localhost:3000/api/heartbeat"]
      interval: 5s
      timeout: 5s
      retries: 5
      
  umami-db:
    image: postgres:16-alpine
    container_name: umami-db
    environment:
      POSTGRES_DB: ${DB_DATABASE}
      POSTGRES_USER: ${DB_USER}
      POSTGRES_PASSWORD: ${DB_PASSWORD}
    volumes:
      - ./umami-db-data:/var/lib/postgresql/data
    restart: always
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
      interval: 5s
      timeout: 5s
      retries: 5

```

> 注）ホストのポート3000は使用中のため3080へ変更。.envでユーザ名、パスワードなどを指定。

`.env`

```auto
### # Required for two-factor authentication, generate with: openssl rand -hex 32
KEY="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
### $ uuidgen
SECRET="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

DB_DATABASE="umami"
DB_USER="umami"
### $ pwgen -s 15 1 or $ openssl rand -base64 16
DB_PASSWORD="xxxxxxxxxxxxxxxxxxxxxxx"

```

起動

```shell
$ docker compose up -d

```

ステータス

```shell
$ docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
umami ghcr.io/umami-software/umami:latest "docker-entrypoint.s…" umami 2 hours ago Up 2 hours (healthy) 0.0.0.0:3080->3000/tcp, [::]:3080->3000/tcp
umami-db postgres:16-alpine "docker-entrypoint.s…" umami-db 2 hours ago Up 2 hours (healthy) 5432/tcp

```

#### アクセス：http://\<host\_pc\_local\_ip\>:3080

ユーザ名：admin  
パスワード：umami

**ログイン画面**

 ![Screenshot from 2026-08-27 18-20-27](https://forum.ficusonline.com/uploads/default/original/2X/8/8c944c4fd5e2229261ae03947026858e9b4c4878.png)

**ユーザ名・パスワード変更**

ユーザ名とパスワードはログイン後変更すること。

 ![Screenshot from 2026-08-27 18-21-15](https://forum.ficusonline.com/uploads/default/original/2X/e/ea26ec75c3cc4aaee9121d0f58514a43482dd734.png)

**サイト追加**

 ![Screenshot from 2026-08-27 18-26-24](https://forum.ficusonline.com/uploads/default/original/2X/4/4de83d2aeb038c41f3de2f7425d517df714dcc93.png)

> 注）Nginxのプロキシを利用してパブリックドメインでアクセスできるようにすること。  
> 例）[https://umami.example.com](https://umami.example.com)

---

<div class="post-metadata">

### Author: ![tk-fuse](https://forum.ficusonline.com/user_avatar/forum.ficusonline.com/tk-fuse/32/255_2.png) [@tk-fuse](https://forum.ficusonline.com/u/tk-fuse)
#### Post date: [2026 年 8 月 28 日午前 6:20 UTC](https://forum.ficusonline.com/t/topic/565/2 "2026-08-28T06:20:01Z")

</div>

## トラブルシュート

### アクセス元の地域、都市が表示されない

> <https://github.com/umami-software/umami/issues/2624>
>
> \### Describe the Bug
> 
> No region and cities are showing in Umami dashboard, while… countries are showing.
> Countries:
> \<img width="586" alt="image" src="https://github.com/umami-software/umami/assets/57860123/10cc931a-db15-4743-a8d3-f41e5013c1b8"\>
> Region:
> \<img width="1393" alt="image" src="https://github.com/umami-software/umami/assets/57860123/8ceb984c-9f92-4279-a962-c780e473c1c8"\>
> Cities:
> \<img width="1445" alt="image" src="https://github.com/umami-software/umami/assets/57860123/9632a05d-d696-4296-ab00-1eaeb1d4d869"\>
> 
> 
> \### Database
> 
> PostgreSQL
> 
> \### Relevant log output
> 
> \_No response\_
> 
> \### Which Umami version are you using? (if relevant)
> 
> v2.10.2
> 
> \### Which browser are you using? (if relevant)
> 
> Chrome
> 
> \### How are you deploying your application? (if relevant)
> 
> Docker

**Cloudflareの設定**

domain → Rules → Settings → Managed Transforms

> **Add visitor location headers**

 ![Screenshot from 2026-08-28 15-16-06](https://forum.ficusonline.com/uploads/default/original/2X/8/823821e1767329f64510ee6e53224b0ca940b6bd.png)

Cloudflareを経由している場合、リクエストは実質的に **クライアント → Cloudflareのエッジサーバー → オリジン(Nginx→Umami)** という経路になります。この構成では、オリジン側(Umamiのnode-geoip処理)が見ているIPは最終的に正しいクライアントIPになりますが、Cloudflare自体が既に **独自の高精度な位置情報判定** を行っており、それを `CF-IPCountry`, `CF-IPCity`, `CF-Region` などの専用ヘッダーとして付与できる仕組みを持っています。

「Managed Transforms → Add visitor location headers」を有効にすることで、Cloudflareが位置情報ヘッダーをオリジンまで転送するようになるため、Umami(または対応しているアプリ)側でそれを利用できるようになります。

---

<div class="post-metadata">

### Author: ![tk-fuse](https://forum.ficusonline.com/user_avatar/forum.ficusonline.com/tk-fuse/32/255_2.png) [@tk-fuse](https://forum.ficusonline.com/u/tk-fuse)
#### Post date: [2026 年 8 月 28 日午前 6:35 UTC](https://forum.ficusonline.com/t/topic/565/3 "2026-08-28T06:35:36Z")

</div>

## Nuxtフレームワークへ導入

> **[Proxy Mode - Configuration](https://umami.nuxt.dev/api/configuration#proxy-mode)**
>
> Add umami to your Nuxt config. | Configure Nuxt Umami to work with your app.

nuxt-umamiのインストール

```shell
$ docker run --rm -it --env-file ./agency-os/.env \
-v "$(pwd)/agency-os:/app" -w /app node:24-alpine \
sh -c "corepack enable && corepack prepare --activate && \
pnpm install --frozen-lockfile && pnpm add -D nuxt-umami"

```

上記パッケージをインストール後`nuxt.config.ts`に設定を追加

`agency-os/nuxt.config.ts`

```auto
export default defineNuxtConfig({

	modules: [
		
		'nuxt-umami'
	],

	umami: {
		host: 'https://umami.ficusonline.com',
		id: 'a8226e9a-73ee-444b-9006-8300ef72300c',
		autoTrack: true,
		// 開発環境でもテスト送信したい場合は true、止めたい場合は false
		// （旧 logModal は廃止されたため、テスト環境での無効化等は ignoreLocal などを使用）
		ignoreLocal: true, // localhostからのアクセスを除外する場合
	},

});

```

リビルド

> 注）corepackを使用しないとpackage.jsonで指定したpnpmのパージョンが採用されないためビルドエラー

```auto
$ docker run --rm -it --env-file ./agency-os/.env  
-v "$(pwd)/agency-os:/app" -w /app node:24-alpine  
sh -c "corepack enable && corepack prepare --activate && \ 
pnpm install --frozen-lockfile && pnpm build"

```

* * *

## Discourseへ適用

テーマとコンポーネント—\>テーマの編集—\>カスタムコード—\>コードを編集

\<head\>タグにumamiで取得したトラッキングコード追加

```auto
<script defer src="https://example.com/script.js" data-website-id="xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"></script>

```

* * *

## Prestashopへ適用

テーマのhead.tplへトラッキングコードを追加

`themes/classic/templates/_partials/head.tpl`

```auto
{block name='hook_extra'}
  <script defer src="https://umami.example.com/script.js" data-website-id="xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"></script>
{/block}

```

> 注）アップデート後にファイルが更新されるため、その都度置き換える必要あり。
