Files
palladiumcore/docker-build
Davide Grilli 15f6512419 refactor(docker): restructure docker build system for linux-x86_64
- Replace generic Dockerfile with platform-specific Dockerfile.linux-x86_64
- Simplify .dockerignore to essential patterns
- Update build script with improved container build process and output handling
- Enhance README with detailed build process documentation
2025-10-29 12:04:27 +01:00
..

Docker Build System for Palladium Core

Docker-based build system for creating Palladium Core binaries using Ubuntu 20.04+ containers on x86_64 architecture.

Build Environment

All builds use:

  • Base OS: Ubuntu 20.04 or newer
  • Container Platform: Docker
  • Host Architecture: x86_64 (AMD64)
  • Build Method: Cross-compilation for target platforms

Linux x86_64 Build

Overview

This build creates native Linux x86_64 binaries using a Docker container based on Ubuntu 20.04. The build process:

  1. Builds a Docker image (palladium-builder:linux-x86_64-ubuntu20.04) containing all build dependencies
  2. Copies the entire repository into the container during image build
  3. Runs the build process entirely inside the container using the depends system
  4. Outputs binaries to a mounted volume for host access

Quick Start

cd docker-build
chmod +x build-linux-x86_64.sh
./build-linux-x86_64.sh

Binaries will be available in ../build/linux-x86_64/ directory.

Prerequisites

  • Docker installed and running (installation guide)
  • Sufficient disk space for the build process (at least 10 GB free)
  • Internet connection for downloading dependencies

Produced Binaries

The following binaries are built and copied to the output directory:

  • palladiumd: Main daemon
  • palladium-cli: Command-line client
  • palladium-tx: Transaction utility
  • palladium-wallet: Wallet utility
  • palladium-qt: GUI application (if Qt dependencies are available)

Output Directory

Binaries are placed in: ../build/linux-x86_64/ (relative to the docker-build directory)

Troubleshooting

Permission errors: The build script automatically handles file permissions using host UID/GID

Build failed: Run interactive container for debugging:

docker run --rm -it -v "$(pwd)/../build/linux-x86_64":/out palladium-builder:linux-x86_64-ubuntu20.04 bash

Docker build issues: Ensure Docker has sufficient resources and the daemon is running

Missing dependencies: The Dockerfile installs all required build dependencies automatically