自托管 Plausible Community Edition 的入门指南


先决条件

  • 必须在计算机上安装 DockerDocker Compose
  • CPU 必须支持 SSE 4.2NEON 指令集或更高版本(ClickHouse 需要)。
  • 建议至少 2 GB 的 RAM 来运行 ClickHouse 和 Plausible 而不必担心 OOM。

快速开始

克隆此存储库:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#克隆源码文件
git clone -b v2.1.4 --single-branch https://github.com/plausible/community-edition plausible-ce

#屏幕显示如下
Cloning into 'plausible-ce'...
remote: Enumerating objects: 13, done.
remote: Counting objects: 100% (10/10), done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 13 (delta 0), reused 7 (delta 0), pack-reused 3 (from 1)
Receiving objects: 100% (13/13), done.

#进入文件夹内部
cd plausible-ce

#查看文件夹内文件
ls -1

#有如下文件
README.md
clickhouse/
compose.yml

创建并配置您的环境文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
#新建环境文件.env
touch .env

#写入做好DNS解析的域名和随机生成的秘钥到环境文件
echo "BASE_URL=https://plausible.example.com" >> .env
echo "SECRET_KEY_BASE=$(openssl rand -base64 48)" >> .env

#输出环境文件信息
cat .env

#屏幕显示如下
BASE_URL=https://xxx.com
SECRET_KEY_BASE=As0fZsJlUpuFYSthRjT5Yflg/NlxkFKPRro72xMLXF8yInZ60s6xGGXYVqml+XN1

确保 Set 为您计划托管服务的实际域。该域必须具有指向您的服务器的 DNS 条目,以便正确解析和自动颁发 Let’s Encrypt TLS 证书。下一步将对此进行更多介绍。$BASE_URL

使用 compose 覆盖文件向 Web 公开 Plausible 服务器:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#插入http和https端口信息
echo "HTTP_PORT=80" >> .env
echo "HTTPS_PORT=443" >> .env

#使用cat和EOF语法写入文件内容,也可以新建compose.override.yml编辑services内容
cat > compose.override.yml << EOF
services:
plausible:
ports:
- 80:80
- 443:443
EOF

#如果80和443端口被占用,可自定义88:80,444:443等映射出来的端口

设置并启用自动 Let’s Encrypt TLS 证书颁发。例如,如果您计划在反向代理后面运行 Plausible,则可能需要选择不同的值。HTTP_PORT=80``HTTPS_PORT=443

使用 Docker Compose 启动服务:

1
docker compose up -d

访问 https://xxx.com 并创建用户