feat: add amneziawg support (#2102)

* feat: detect wireguard executable

* feat: add amneziawg-tools to container

* feat: enhance AWG detection and configuration handling

* refactor: change env name

* refactor: change env values
This commit is contained in:
Alexander Chepurnoy
2025-08-14 14:10:18 +07:00
committed by GitHub
parent c10daa2fd4
commit ef463d3d85
4 changed files with 49 additions and 10 deletions
+13
View File
@@ -14,6 +14,12 @@ RUN pnpm install
COPY src ./
RUN pnpm build
# Build amneziawg-tools
RUN apk add linux-headers build-base git && \
git clone https://github.com/amnezia-vpn/amneziawg-tools.git && \
cd amneziawg-tools/src && \
make
# Copy build result to a new image.
# This saves a lot of disk space.
FROM docker.io/library/node:lts-alpine
@@ -32,6 +38,10 @@ RUN cd /app/server && \
# cli
COPY --from=build /app/cli/cli.sh /usr/local/bin/cli
RUN chmod +x /usr/local/bin/cli
# Copy amneziawg-tools
COPY --from=build /app/amneziawg-tools/src/wg /usr/bin/awg
COPY --from=build /app/amneziawg-tools/src/wg-quick/linux.bash /usr/bin/awg-quick
RUN chmod +x /usr/bin/awg /usr/bin/awg-quick
# Install Linux packages
RUN apk add --no-cache \
@@ -44,6 +54,9 @@ RUN apk add --no-cache \
iptables-legacy \
wireguard-tools
RUN mkdir -p /etc/amnezia
RUN ln -s /etc/wireguard /etc/amnezia/amneziawg
# Use iptables-legacy
RUN update-alternatives --install /usr/sbin/iptables iptables /usr/sbin/iptables-legacy 10 --slave /usr/sbin/iptables-restore iptables-restore /usr/sbin/iptables-legacy-restore --slave /usr/sbin/iptables-save iptables-save /usr/sbin/iptables-legacy-save
RUN update-alternatives --install /usr/sbin/ip6tables ip6tables /usr/sbin/ip6tables-legacy 10 --slave /usr/sbin/ip6tables-restore ip6tables-restore /usr/sbin/ip6tables-legacy-restore --slave /usr/sbin/ip6tables-save ip6tables-save /usr/sbin/ip6tables-legacy-save