sslip.io Docker & Self-Hosted Deployment

GitHub

Golang-based DNS server which maps DNS records with embedded IP addresses to those addresses.

1,202 stars Go Go 7 files ยท ~4,665 tokens #dns-server
1. Pull Image (DOCKERHUB) docker pull cunnie/sslip.io:latest
2. Docker Run (1-Click Launch) docker run -d --name sslipio -p 53:53 --restart always cunnie/sslip.io:latest
3. Podman Run podman run -d --name sslipio -p 53:53 --restart always cunnie/sslip.io:latest
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/cunnie/sslip.io:latest
5. ORAS Pull (OCI Artifact) oras pull cunnie/sslip.io:latest
Docker/sslip.io-dns-server/Dockerfile
#
# cunnie/sslip.io-dns-server: sslip.io DNS server Dockerfile
#
# Dockerfile of a (Golang-based) DNS server that responds to DNS queries of
# hostnames with embedded IP addresses (e.g. "169.254.169.254.example.com")
# with the IP address ("169.254.169.254). See https://sslip.io for more
# information
#
# To build:
#
#   docker buildx build -f Dockerfile-sslip.io-dns-server -t cunnie/sslip.io-dns-server --platform linux/arm64/v8,linux/amd64 --push .
#
# Typical start command:
#
#   docker run -d --rm -p 3353:53/udp cunnie/sslip.io-dns-server
#
# To test from host:
#
#    dig +short 127.0.0.1.example.com @localhost -p 3353
#    127.0.0.1
#
FROM fedora

LABEL org.opencontainers.image.authors="Brian Cunnie <[email protected]>"

RUN dnf install -y bind-utils

ARG TARGETARCH # amd64, arm64 (so I can run on AWS graviton2)
RUN curl -f -L https://github.com/cunnie/sslip.io/releases/download/6.1.1/sslip.io-dns-server-linux-$TARGETARCH \
  -o /usr/sbin/sslip.io-dns-server; \
  chmod 755 /usr/sbin/sslip.io-dns-server

ENTRYPOINT ["/usr/sbin/sslip.io-dns-server"]

# DNS listens on port 53 UDP
# The `EXPOSE` directive doesn't do much in our case. We use it for documentation.
EXPOSE 53/udp