Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
development:vscode [2026/01/12 21:49] 192.168.1.159development:vscode [2026/01/31 05:33] (текущий) 192.168.1.1
Строка 80: Строка 80:
     ]     ]
 } }
 +</code>
 +
 +==== Chrome Extension ====
 +
 +<code json>
 </code> </code>
  
Строка 195: Строка 200:
  
 ==== Golang ==== ==== Golang ====
 +
 +<code Dockerfile>
 +# Base stage for shared environment
 +FROM golang:1.24-alpine AS base
 +WORKDIR /app
 +RUN apk add --no-cache git
 +
 +# Builder stage for production
 +FROM base AS builder
 +COPY go.mod go.sum ./
 +RUN go mod download
 +COPY . .
 +RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o /app/proxy .
 +
 +# Debug builder stage for delve and debug binary
 +FROM base AS debug-builder
 +RUN go install github.com/go-delve/delve/cmd/dlv@latest
 +COPY go.mod go.sum ./
 +RUN go mod download
 +COPY . .
 +# Build with optimizations disabled for better debugging
 +RUN CGO_ENABLED=0 GOOS=linux go build -gcflags="all=-N -l" -o /app/proxy .
 +
 +# Debug stage
 +FROM alpine:latest AS debug
 +RUN apk add --no-cache ca-certificates libc6-compat
 +WORKDIR /app
 +COPY --from=debug-builder /go/bin/dlv /usr/local/bin/dlv
 +COPY --from=debug-builder /app/proxy /app/proxy
 +EXPOSE 8080 40000
 +# Run delve in headless mode
 +CMD ["/usr/local/bin/dlv", "--listen=:40000", "--headless=true", "--api-version=2", "--accept-multiclient", "exec", "/app/proxy"]
 +</code>
 +
 +<code yaml>
 +services:
 +
 +  proxy-debug:
 +    build:
 +      context: .
 +      target: debug
 +    environment:
 +      - GEMINI_API_KEY=${GEMINI_API_KEY}
 +      - LISTEN_ADDR=:8080
 +    ports:
 +      - "${PORT:-8080}:8080"
 +      - "40000:40000"
 +    security_opt:
 +      - "seccomp:unconfined" # Required for Delve/ptrace
 +    cap_add:
 +      - SYS_PTRACE
 +    restart: "no"
 +</code>
 +
 +<code bash>
 +$ docker compose up proxy-debug
 +</code>
  
 <code json> <code json>