Skip to content

Flexible multi-arch (amd & amd64) Reddcoin DNSSeed Docker image

License

Notifications You must be signed in to change notification settings

reddcoin-project/docker-dnsseed

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

reddcoincore/dnsseed

Build Status gh_last_release_svg Docker Image Size Docker Pulls Count

This repo builds dnsseed in an auditable way, and packages it into a minimal Docker containers provided for various CPU architectures.

The work here was initially based on lncm/docker-bitcoind and ruimarinho/docker-bitcoin-core, but has significantly diverged since.

Details

  • All git-tags (and most commits) are signed by ABEDC4489B9188E45C2342A82E91240B293BA5D3
  • All git-tags (and most commits) are opentimestamps-ed
  • All builds aim to be maximally auditable. After git tag push, the entire process is automated, with each step printed, and the code aiming to be easy to follow
  • All builds are based on [Debian]
  • Cross-compiled builds are done using our (also auditable) qemu
  • Each build produces binaries for: amd64, arm64v8, and arm32v7
  • All architectures are aggregated under an easy-to-use Docker Manifest
  • All git-tags are build automatically, and with an auditable trace
  • Each successful build of a git tag pushes result Docker image to Docker Hub
  • Images pushed to Docker Hub are never deleted (even if lnd version gets overridden, previous one is preserved)
  • All final images are based on Debian for minimum base size
  • Each git-tag build is tagged with a unique tag number
  • Each minor version is stored in a separate directory (for the ease of backporting patches)

Tags

NOTE: For an always up-to-date list see: https://hub.docker.com/repository/docker/reddcoincore/dnsseed/tags

  • v0.05
  • v0.04
  • v0.03
  • v0.01

Usage

Pull

First pull the image from Docker Hub:

docker pull reddcoincore/dnsseed:v0.05

NOTE: Running above will automatically choose native architecture of your CPU.

Or, to pull a specific CPU architecture:

docker pull reddcoincore/dnsseed:v0.05

Start

First of all, create a directory in your home directory called dnsseed

Then to start dnsseed, run:

docker run  -it  --rm  --detach \
    -v ./dnsseed:/src \
    -p 53:53 \
    --name dnsseed \
    reddcoincore/dnsseed:v0.05

That will run dnsseed such that:

  • all data generated by the container is stored in ~/dnsseed on your host machine,
  • port 53 will be reachable for the dns communication,
  • created container will get named dnsseed,
  • that command will run the container in the background and print the ID of the container being run.

Docker Compose

Here is a docker-compose.yml

services:
  reddcoin-seeder:
    container_name: dnsseed
    image: reddcoincore/dnsseed:v0.05
    command: dnsseed -h dnsseed.example.com -n vps.example.com -p 53 -m [email protected] -v 80001
    restart: on-failure
    volumes:
      - ./dnsseed:/src
    ports:
      - 53:53/udp

First, ensure that the ./dnsseed/ folder is in the directory containing docker-compose.yml. Then, Docker Compose will mount the ./dnsseed/ folder to /src.

Troubleshooting

Typically, you'll need root privileges to listen to port 53 (name service).

One solution is using an iptables rule (Linux only) to redirect it to a non-privileged port:

$ iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-port 15353

If properly configured, this will allow you to run dnsseed in userspace, using the -p 15353 option.

About

Flexible multi-arch (amd & amd64) Reddcoin DNSSeed Docker image

Resources

License

Stars

Watchers

Forks

Packages

No packages published