Working with Miniflux’s code base is pretty simple:
- Checkout the Source Code
- Remove Precompiled Binaries
- Run the Software Locally
- Unit Tests
- Integration Tests
- Build Docker Image
- Create RPM package
- Create Debian package
- Go >= 1.16
Checkout the Source Code ¶
Fork the project and clone the repository locally.
Miniflux uses Go Modules to manage dependencies.
Build the application for the actual platform:
To define a specific version number:
make miniflux VERSION=2.0.29
# Build all binaries for all supported platforms make build # Build Linux binary for amd64 architecture make linux-amd64 # ARM 64 bits (arm64v8) make linux-arm64 # ARM 32 bits variant 7 (arm32v7) make linux-armv7 # ARM 32 bits variant 6 (arm32v6) make linux-armv6 # ARM 32 bits variant 5 (arm32v5) make linux-armv5 # Mac OS (amd64) make darwin-amd64 # Mac OS (arm64 / Apple Silicon) make darwin-arm64 # FreeBSD (amd64) make freebsd-amd64 # OpenBSD (amd64) make openbsd-amd64 # Windows (amd64) make windows-amd64
Remove Precompiled Binaries ¶
Run the Software Locally ¶
This command runs the software in debug mode.
Unit Tests ¶
Integration Tests ¶
Integration tests are testing API endpoints with a real database.
You need to have Postgresql installed locally preconfigured with the user “postgres” and the password “postgres”.
To run integration tests, execute the following command:
make integration-test ; make clean-integration-test
If the test suite fail, you will see the logs of Miniflux.
Build Docker Image ¶
Miniflux supports different architectures for Docker images:
Here an example to build only the
Build all images and override the image name:
make docker-images DOCKER_IMAGE=your-namespace/miniflux
Override the build version:
make docker-images DOCKER_IMAGE=your-namespace/miniflux VERSION=42
Note that you need to enable Docker experimental features to build multi platform images. Miniflux uses buildx.
Build RPM package ¶
You can build your own RPM package by using this command:
Note that Docker is required to generate the RPM package. All build operations are running inside a container.
Build Debian package ¶
You can build your own Debian package by using this command:
Use the following command to build packages for all supported architectures (
Note that Docker is required to generate the Debian packages. All build operations are running inside a container.