wireguard-3proxy-docker/Dockerfile
2025-01-03 09:56:20 -05:00

48 lines
1.1 KiB
Docker

# Stage 1: Build 3proxy
FROM debian:bullseye-slim AS builder
# Install build dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
git \
ca-certificates \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
# Clone and build 3proxy
WORKDIR /usr/src/3proxy
RUN git clone https://github.com/3proxy/3proxy.git . && \
ln -s Makefile.Linux Makefile && \
make -f Makefile
# Stage 2: Runtime Image
FROM debian:bullseye-slim
# Install runtime dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
openresolv \
iproute2 \
iptables \
wireguard-tools \
ca-certificates \
procps \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
# Copy 3proxy from the builder stage
COPY --from=builder /usr/src/3proxy/bin/ /usr/local/bin/
# Create necessary directories
RUN mkdir -p /etc/3proxy /var/log/3proxy && \
chown -R nobody:nogroup /var/log/3proxy
# Copy configuration files
COPY 3proxy.cfg /etc/3proxy/3proxy.cfg
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
# Expose proxy ports
EXPOSE 3128 1080
# Set entrypoint
ENTRYPOINT ["/entrypoint.sh"]