- Dockerfile с multi-stage сборкой для linux/amd64 и linux/arm64 - Gitea Actions CI/CD для автоматической сборки и пуша в registry - docker-compose с поддержкой multi-arch образов - install.sh с автоопределением архитектуры и выбором: pull vs build - uninstall.sh обновлён для Docker-деинсталляции - README.md обновлён: multi-arch, CI/CD, Gitea registry
37 lines
977 B
Docker
37 lines
977 B
Docker
# =============================================================================
|
|
# WireGuard VPS Tunnel — клиент (домашний сервер / Raspberry Pi)
|
|
# Multi-arch: linux/amd64, linux/arm64, linux/arm/v7
|
|
# =============================================================================
|
|
FROM --platform=$BUILDPLATFORM alpine:3.20 AS builder
|
|
|
|
ARG TARGETPLATFORM
|
|
ARG BUILDPLATFORM
|
|
|
|
RUN echo "Сборка на ${BUILDPLATFORM} для ${TARGETPLATFORM}"
|
|
|
|
FROM --platform=$TARGETPLATFORM alpine:3.20
|
|
|
|
ARG TARGETARCH
|
|
ARG TARGETVARIANT
|
|
|
|
RUN apk add --no-cache \
|
|
wireguard-tools \
|
|
iptables \
|
|
iproute2 \
|
|
bash \
|
|
curl \
|
|
iputils \
|
|
ca-certificates
|
|
|
|
COPY entrypoint.sh /entrypoint.sh
|
|
COPY watchdog.sh /watchdog.sh
|
|
COPY healthcheck.sh /healthcheck.sh
|
|
|
|
RUN chmod +x /entrypoint.sh /watchdog.sh /healthcheck.sh
|
|
|
|
VOLUME ["/etc/wireguard"]
|
|
|
|
HEALTHCHECK --interval=30s --timeout=10s --retries=3 \
|
|
CMD ["/healthcheck.sh"]
|
|
|
|
ENTRYPOINT ["/entrypoint.sh"] |