Remove default CPU/memory caps and add LTO build optimization
- Default PROXY_CPUS and PROXY_MEMORY now empty (use full system resources) - Docker run skips --cpus/--memory flags when not set - Dockerfile: enable LTO, codegen-units=1 for optimized binary
This commit is contained in:
1
.github/workflows/build-engine.yml
vendored
1
.github/workflows/build-engine.yml
vendored
@@ -47,6 +47,7 @@ jobs:
|
|||||||
RUN git clone "https://github.com/${TELEMT_REPO}.git" /build
|
RUN git clone "https://github.com/${TELEMT_REPO}.git" /build
|
||||||
WORKDIR /build
|
WORKDIR /build
|
||||||
RUN git checkout "${TELEMT_COMMIT}"
|
RUN git checkout "${TELEMT_COMMIT}"
|
||||||
|
ENV CARGO_PROFILE_RELEASE_LTO=true CARGO_PROFILE_RELEASE_CODEGEN_UNITS=1 CARGO_PROFILE_RELEASE_DEBUG=false
|
||||||
RUN cargo build --release && strip target/release/telemt 2>/dev/null || true && cp target/release/telemt /telemt
|
RUN cargo build --release && strip target/release/telemt 2>/dev/null || true && cp target/release/telemt /telemt
|
||||||
FROM debian:bookworm-slim
|
FROM debian:bookworm-slim
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates && rm -rf /var/lib/apt/lists/*
|
RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates && rm -rf /var/lib/apt/lists/*
|
||||||
|
|||||||
@@ -101,8 +101,8 @@ PROXY_PORT=443
|
|||||||
PROXY_METRICS_PORT=9090
|
PROXY_METRICS_PORT=9090
|
||||||
PROXY_DOMAIN="cloudflare.com"
|
PROXY_DOMAIN="cloudflare.com"
|
||||||
PROXY_CONCURRENCY=8192
|
PROXY_CONCURRENCY=8192
|
||||||
PROXY_CPUS="1"
|
PROXY_CPUS=""
|
||||||
PROXY_MEMORY="256m"
|
PROXY_MEMORY=""
|
||||||
AD_TAG=""
|
AD_TAG=""
|
||||||
BLOCKLIST_COUNTRIES=""
|
BLOCKLIST_COUNTRIES=""
|
||||||
MASKING_ENABLED="true"
|
MASKING_ENABLED="true"
|
||||||
@@ -2105,15 +2105,17 @@ run_proxy_container() {
|
|||||||
# Run container
|
# Run container
|
||||||
log_info "Starting telemt proxy on port ${PROXY_PORT}..."
|
log_info "Starting telemt proxy on port ${PROXY_PORT}..."
|
||||||
|
|
||||||
docker run -d \
|
local _docker_args=(
|
||||||
--name "$CONTAINER_NAME" \
|
--name "$CONTAINER_NAME"
|
||||||
--restart unless-stopped \
|
--restart unless-stopped
|
||||||
--network host \
|
--network host
|
||||||
--log-opt max-size=10m \
|
--log-opt max-size=10m
|
||||||
--log-opt max-file=3 \
|
--log-opt max-file=3
|
||||||
--cpus "${PROXY_CPUS}" \
|
)
|
||||||
--memory "${PROXY_MEMORY}" \
|
[ -n "${PROXY_CPUS}" ] && _docker_args+=(--cpus "${PROXY_CPUS}")
|
||||||
--memory-swap "${PROXY_MEMORY}" \
|
[ -n "${PROXY_MEMORY}" ] && _docker_args+=(--memory "${PROXY_MEMORY}" --memory-swap "${PROXY_MEMORY}")
|
||||||
|
|
||||||
|
docker run -d "${_docker_args[@]}" \
|
||||||
-v "${CONFIG_DIR}/config.toml:/etc/telemt.toml:ro" \
|
-v "${CONFIG_DIR}/config.toml:/etc/telemt.toml:ro" \
|
||||||
"$(get_docker_image)" /etc/telemt.toml \
|
"$(get_docker_image)" /etc/telemt.toml \
|
||||||
&>/dev/null || {
|
&>/dev/null || {
|
||||||
|
|||||||
Reference in New Issue
Block a user