diff --git a/caddy/.env.example b/caddy/.env.example index a8cbafc..4e6c2c7 100644 --- a/caddy/.env.example +++ b/caddy/.env.example @@ -39,3 +39,6 @@ TEXTAREA_DOMAIN= ############# Gopkg Proxy ############# GOPKG_PROXY_DOMAIN= + +############# Ech0 ############# +ECH0_DOMAIN= diff --git a/caddy/Caddyfile b/caddy/Caddyfile index 88fa96d..e5c8f4e 100644 --- a/caddy/Caddyfile +++ b/caddy/Caddyfile @@ -148,4 +148,24 @@ reverse_proxy http://gopkg_proxy:8421 } +############## ech0 ############## +{$ECH0_DOMAIN} { + header -Server + + request_body { + max_size 5MB + } + + reverse_proxy http://ech0:8421 { + # wheader_up -X-Forwarded-For + header_up -X-Forwarded-Host + header_up -X-Forwarded-Proto + header_up -Via + + transport http { + compression off + } + } +} + import Caddyfile.private diff --git a/ech0/docker-compose.yaml b/ech0/docker-compose.yaml new file mode 100644 index 0000000..836ef5a --- /dev/null +++ b/ech0/docker-compose.yaml @@ -0,0 +1,23 @@ +networks: + caddy: + name: caddy + driver: bridge + external: true + +services: + ech0: + image: aykhans/ech0:latest + container_name: ech0 + labels: + - "com.centurylinklabs.watchtower.enable=true" + restart: unless-stopped + environment: + PORT: 8421 + REMOTE_ADDR_HEADER: X-Forwarded-For + networks: + - caddy + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "3" diff --git a/main.sh b/main.sh index 4ad42be..313275f 100755 --- a/main.sh +++ b/main.sh @@ -234,6 +234,15 @@ start_services() { print_error "failed to start Gopkg proxy!" exit 1 fi + + echo "Starting ech0..." + $DOCKER_COMPOSE_COMMAND -f ./ech0/docker-compose.yaml up --pull -d + if [ $? -eq 0 ]; then + print_success "Ech0 started successfully." + else + print_error "failed to start Ech0!" + exit 1 + fi } stop_services() { @@ -398,6 +407,15 @@ stop_services() { print_error "failed to stop Gopkg proxy!" exit 1 fi + + echo "Stopping ech0..." + $DOCKER_COMPOSE_COMMAND -f ./ech0/docker-compose.yaml down + if [ $? -eq 0 ]; then + print_success "Ech0 stopped successfully." + else + print_error "failed to stop ech0!" + exit 1 + fi } if [ $# -lt 1 ]; then