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/compose.yaml b/docker/compose.yaml index d8f2eac9..58291e09 100644 --- a/docker/compose.yaml +++ b/docker/compose.yaml @@ -3,7 +3,7 @@ services: # Since the github organisation we recommend the ghcr.io. # Alternatively we also still push to docker.io under donaldzou/wgdashboard. # Both share the exact same tags. So they should be interchangable. - image: ghcr.io/wgdashboard/wgdashboard:latest + image: ghcr.io/wgdashboard/wgdashboard:1267fb6 # Make sure to set the restart policy. Because for a VPN its important to come back IF it crashes. restart: unless-stopped 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