chat2api/docker-compose-warp.yml
hl128k 64e5ce51ae
Update docker-compose-warp.yml
Update Solution to open tun operation not permitted
2024-12-09 09:43:11 +08:00

57 lines
1.7 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 # 定义一个桥接网络