Skip to content

Latest commit

 

History

History
57 lines (39 loc) · 2.92 KB

CONTRIBUTING.md

File metadata and controls

57 lines (39 loc) · 2.92 KB

Contributing to the official octoprint Docker image

Call for maintainers! Are you experienced with Docker? Are you an OctoPrint enthusiast? Do you have a hour or more of time to spare each week answering questions about octoprint-docker and reviewing PR's? Let us know!

If this sounds like you, join the OctoPrint Discord and message @CHIEFdotJS in the #dev-docker channel.

Pull Requests

  • Pull Requests that are intended to fix a bug should have a related issue. It is acceptable to create the issue at the time you open the PR.
    • Pull Requests that are for fixing typos, updating docs, or adding features/enhancements can be submitted without a related issue
    • Pull Requests that add enhancements should have an adequate description, and should make any relevant changes to documentation
  • Pull Requests that will result in new images being published must build on all supported architectures (arm64,arm/v7,amd64) (see Testing your changes on all architectures)
  • any documentation should be exclusive to this project, or affect the majority of users/contributors.
  • any packages/dependencies added to the image should be available on all supported architectures, AND:
    • should be required by the majority of users or plugins OR
    • be bundled by OctoPi (try to increase parity with usage docs of OctoPi whenever possible)

Building images

Prerequisites:

  • docker and its dependencies installed and up to date
  • buildx enabled in the docker daemon (experimental features should be true)

Simple test images

Simple test images are built only for the architecture of the machine you are on, using docker-compose.

We have simplified running the docker-compose commands using the Makefile. To build and run the test image, make your changes to the repo, then run:

make build && make up

This will build the image from the main Dockerfile, and stand it up, with the logs running in the terminal. Octoprint will be accessible on http://localhost:53333, and the config-editor will be stood up on http://localhost:8443

Testing your changes on all architectures

Before submitting your changes, you should make sure the image builds on all supported architectures.

Running make test will check to make sure your machine can build all supported architectures, and then build the image for all architectures using cache from both your local machine and the latest upstream docker image tag.

If you don't have multi-arch support enabled on your machine, you can run make setup-multi-arch to add this support.