feat: cloudflared container with optional WireGuard egress
- Dockerfile.cloudflared builds cloudflared (official static binary) on Alpine with wireguard-tools
This commit is contained in:
+13
-8
@@ -68,22 +68,27 @@ services:
|
||||
# Публикация наружу через Cloudflare Tunnel (cloudflared), Quick Tunnel:
|
||||
# случайный публичный URL *.trycloudflare.com, который печатается в логах:
|
||||
# docker compose logs -f cloudflared
|
||||
# ВАЖНО: официальный образ cloudflare/cloudflared НЕ содержит /bin/sh,
|
||||
# поэтому логика передаётся аргументами в command (entrypoint образа = cloudflared),
|
||||
# а не скриптом.
|
||||
# Для именованного туннеля на свой домен замените command ниже на:
|
||||
# command: ["tunnel", "run", "--token", "${CLOUDFLARE_TUNNEL_TOKEN}"]
|
||||
# (токен получается в Cloudflare Zero Trust -> Networks -> Tunnels).
|
||||
# Сборка из Dockerfile.cloudflared добавляет опциональный WireGuard:
|
||||
# если в wg/wg0.conf лежит конфиг — контейнер сначала поднимает VPN и
|
||||
# только потом запускает туннель (исход Cloudflare через VPN). Без конфига
|
||||
# туннель стартует сразу, как в базовой схеме.
|
||||
cloudflared:
|
||||
image: cloudflare/cloudflared:latest
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile.cloudflared
|
||||
restart: unless-stopped
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
volumes:
|
||||
- ./wg:/etc/wireguard:ro
|
||||
environment:
|
||||
TZ: Europe/Moscow
|
||||
command: ["tunnel", "--url", "${CLOUDFLARE_TUNNEL_URL:-http://app:3003}"]
|
||||
CLOUDFLARE_TUNNEL_URL: ${CLOUDFLARE_TUNNEL_URL:-http://app:3003}
|
||||
depends_on:
|
||||
- app
|
||||
|
||||
|
||||
|
||||
text-corrector:
|
||||
image: ghcr.io/ggml-org/llama.cpp:server
|
||||
container_name: text-corrector
|
||||
|
||||
Reference in New Issue
Block a user