add dogecoin-node Dockerfile

This commit is contained in:
2025-05-03 02:41:15 -07:00
parent 24f131b670
commit df349dff48
2 changed files with 96 additions and 2 deletions

View File

@@ -1,3 +1,59 @@
# dogecoin-node # Dogecoin Node Multiarchitecture Docker
Multiarch Dockerized Dogecoin node with automated builds for amd64/arm64. A Dockerized Dogecoin node built for `linux/amd64` and `linux/arm64` architectures, based on Debian Bookworm. This project provides a lightweight, secure, and automated way to deploy a Dogecoin full node using Docker Buildx and multiarch manifests. Automated builds are triggered on new Dogecoin releases, ensuring up-to-date images pushed to Docker Hub.
## Features
- Multiarchitecture support for seamless deployment on x86_64 and ARM64 platforms.
- Built from source for compatibility and reliability, using Dogecoin v1.14.9.
- Automated builds via Gitea Actions, triggered by new upstream Dogecoin releases.
- Slim Debian-based image with minimal dependencies for efficiency.
- Configurable data volume and exposed port (22556) for easy integration.
## Usage
Run the Dogecoin node with a persistent data volume:
```bash
docker run -v dogecoin-data:/app/dogecoin -p 22556:22556 myusername/dogecoin-node:latest
```
Options:
- `-v dogecoin-data:/app/dogecoin`: Persists blockchain data.
- `-p 22556:22556`: Exposes the Dogecoin P2P port.
- Add `-e DOGECOIN_VERSION=<version>` to pin a specific version.
## Setup
1. **Pull the Image**:
```bash
docker pull myusername/dogecoin-node:latest
```
2. **Run the Container**:
Use the command above to start the node.
3. **Build Locally** (optional):
```bash
docker buildx build --platform linux/amd64,linux/arm64 -t myusername/dogecoin-node:latest --push .
```
## Automation
This repository uses Gitea Actions to:
- Check for new Dogecoin releases daily.
- Build multiarch images for `linux/amd64` and `linux/arm64`.
- Push images to Docker Hub with a manifest for seamless pulling.
See `.gitea/workflows/build-dogecoin.yml` for details.
## Contributing
Contributions are welcome! To contribute:
1. Fork the repository.
2. Create a feature branch (`git checkout -b feature/my-feature`).
3. Commit changes (`git commit -m 'Add my feature'`).
4. Push to the branch (`git push origin feature/my-feature`).
5. Open a pull request.
Please test changes with `docker buildx` and ensure compatibility with both architectures.
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
## Acknowledgments
- [Dogecoin Project](https://github.com/dogecoin/dogecoin) for the upstream codebase.
- The Dogecoin community for their open-source contributions.

38
docker/Dockerfile Normal file
View File

@@ -0,0 +1,38 @@
ARG DOGECOIN_VERSION=1.14.9
ARG DEBIAN_BASE=debian:bookworm-slim
FROM ${DEBIAN_BASE} AS builder
ARG DOGECOIN_VERSION
RUN apt-get update && apt-get install -y --no-install-recommends \
wget \
tar \
git \
gnupg \
ca-certificates && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
WORKDIR /tmp
RUN wget https://github.com/dogecoin/dogecoin/releases/download/v${DOGECOIN_VERSION}/dogecoin-${DOGECOIN_VERSION}-x86_64-linux-gnu.tar.gz && \
wget https://github.com/dogecoin/dogecoin/releases/download/v${DOGECOIN_VERSION}/SHA256SUMS.asc && \
git clone --depth 1 --shallow-submodules https://github.com/dogecoin/dogecoin && \
gpg --import dogecoin/contrib/gitian-keys/*.pgp && \
gpg --verify SHA256SUMS.asc && \
tar -xzvf dogecoin-${DOGECOIN_VERSION}-x86_64-linux-gnu.tar.gz --strip-components=1 -C /tmp/dogecoin
FROM debian:bookworm-slim
ARG DOGECOIN_VERSION
COPY --from=builder /tmp/dogecoin /opt/dogecoin
ENV PATH="$PATH:/opt/dogecoin/bin"
VOLUME ["/app/dogecoin"]
EXPOSE 22556
WORKDIR /app
CMD ["/opt/dogecoin/bin/dogecoind", "-printtoconsole", "-datadir=/app/dogecoin"]
LABEL name="dogecoin-node" version="${DOGECOIN_VERSION}" description="Dogecoin node container based on Debian"