WireGuard: simple, modern VPN (wireguard-go, userspace). Signed; SBOM and SLSA v1 provenance.
497
readystack/wireguard:0.0.20250522-CE-ubuntu24.04-r1
Source, recipe and records
0.0.20250522): https://git.zx2c4.com/wireguard-go/commit/?id=f333402bd9cbe0f3eeb02507bd14e23d7d639280A cosign-signed build of git.zx2c4.com/wireguard-go 0.0.20250522 (MIT), built from source; wireguard-tools from Ubuntu 24.04 (GPL-2.0), built clean-room from official upstream source by ReadyStack.
Who: Network administrators and individuals who need a simple, secure VPN between servers, sites or devices.
Why: WireGuard is a simple, modern VPN that uses current cryptography. Peers authenticate each other by exchanging public keys, much like SSH keys, and the tunnel can roam between IP addresses.
Use case: A small company needs staff laptops to reach servers on its office network. A WireGuard endpoint at the office holds each laptop's public key and allowed addresses; each laptop connects with a short configuration file, and the tunnel keeps working as the laptop moves between networks.
About the upstream project, written from its own description: https://www.wireguard.com/ · https://git.zx2c4.com/wireguard-go/about/
Signature, user and attestations below were measured on the published digest sha256:fad6612d902004cca17b69de4d9fbcb2438d288ecbcd188a8d12612963e2ffaa on 2026-10-29.
04daa92344a52dbc) on this release's index digest sha256:fad6612d902004cca17b69de4d9fbcb2438d288ecbcd188a8d12612963e2ffaa; verify with cosign verify --key https://readystack.dev/keys/cosign.pub readystack/wireguard:0.0.20250522-CE-ubuntu24.04-r1.wireguard).This image follows the ReadyStack release-tag convention:
The current release is 0.0.20250522-CE-ubuntu24.04-r1 — the release listed at readystack.dev. Release tags use the pattern <upstream-version>-CE-<base-os>-r<N>; the current one is signed, attested (SBOM + provenance), and is provided under the ReadyStack Agreement.
Earlier release tags (an older version or revision in the same pattern) are superseded. They stay pullable so existing deployments can pin them, but they are no longer re-graded, and fixes appear only in newer releases: move to the current release. For a superseded release's build kit, ask support.
Release tags never move, so pulling the same tag again never changes the image. To be offered each new release automatically (a new revision r<N+1>, or a new upstream version), use the ReadyStack Renovate preset: https://readystack.dev/updates.html
Any tag beginning with internal- is an engineering-pipeline artifact published for build observability. It is unsupported, may change or disappear without notice, and must not be used in production.
# ✓ current release
docker pull readystack/wireguard:0.0.20250522-CE-ubuntu24.04-r1
# ✗ unsupported (do not pull)
docker pull readystack/wireguard:internal-...
This release is signed; verify it with cosign verify --key https://readystack.dev/keys/cosign.pub readystack/wireguard:0.0.20250522-CE-ubuntu24.04-r1 (the signature is recorded in the public Sigstore transparency log). Support: [email protected], as set out in the ReadyStack Agreement.
A single container running wireguard-go for one interface (wg0 by default) as the non-root user wireguard, configured from /config/wg0.conf (the wg-quick file format: [Interface] and [Peer] sections). WireGuard listens on udp 51820. It needs two privileges, both declared: --cap-add NET_ADMIN (to create and configure the network interface) and --device /dev/net/tun (the TUN device the userspace interface runs on). No kernel module and no --privileged. Peers reach networks behind this container only if you also route or NAT them on the host; inside the container it routes each peer's AllowedIPs through wg0.
docker run -d --name wireguard \
--cap-add NET_ADMIN --device /dev/net/tun \
-p 51820:51820/udp \
-v wireguard-config:/config \
readystack/wireguard:0.0.20250522-CE-ubuntu24.04-r1
The first start writes /config/wg0.conf with a new private key, Address 10.13.13.1/24 (WG_ADDRESS) and ListenPort 51820 (WG_LISTEN_PORT), and prints the public key (docker logs wireguard). Add a [Peer] section per peer (PublicKey, AllowedIPs, and Endpoint for the side that dials) and restart, or add peers live with docker exec wireguard wg set wg0 peer <public key> allowed-ips <ip>/32 and docker exec wireguard netadmin ip route replace <ip>/32 dev wg0. Generate a peer's keys with docker run --rm --entrypoint sh readystack/wireguard:0.0.20250522-CE-ubuntu24.04-r1 -c 'k=$(wg genkey); echo $k; echo $k | wg pubkey'.
The complete --network=none build kit for this image — plus admin/DB/API handbooks, the build's validation records, and its build provenance records — is a free download for any registered account at readystack.dev/products/wireguard. A clean-room rebuild from this release's archive on an egress-blocked host reproduced its linux/amd64 digest sha256:9a7cde50fe6f16cea9aeff4714ccb5a115d3b12b37c8df39bd11035fd2afdda9 on 2026-10-28.
— ReadyStack · readystack.dev
Content type
Image
Digest
sha256:fad6612d9…
Size
34 MB
Last updated
1 day ago
docker pull readystack/wireguard:0.0.20250522-CE-ubuntu24.04-r1