diff --git a/docker/Dockerfile b/docker/Dockerfile index b7226076..e1b12e10 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -27,7 +27,7 @@ RUN go mod download && \ go build -ldflags '-linkmode external -extldflags "-fno-PIC -static"' -v -o /usr/bin # # AWG TOOLS BUILDING STAGE -# Base: Debian +# Base: Alpine # FROM alpine:latest AS awg-tools @@ -87,11 +87,8 @@ LABEL maintainer="dselen@nerthus.nl" # Install only the runtime dependencies RUN apk add --no-cache \ iproute2 iptables \ - bash curl \ - wget unzip \ - procps sudo \ - tzdata wireguard-tools \ - openresolv openrc + bash curl procps \ + tzdata wireguard-tools # Copy only the final binaries from the AWG builder stages COPY --from=awg-go /usr/bin/amneziawg-go /usr/bin/amneziawg-go diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index b64e5595..4a7aa520 100644 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -96,14 +96,6 @@ ensure_installation() { ln -s "${config_file}" "${WGDASH}/src/wg-dashboard.ini" fi - # Create the Python virtual environment. - . "${WGDASH}/src/venv/bin/activate" - - # Use the bash interpreter to install WGDashboard according to the wgd.sh script. - /bin/bash ./wgd.sh install - - echo "Looks like the installation succeeded. Moving on." - # Setup WireGuard if needed if [ -z "$(ls -A /etc/wireguard)" ]; then cp -a "/configs/wg0.conf.template" "/etc/wireguard/wg0.conf" @@ -196,8 +188,8 @@ start_and_monitor() { chmod 600 /dev/net/tun # Actually starting WGDashboard - echo "Activating Python venv and executing the WireGuard Dashboard service." - bash ./wgd.sh start + echo "Starting WGDashboard directly with Gunicorn..." + /opt/wgdashboard/src/venv/bin/python3 ./venv/bin/gunicorn --config ./gunicorn.conf.py # Wait a second before continuing, to give the python program some time to get ready. sleep 1