背景
今天早上突然发现 不蒜子 - 极简网页计数器 服务挂了,我之所以使用这个服务也是因为懒。比如页脚用的统计服务就是不蒜子的.
既然使用了外部服务,那就也要接受偶尔的服务不稳定,毕竟在互联网没有能一直存在的服务。
思考
外部服务被卡脖子了,那还是得有自建的东西,自建的东西也许没有外部服务好,但是至少完成了从零到一的过程。
方案还是优先用开源的服务自行搭建,自己开发有点浪费时间,而且在有了 Docker 之后搭建一个服务就变得像开箱一样简单。
忽略了挑货的过程,在很多方案中我选择了 umami,不是因为它有多好,而是因为它的功能对我这种个人级别的服务契合度达到 90% 以上,页面视觉也符合我的审美。
操作
安装
umami-software/umami: Umami is a simple, fast, privacy-focused alternative to Google Analytics.
Installing from source
Requirements
- A server with Node.js version 16.13 or newer
- A database. Umami supports MySQL and Postgresql databases.
既然是要统计数据,仅仅有个资源托管的服务是不够的,还需要一个数据库。
这里我选择了Vercel Postgres,额度虽然不大,但是个人用应该够了。
Install Yarn
npm install -g yarn
Get the source code and install packages
git clone https://github.com/umami-software/umami.git
cd umami
yarn install
Configure umami
本地测试
Create an .env
file with the following
DATABASE_URL=connection-url
The connection url is in the following format:
postgresql://username:mypassword@localhost:5432/mydb
Build the application
yarn build
Start the application
yarn start
By default this will launch the application on http://localhost:3000
. You will need to either
proxy requests from your web server
or change the port to serve the application directly.
如果使用的是 Docker,那就更简单了,只需要按照官网的步骤一路回车部署。
Installing with Docker
To build the umami container and start up a Postgres database, run:
docker compose up -d
Alternatively, to pull just the Umami Docker image with PostgreSQL support:
docker pull ghcr.io/umami-software/umami:postgresql-latest
最终效果
默认账户是
admin
,默认密码是umami
搭建好后添加一下网站,然后把对应的脚本插入到页面代码中即可收集数据。