Plausible Analytics 开发环境搭建指南
2025-07-05 06:14:37作者:庞眉杨Will
项目概述
Plausible Analytics 是一个轻量级的网站分析工具,专注于隐私保护和简洁易用。本文将为开发者详细介绍如何搭建 Plausible Analytics 的开发环境,帮助开发者快速上手项目开发。
环境准备
基础软件要求
在开始之前,请确保你的开发机器上已安装以下软件:
- Docker:用于运行数据库服务
- Elixir:项目的后端语言
- Erlang:Elixir 的运行环境
- Node.js:前端资源构建所需
推荐使用版本管理工具如 asdf 来管理这些软件的版本,项目中的 .tool-versions
文件已经包含了所需的版本信息。
开发环境搭建
数据库服务启动
Plausible Analytics 使用两种数据库:
- Postgres:存储用户和站点元数据
- Clickhouse:存储分析事件数据
使用以下命令启动数据库容器:
make postgres
make clickhouse
项目初始化
完整的初始化过程可以通过单个命令完成:
make install
或者你也可以分步执行:
-
获取 Elixir 依赖:
mix deps.get
-
创建数据库:
mix ecto.create
-
执行数据库迁移:
mix ecto.migrate
-
安装前端依赖:
npm ci --prefix assets npm ci --prefix tracker
-
设置前端构建工具:
mix assets.setup
-
构建追踪脚本:
npm run deploy --prefix tracker
-
下载地理位置数据库:
mix download_country_database
启动开发服务器
完成初始化后,使用以下命令启动开发服务器:
make server
# 或者
mix phx.server
服务器启动后,可以通过 http://localhost:8000
访问本地开发环境。
数据库种子数据
为了便于开发测试,项目提供了种子数据功能:
-
执行种子脚本:
mix run priv/repo/seeds.exs
-
使用以下凭证登录:
- 邮箱:user@plausible.test
- 密码:plausible
-
你将获得一个名为
dummy.site
的测试站点,其中包含生成的统计数据。
或者你也可以手动创建账户:
- 访问
http://localhost:8000/register
注册新账户 - 使用
dummy.site
作为测试域名 - 跳过 JS 代码片段步骤
- 生成测试页面浏览事件:
mix send_pageview
开发环境维护
停止数据库服务
make postgres-stop
make clickhouse-stop
注意:停止容器不会删除数据卷,下次启动时会保留之前的数据状态。如需完全清理,可以使用 docker volume prune
命令,但请谨慎操作,这会删除所有数据库数据。
代码提交前检查
项目配置了 pre-commit 钩子,用于在提交前自动检查代码格式和质量。安装方法:
pip install --user pre-commit
pre-commit install
如需禁用检查:
pre-commit uninstall
开发建议
- 从现有问题开始:建议开发者先从已知问题入手,熟悉代码库
- 新功能讨论:对于新功能开发,建议先在社区讨论获得共识
- 代码风格:遵循项目已有的代码风格和约定
- 测试覆盖:新增功能应包含相应的测试用例
通过本文的指导,你应该已经成功搭建了 Plausible Analytics 的开发环境,可以开始进行功能开发和问题修复了。如果在开发过程中遇到任何问题,可以参考项目的文档或向社区寻求帮助。