mirror of
https://github.com/lanqian528/chat2api.git
synced 2026-06-05 21:03:53 +08:00
57 lines
1.7 KiB
YAML
57 lines
1.7 KiB
YAML
services:
|
||
warp:
|
||
image: caomingjun/warp
|
||
container_name: warp
|
||
restart: always
|
||
devices:
|
||
- /dev/net/tun:/dev/net/tun
|
||
environment:
|
||
- WARP_SLEEP=5
|
||
cap_add:
|
||
- MKNOD
|
||
- AUDIT_WRITE
|
||
- NET_ADMIN
|
||
sysctls:
|
||
- net.ipv6.conf.all.disable_ipv6=0
|
||
- net.ipv4.conf.all.src_valid_mark=1
|
||
volumes:
|
||
- ./warpdata:/var/lib/cloudflare-warp
|
||
networks:
|
||
- internal_network # 使用内部网络,不对外暴露端口
|
||
healthcheck:
|
||
test: ["CMD", "curl", "-f", "-s", "https://www.google.com"] # 静默模式下请求Google,如果成功返回2xx状态码
|
||
interval: 30s # 每隔30秒检查一次
|
||
timeout: 10s # 请求超时10秒
|
||
retries: 3 # 失败3次后标记为不健康
|
||
start_period: 5s # 容器启动后等待5秒再开始检查
|
||
|
||
chat2api:
|
||
image: lanqian528/chat2api:latest
|
||
container_name: chat2api
|
||
restart: unless-stopped
|
||
ports:
|
||
- '5005:5005' # 暴露chat2api服务供外部访问
|
||
environment:
|
||
- TZ=Asia/Shanghai
|
||
- AUTHORIZATION=sk-xxx
|
||
- PROXY_URL=socks5://warp:1080 # 设置 PROXY_URL 为 warp 容器的代理地址
|
||
depends_on:
|
||
warp:
|
||
condition: service_healthy # 只有 warp 的健康检查通过时,chat2api 才会启动
|
||
networks:
|
||
- internal_network # chat2api 和 warp 在同一个内部网络
|
||
volumes:
|
||
- ./data:/app/data # 挂载一些需要保存的数据
|
||
|
||
watchtower:
|
||
image: containrrr/watchtower
|
||
container_name: watchtower
|
||
restart: unless-stopped
|
||
volumes:
|
||
- /var/run/docker.sock:/var/run/docker.sock
|
||
command: --cleanup --interval 300 chat2api
|
||
|
||
networks:
|
||
internal_network:
|
||
driver: bridge # 定义一个桥接网络
|