FROM dart:3.9.0-100.2.beta # Install WireGuard tools for IPC communication RUN apt-get update && apt-get install -y \ wireguard-tools \ iproute2 \ && rm -rf /var/lib/apt/lists/* WORKDIR /app # Copy pubspec files first (for dependency caching) COPY pubspec.yaml pubspec.lock ./ # Get dependencies (cached layer) RUN dart pub get # Copy source code (invalidates cache from here) COPY lib/ ./lib/ # Compile the application RUN dart compile exe lib/main.dart -o waylume_server EXPOSE 3000 51820/udp CMD ["./waylume_server"]