Docker Development Setup
The easiest and most reliable way to build Cromite is using the pre-built Docker images. These images contain all dependencies, tools, and the complete Chromium source with Cromite patches already applied.Why Use Docker?
Building Chromium from source requires:- Significant disk space (100GB+ for full build)
- Complex dependencies (specific versions of build tools, libraries, SDKs)
- Lengthy setup (downloading source, applying patches, configuring environment)
All Docker images are available at uazo/cromite-build on Docker Hub
Docker Image Types
Cromite’s build process uses a layered Docker image approach:uazo/build-deps
Base dependencies imageContains:
- Build tools (GCC, Clang, LLVM)
- depot_tools (Chromium build system)
- Android SDK/NDK
- Python, Go, Node.js
- System libraries and headers
uazo/build-deps:<VERSION>uazo/chromium
Chromium source imageBuilt on top of build-deps, adds:
- Complete Chromium source code
- Chromium version from
build/RELEASE - Synced to specific version tag
uazo/chromium:<VERSION>uazo/cromite
Cromite patches appliedBuilt on top of chromium, adds:
- All 333 Cromite patches
- Cromite-specific build files
- Applied in order from
cromite_patches_list.txt
uazo/cromite:<VERSION>-<COMMIT>Quick Start
Find Your Image Version
Each Cromite release description contains the corresponding Docker image name.For example, for Cromite version 145.0.7632.120 with commit fac696b3a422f196f698e6543913946ddaba1ef3:
Container Workspace Setup
Once inside the container, set up your environment:Workspace Directory Structure
The container workspace is organized as:Building Inside Docker
Android Build
Linux Build
Windows Build (Cross-Compilation)
Build times vary:
- Full build: 2-4 hours (depending on CPU cores)
- Incremental build: 5-30 minutes
- Android APK: ~3 hours
- Linux/Windows: ~2.5 hours
Docker Environment Variables
Key environment variables you can configure:Base workspace directory inside the container
Build debug version instead of release
true: Debug build with symbolsfalse: Optimized release build
Path to Android keystore for signing APKs
Password for Android keystore
Preference hash seed for secure preferences
Docker Build Workflow
The complete Docker build process (as used in GitHub Actions):This workflow pulls pre-built images if available, otherwise builds them locally. The GitHub Actions workflow at
.github/workflows/build_cromite.yaml shows the complete process.Docker Image Maintenance
Cleaning Up Old Images
Inspecting Images
Platform Support
The Docker images support building for:Android
- arm64-v8a
- armeabi-v7a
- x86_64
- SystemWebView
Linux
- x86_64
- Desktop browser
Windows
- x86_64
- Cross-compiled from Linux
Building macOS
Not supported(Requires macOS host)
Troubleshooting
Container won't start
Container won't start
Check if the image exists:If not found, pull from Docker Hub:
Out of disk space
Out of disk space
Docker images are large (20-40GB). Free up space:
Build fails with permission errors
Build fails with permission errors
Ensure you’re running as the correct user inside the container:
PATH not set correctly
PATH not set correctly
Re-run the PATH setup:
Image version mismatch
Image version mismatch
Make sure the VERSION matches the RELEASE file:
Advanced Usage
Mounting Local Directories
To persist build outputs or work with local patches:Using Proxy
If you need to use a proxy:Running Specific Build Targets
Next Steps
Building Guide
Complete guide to building Cromite from source
Patch System
Understanding Cromite’s 333 patches
Docker Hub
Browse all available Docker images
GitHub Workflow
See the complete build automation