|
|
|
@ -1,5 +1,3 @@ |
|
|
|
# As a workaround we have to build on nodejs 18 |
|
|
|
# nodejs 20 hangs on build with armv6/armv7 |
|
|
|
FROM docker.io/library/node:18-alpine AS build_node_modules |
|
|
|
|
|
|
|
# Update npm to latest |
|
|
|
@ -13,7 +11,7 @@ RUN npm ci --omit=dev &&\ |
|
|
|
|
|
|
|
# Copy build result to a new image. |
|
|
|
# This saves a lot of disk space. |
|
|
|
FROM docker.io/library/node:20-alpine |
|
|
|
FROM ghcr.io/vikashloomba/capmvm-k8s-os:1.23.5 |
|
|
|
HEALTHCHECK CMD /usr/bin/timeout 5s /bin/sh -c "/usr/bin/wg show | /bin/grep -q interface || exit 1" --interval=1m --timeout=5s --retries=3 |
|
|
|
COPY --from=build_node_modules /app /app |
|
|
|
|
|
|
|
@ -29,21 +27,3 @@ COPY --from=build_node_modules /node_modules /node_modules |
|
|
|
# Copy the needed wg-password scripts |
|
|
|
COPY --from=build_node_modules /app/wgpw.sh /bin/wgpw |
|
|
|
RUN chmod +x /bin/wgpw |
|
|
|
|
|
|
|
# Install Linux packages |
|
|
|
RUN apk add --no-cache \ |
|
|
|
dpkg \ |
|
|
|
dumb-init \ |
|
|
|
iptables \ |
|
|
|
iptables-legacy \ |
|
|
|
wireguard-tools |
|
|
|
|
|
|
|
# Use iptables-legacy |
|
|
|
RUN update-alternatives --install /sbin/iptables iptables /sbin/iptables-legacy 10 --slave /sbin/iptables-restore iptables-restore /sbin/iptables-legacy-restore --slave /sbin/iptables-save iptables-save /sbin/iptables-legacy-save |
|
|
|
|
|
|
|
# Set Environment |
|
|
|
ENV DEBUG=Server,WireGuard |
|
|
|
|
|
|
|
# Run Web UI |
|
|
|
WORKDIR /app |
|
|
|
CMD ["/usr/bin/dumb-init", "node", "server.js"] |
|
|
|
|