CPA与CPA-Manager 部署以及Caddy子域名反代配置

因为强迫症,不想单独给cpa-manager单独域名。就让AI改下了。 cpa+cpm的docker compose services: cli-proxy-api: image: ${CLI_PROXY_IMAGE:-eceasy/cli-proxy-api:latest} pull_policy...
CPA与CPA-Manager 部署以及Caddy子域名反代配置
CPA与CPA-Manager 部署以及Caddy子域名反代配置

因为强迫症,不想单独给cpa-manager单独域名。就让AI改下了。
cpa+cpm的docker compose

services:
  cli-proxy-api:
    image: ${CLI_PROXY_IMAGE:-eceasy/cli-proxy-api:latest}
    pull_policy: always
    container_name: cli-proxy-api
    environment:
      DEPLOY: ${DEPLOY:-}
    ports:
      - "127.0.0.1:8317:8317"
      - "127.0.0.1:8085:8085"
      - "127.0.0.1:1455:1455"
      - "127.0.0.1:54545:54545"
      - "127.0.0.1:51121:51121"
      - "127.0.0.1:11451:11451"
    volumes:
      - ./config.yaml:/CLIProxyAPI/config.yaml
      - ./auths:/root/.cli-proxy-api
      - ./logs:/CLIProxyAPI/logs
    restart: unless-stopped
    networks:
      - cpa-network

  cpa-manager:
    image: seakee/cpa-manager:latest
    container_name: cpa-manager
    restart: unless-stopped
    depends_on:
      - cli-proxy-api
    ports:
      - "127.0.0.1:18317:18317"
    environment:
      TZ: Asia/Shanghai

      # CPA-Manager HTTP 监听地址
      HTTP_ADDR: 0.0.0.0:18317

      # 同一 docker compose 网络内访问 CLIProxyAPI
      CPA_UPSTREAM_URL: http://cli-proxy-api:8317

      # 建议在 .env 中配置,不要直接写明文
      CPA_MANAGEMENT_KEY: ${CPA_MANAGEMENT_KEY}

      # 数据目录,SQLite 会保存在 /data
      USAGE_DATA_DIR: /data

      # 默认配置
      USAGE_RESP_QUEUE: usage
      USAGE_RESP_POP_SIDE: right
      USAGE_BATCH_SIZE: "100"
      USAGE_POLL_INTERVAL_MS: "500"
      USAGE_QUERY_LIMIT: "50000"
      USAGE_CORS_ORIGINS: "*"
    volumes:
      - ./cpa-manager:/data
    networks:
      - cpa-network

networks:
  cpa-network:
    driver: bridge

caddy的配置

cpa.example.com {
	encode gzip zstd

	# /cpm 自动补斜杠
	redir /cpm /cpm/

	# cpa-manager 页面走 /cpm/
	handle_path /cpm/* {
		reverse_proxy 127.0.0.1:18317 {
			header_up Host {host}
			header_up X-Real-IP {remote_host}
			header_up X-Forwarded-For {remote_host}
			header_up X-Forwarded-Proto {scheme}
		}
	}

	# cpa-manager 自身接口
	handle /health {
		reverse_proxy 127.0.0.1:18317
	}

	handle /status {
		reverse_proxy 127.0.0.1:18317
	}

	handle /usage-service/info {
		reverse_proxy 127.0.0.1:18317
	}

	handle /setup {
		reverse_proxy 127.0.0.1:18317
	}

	# 用量统计接口走 cpa-manager
	handle /v0/management/usage* {
		reverse_proxy 127.0.0.1:18317 {
			header_up Host {host}
			header_up X-Real-IP {remote_host}
			header_up X-Forwarded-For {remote_host}
			header_up X-Forwarded-Proto {scheme}
		}
	}

	# 其他所有请求走 CLIProxyAPI
	handle {
		reverse_proxy 127.0.0.1:8317 {
			header_up Host {host}
			header_up X-Real-IP {remote_host}
			header_up X-Forwarded-For {remote_host}
			header_up X-Forwarded-Proto {scheme}
		}
	}
}

4 个帖子 - 4 位参与者

阅读完整话题

来源: LinuxDo 最新话题查看原文