langfuse_V2升级到V3.59.1(与milvus同一台机器)

环境

OS:Centos 7

v2: 2.70.1

v3: 3.59.1

 

1.准备v3的部署目录
mkdir -p /home/middle/langfuse_v3/langfuse ##docker-compose.yml配置文件存放目录
mkdir -p /home/middle/langfuse_v3/clickhouse/conf ##clickhouse配置文件外挂到该目录
mkdir -p /home/middle/langfuse_v3/clickhouse/data ##clickhouse数据文件外挂到该目录
mkdir -p /home/middle/langfuse_v3/clickhouse/logs ##clickhouse日志文件外挂到该目录
mkdir -p /home/middle/langfuse_v3/clickhouse/conf ##clickhouse配置文件
mkdir -p /home/middle/langfuse_v3/minio_data ##minio数据文件外挂到该目录
mkdir -p /home/middle/langfuse_v3/pgdata ##数据从v2版本拷贝过来

 

2.准备配置文件

[root@kvm-181 langfuse]# more docker-compose.yml 
services:
  langfuse-worker:
    image: registry.cn-shenzhen.aliyuncs.com/hxlk8s/langfuse-worker:3.59.1
    restart: always
    depends_on: &langfuse-depends-on
      postgres:
        condition: service_healthy
      minio:
        condition: service_healthy
      redis:
        condition: service_healthy
      clickhouse:
        condition: service_healthy
    ports:
      - 127.0.0.1:3030:3030
    environment: &langfuse-worker-env
      DATABASE_URL: postgresql://postgres:postgres@postgres:5432/postgres # CHANGEME
      SALT: "mysalt" # CHANGEME
      ENCRYPTION_KEY: "0000000000000000000000000000000000000000000000000000000000000000" # CHANGEME: generate via `openssl rand -hex 
32`
      TELEMETRY_ENABLED: ${TELEMETRY_ENABLED:-true}
      LANGFUSE_ENABLE_EXPERIMENTAL_FEATURES: ${LANGFUSE_ENABLE_EXPERIMENTAL_FEATURES:-true}
      CLICKHOUSE_MIGRATION_URL: ${CLICKHOUSE_MIGRATION_URL:-clickhouse://clickhouse:9000}
      CLICKHOUSE_URL: ${CLICKHOUSE_URL:-http://clickhouse:8123}
      CLICKHOUSE_USER: ${CLICKHOUSE_USER:-clickhouse}
      CLICKHOUSE_PASSWORD: ${CLICKHOUSE_PASSWORD:-clickhouse} # CHANGEME
      CLICKHOUSE_CLUSTER_ENABLED: ${CLICKHOUSE_CLUSTER_ENABLED:-false}
      LANGFUSE_S3_EVENT_UPLOAD_BUCKET: ${LANGFUSE_S3_EVENT_UPLOAD_BUCKET:-langfuse}
      LANGFUSE_S3_EVENT_UPLOAD_REGION: ${LANGFUSE_S3_EVENT_UPLOAD_REGION:-auto}
      LANGFUSE_S3_EVENT_UPLOAD_ACCESS_KEY_ID: ${LANGFUSE_S3_EVENT_UPLOAD_ACCESS_KEY_ID:-minio}
      LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEY: ${LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEY:-miniosecret} # CHANGEME
      LANGFUSE_S3_EVENT_UPLOAD_ENDPOINT: ${LANGFUSE_S3_EVENT_UPLOAD_ENDPOINT:-http://minio:9000}
      LANGFUSE_S3_EVENT_UPLOAD_FORCE_PATH_STYLE: ${LANGFUSE_S3_EVENT_UPLOAD_FORCE_PATH_STYLE:-true}
      LANGFUSE_S3_EVENT_UPLOAD_PREFIX: ${LANGFUSE_S3_EVENT_UPLOAD_PREFIX:-events/}
      LANGFUSE_S3_MEDIA_UPLOAD_BUCKET: ${LANGFUSE_S3_MEDIA_UPLOAD_BUCKET:-langfuse}
      LANGFUSE_S3_MEDIA_UPLOAD_REGION: ${LANGFUSE_S3_MEDIA_UPLOAD_REGION:-auto}
      LANGFUSE_S3_MEDIA_UPLOAD_ACCESS_KEY_ID: ${LANGFUSE_S3_MEDIA_UPLOAD_ACCESS_KEY_ID:-minio}
      LANGFUSE_S3_MEDIA_UPLOAD_SECRET_ACCESS_KEY: ${LANGFUSE_S3_MEDIA_UPLOAD_SECRET_ACCESS_KEY:-miniosecret} # CHANGEME
      LANGFUSE_S3_MEDIA_UPLOAD_ENDPOINT: ${LANGFUSE_S3_MEDIA_UPLOAD_ENDPOINT:-http://localhost:9090}
      LANGFUSE_S3_MEDIA_UPLOAD_FORCE_PATH_STYLE: ${LANGFUSE_S3_MEDIA_UPLOAD_FORCE_PATH_STYLE:-true}
      LANGFUSE_S3_MEDIA_UPLOAD_PREFIX: ${LANGFUSE_S3_MEDIA_UPLOAD_PREFIX:-media/}
      LANGFUSE_S3_BATCH_EXPORT_ENABLED: ${LANGFUSE_S3_BATCH_EXPORT_ENABLED:-false}
      LANGFUSE_S3_BATCH_EXPORT_BUCKET: ${LANGFUSE_S3_BATCH_EXPORT_BUCKET:-langfuse}
      LANGFUSE_S3_BATCH_EXPORT_PREFIX: ${LANGFUSE_S3_BATCH_EXPORT_PREFIX:-exports/}
      LANGFUSE_S3_BATCH_EXPORT_REGION: ${LANGFUSE_S3_BATCH_EXPORT_REGION:-auto}
      LANGFUSE_S3_BATCH_EXPORT_ENDPOINT: ${LANGFUSE_S3_BATCH_EXPORT_ENDPOINT:-http://minio:9000}
      LANGFUSE_S3_BATCH_EXPORT_EXTERNAL_ENDPOINT: ${LANGFUSE_S3_BATCH_EXPORT_EXTERNAL_ENDPOINT:-http://localhost:9090}
      LANGFUSE_S3_BATCH_EXPORT_ACCESS_KEY_ID: ${LANGFUSE_S3_BATCH_EXPORT_ACCESS_KEY_ID:-minio}
      LANGFUSE_S3_BATCH_EXPORT_SECRET_ACCESS_KEY: ${LANGFUSE_S3_BATCH_EXPORT_SECRET_ACCESS_KEY:-miniosecret} # CHANGEME
      LANGFUSE_S3_BATCH_EXPORT_FORCE_PATH_STYLE: ${LANGFUSE_S3_BATCH_EXPORT_FORCE_PATH_STYLE:-true}
      LANGFUSE_INGESTION_QUEUE_DELAY_MS: ${LANGFUSE_INGESTION_QUEUE_DELAY_MS:-}
      LANGFUSE_INGESTION_CLICKHOUSE_WRITE_INTERVAL_MS: ${LANGFUSE_INGESTION_CLICKHOUSE_WRITE_INTERVAL_MS:-}
      REDIS_HOST: ${REDIS_HOST:-redis}
      REDIS_PORT: ${REDIS_PORT:-6379}
      REDIS_AUTH: ${REDIS_AUTH:-myredissecret} # CHANGEME
      REDIS_TLS_ENABLED: ${REDIS_TLS_ENABLED:-false}
      REDIS_TLS_CA: ${REDIS_TLS_CA:-/certs/ca.crt}
      REDIS_TLS_CERT: ${REDIS_TLS_CERT:-/certs/redis.crt}
      REDIS_TLS_KEY: ${REDIS_TLS_KEY:-/certs/redis.key}

  langfuse-web:
    image: registry.cn-shenzhen.aliyuncs.com/hxlk8s/langfuse:3.59.1
    restart: always
    depends_on: *langfuse-depends-on
    ports:
      - 3000:3000
    environment:
      <<: *langfuse-worker-env
      NEXTAUTH_URL: http://localhost:3000
      NEXTAUTH_SECRET: mysecret # CHANGEME
      LANGFUSE_INIT_ORG_ID: ${LANGFUSE_INIT_ORG_ID:-}
      LANGFUSE_INIT_ORG_NAME: ${LANGFUSE_INIT_ORG_NAME:-}
      LANGFUSE_INIT_PROJECT_ID: ${LANGFUSE_INIT_PROJECT_ID:-}
      LANGFUSE_INIT_PROJECT_NAME: ${LANGFUSE_INIT_PROJECT_NAME:-}
      LANGFUSE_INIT_PROJECT_PUBLIC_KEY: ${LANGFUSE_INIT_PROJECT_PUBLIC_KEY:-}
      LANGFUSE_INIT_PROJECT_SECRET_KEY: ${LANGFUSE_INIT_PROJECT_SECRET_KEY:-}
      LANGFUSE_INIT_USER_EMAIL: ${LANGFUSE_INIT_USER_EMAIL:-}
      LANGFUSE_INIT_USER_NAME: ${LANGFUSE_INIT_USER_NAME:-}
      LANGFUSE_INIT_USER_PASSWORD: ${LANGFUSE_INIT_USER_PASSWORD:-}

  clickhouse:
    image: registry.cn-shenzhen.aliyuncs.com/hxlk8s/clickhouse-server:24.8
    restart: always
    ##user: "101:101"
    environment:
      CLICKHOUSE_DB: default
      CLICKHOUSE_USER: clickhouse
      CLICKHOUSE_PASSWORD: clickhouse # CHANGEME
    volumes:
      - /home/middle/langfuse_v3/clickhouse/data:/var/lib/clickhouse
      - /home/middle/langfuse_v3/clickhouse/logs:/var/log/clickhouse-server
      ##- /home/middle/langfuse_v3/clickhouse/conf/config.xml:/etc/clickhouse-server/config.xml ##这里先注释点 等会容器启动后拷贝配置文件到缩主机
      ##- /home/middle/langfuse_v3/clickhouse/conf/users.xml:/etc/clickhouse-server/users.xml   ##这里先注释点 等会容器启动后拷贝配置文件到缩主机
    ports:
      - 127.0.0.1:8123:8123
      - 127.0.0.1:19000:9000 ##需要修改缩主机端口为19000
    healthcheck:
      test: wget --no-verbose --tries=1 --spider http://localhost:8123/ping || exit 1
      interval: 5s
      timeout: 5s
      retries: 10
      start_period: 1s

  minio:
    image: registry.cn-shenzhen.aliyuncs.com/hxlk8s/minio:RELEASE.2025-04-22T22-12-26Z
    restart: always
    entrypoint: sh
    # create the 'langfuse' bucket before starting the service
    command: -c 'mkdir -p /data/langfuse && minio server --address ":9000" --console-address ":9001" /data'
    environment:
      MINIO_ROOT_USER: minio
      MINIO_ROOT_PASSWORD: miniosecret # CHANGEME
    ports:
      - 19090:9000 ##修改缩主机端口为19090 原来的minio使用
      - 9091:9001
    volumes:
      - /home/middle/langfuse_v3/minio_data:/data
    healthcheck:
      test: ["CMD", "mc", "ready", "local"]
      interval: 1s
      timeout: 5s
      retries: 5
      start_period: 1s

  redis:
    image: registry.cn-shenzhen.aliyuncs.com/hxlk8s/redis:7.4
    restart: always
    # CHANGEME: row below to secure redis password
    command: >
      --requirepass ${REDIS_AUTH:-myredissecret}
    ports:
      - 127.0.0.1:6379:6379
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 3s
      timeout: 10s
      retries: 10

  postgres:
    image: registry.cn-shenzhen.aliyuncs.com/hxlk8s/postgresql:16.4.0
    restart: always
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres"]
      interval: 3s
      timeout: 3s
      retries: 10
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres # CHANGEME
      POSTGRES_DB: postgres
    ports:
      - 127.0.0.1:5432:5432
    volumes:
      - /home/middle/langfuse_v3/pgdata:/var/lib/postgresql/data

 

该配置文件保存在如下目录
[root@localhost langfuse]# pwd
/home/middle/langfuse_v3/langfuse

建议直接文件上次的方式处理,尽量不要复制粘贴

 

2.停掉v2版本
因为pg langfuse端口没有修改,会与原来的有冲突

[root@localhost langfuse]# cd /home/middle/langfuse/langfuse
[root@localhost langfuse]# docker compose stop
[+] Stopping 2/2
 ? Container langfuse-langfuse-server-1  Stopped                                                                               11.1s 
 ? Container langfuse-db-1               Stopped  

或者是
[root@localhost langfuse]# docker compose down

 

3.尝试v3版本是否可以启动

[root@localhost langfuse]# cd /home/middle/langfuse_v3/langfuse
[root@localhost langfuse]# docker compose up -d

 

尝试登录各组件
langfuse
http://192.168.1.134:3000

 

redis
/usr/local/services/redis/bin/redis-cli -h 127.0.0.1 -p 6379 -a myredissecret

clickhoue
clickhouse-client -h 127.0.0.1 -m -u clickhouse --password clickhouse --port=19000

 

pg
[root@kvm-181 bin]# /usr/pgsql-14/bin/psql -h 127.0.0.1 -U postgres -p5432

minio:
http://192.168.1.134:9091/login
账号密码为:minio/miniosecret

 

4.停掉v3并删除之前启动生成的数据文件
我们需要使用v2的数据进行恢复
[root@localhost langfuse]# cd /home/middle/langfuse_v3/langfuse
[root@localhost langfuse]# docker compose down

删除相应目录数据
rm -rf /home/middle/langfuse_v3/clickhouse/data/*
rm -rf /home/middle/langfuse_v3/clickhouse/logs/*
rm -rf /home/middle/langfuse_v3/minio_data/*
rm -rf /home/middle/langfuse_v3/pgdata/*

 

5.拷贝v2的pg数据目录文件到v3相应的目录
因为这个时候v2是停掉的,可以直接拷贝,若在运行的情况下,需要先停掉
[root@localhost pgdata]#cp -r -p /home/middle/langfuse/pgdata/* /home/middle/langfuse_v3/pgdata/

 

6.启动v3
[root@localhost langfuse]# cd /home/middle/langfuse_v3/langfuse
[root@localhost langfuse]# docker compose up -d

 

7.登录pg验证数据

[root@localhost langfuse]# /usr/pgsql-14/bin/psql -h 127.0.0.1 -U postgres -p5432
postgres=# select count(1) from users;
 count 
-------
     1
(1 row)

 

####################修改clickhouse的配置文件并外放clickhouse配置文件到宿主机###################

1.拷贝配置文件到宿宿主机目录
docker ps ##找到clickhouse容器id,拷贝配置文件到宿宿主机目录
docker cp 47e972e3674f:/etc/clickhouse-server/config.xml /home/middle/langfuse_v3/clickhouse/conf/
docker cp 47e972e3674f:/etc/clickhouse-server/users.xml /home/middle/langfuse_v3/clickhouse/conf/

 

修改clickhouse配置文件
vi /home/middle/langfuse_v3/clickhouse/conf/config.xml

将这两句注释的打开:
    <!-- <max_table_size_to_drop>0</max_table_size_to_drop> -->
    <!-- <max_partition_size_to_drop>0</max_partition_size_to_drop> -->

修改为:
    <max_table_size_to_drop>0</max_table_size_to_drop> 
    <max_partition_size_to_drop>0</max_partition_size_to_drop> 

 

2.修改docker-compose.yml文件将之前的注释项启用

  clickhouse:
    image: registry.cn-shenzhen.aliyuncs.com/hxlk8s/clickhouse-server:24.8
    restart: always
    ##user: "101:101"
    environment:
      CLICKHOUSE_DB: default
      CLICKHOUSE_USER: clickhouse
      CLICKHOUSE_PASSWORD: clickhouse # CHANGEME
    volumes:
      - /home/middle/langfuse_v3/clickhouse/data:/var/lib/clickhouse
      - /home/middle/langfuse_v3/clickhouse/logs:/var/log/clickhouse-server
      ##- /home/middle/langfuse_v3/clickhouse/conf/config.xml:/etc/clickhouse-server/config.xml
      ##- /home/middle/langfuse_v3/clickhouse/conf/users.xml:/etc/clickhouse-server/users.xml
修改为
  clickhouse:
    image: registry.cn-shenzhen.aliyuncs.com/hxlk8s/clickhouse-server:24.8
    restart: always
    ##user: "101:101"
    environment:
      CLICKHOUSE_DB: default
      CLICKHOUSE_USER: clickhouse
      CLICKHOUSE_PASSWORD: clickhouse # CHANGEME
    volumes:
      - /home/middle/langfuse_v3/clickhouse/data:/var/lib/clickhouse
      - /home/middle/langfuse_v3/clickhouse/logs:/var/log/clickhouse-server
      - /home/middle/langfuse_v3/clickhouse/conf/config.xml:/etc/clickhouse-server/config.xml
      - /home/middle/langfuse_v3/clickhouse/conf/users.xml:/etc/clickhouse-server/users.xml

 

3.重新部署
[root@localhost langfuse]# cd /home/middle/langfuse_v3/langfuse
[root@localhost langfuse]# docker compose down
[root@localhost langfuse]# docker compose up -d

 

4.登录clickhouse容器查看是否生效
docker exec -ti langfuse-clickhouse-1 /bin/bash
cat /etc/clickhouse-server/config.xml|grep max_table_size_to_drop
cat /etc/clickhouse-server/config.xml|grep max_partition_size_to_drop

 

#################修改pg参数(没有修改的情况下需要修改)######################

1.修改pg参数
vi /home/middle/langfuse/pgdata/postgresql.conf

max_connections=1000 #修改最大链接数
##修改时区(已经是如下值的情况下不需要修改)
log_timezone = 'Asia/Shanghai'
timezone = 'Asia/Shanghai'

 

2.重启
cd /home/middle/langfuse/langfuse/
docker compose stop
docker compose start

 

3.查看参数的命令:

[root@kvm-181 langfuse]# /opt/pg16/bin/psql -h 127.0.0.1 -U postgres -p5432
Password for user postgres: 
psql (16.4)
Type "help" for help.

postgres=# show max_connections;
 max_connections 
-----------------
 1000
(1 row)

postgres=# show log_timezone;
 log_timezone  
---------------
 Asia/Shanghai
(1 row)

postgres=# show timezone;
   TimeZone    
---------------
 Asia/Shanghai
(1 row)

 

###########################删除掉原来的v2#######################

1.v3启动的时候有如下提示

[root@localhost langfuse]# docker compose up -d
[+] Running 0/1
 ? Network langfuse_default  Creating                                                                                           0.3s 
[+] Running 7/7d orphan containers ([langfuse-langfuse-server-1 langfuse-db-1]) for this project. If you removed or renamed this serv ? Network langfuse_default              Created                                                                                0.4s 
 ? Container langfuse-postgres-1         Healthy                                                                                9.1s 
 ? Container langfuse-minio-1            Healthy                                                                               12.5s 
 ? Container langfuse-redis-1            Healthy                                                                                8.5s 
 ? Container langfuse-clickhouse-1       Healthy                                                                               10.5s 
 ? Container langfuse-langfuse-web-1     Started                                                                               14.5s 
 ? Container langfuse-langfuse-worker-1  Started 
 

 

2.删除掉v2

[root@localhost langfuse]# cd /home/middle/langfuse/langfuse
[root@localhost langfuse]# docker compose down
[+] Running 3/2
 ? Container langfuse-langfuse-server-1  Removed                                                                                0.1s 
 ? Container langfuse-db-1               Removed                                                                                0.4s 
 ! Network langfuse_default              Resource is still in use 
 

 

3.v3重新部署

[root@localhost langfuse]# cd /home/middle/langfuse_v3/langfuse
[root@localhost langfuse]# docker compose down
[root@localhost langfuse]# docker compose up -d
[+] Running 7/7
 ? Network langfuse_default              Created                                                                                0.6s 
 ? Container langfuse-redis-1            Healthy                                                                               10.0s 
 ? Container langfuse-clickhouse-1       Healthy                                                                               17.5s 
 ? Container langfuse-minio-1            Healthy                                                                               14.5s 
 ? Container langfuse-postgres-1         Healthy                                                                               12.0s 
 ? Container langfuse-langfuse-web-1     Started                                                                               18.2s 
 ? Container langfuse-langfuse-worker-1  Started
 

这个时候就没有提示了

posted @ 2025-05-21 15:24  slnngk  阅读(37)  评论(0)    收藏  举报