Update installation documentation for Raspberry Pi deployments. #4252

Closed
opened 2025-12-29 18:34:15 +01:00 by adam · 2 comments
Owner

Originally created by @BCurrell on GitHub (Nov 7, 2020).

Change Type

[x] Addition
[ ] Correction
[ ] Deprecation
[ ] Cleanup (formatting, typos, etc.)

Area

[x] Installation instructions
[ ] Configuration parameters
[ ] Functionality/features
[ ] REST API
[ ] Administration/development
[ ] Other

Proposed Changes

Whilst setting up Netbox on a Raspberry Pi for testing, I was running into an issue during the database migration part of upgrade.sh:

Applying database migrations (python3 netbox/manage.py migrate)...
SystemCheckError: System check identified some issues:

ERRORS:
dcim.DeviceType.front_image: (fields.E210) Cannot use ImageField because Pillow is not installed.
        HINT: Get Pillow at https://pypi.org/project/Pillow/ or run command "python -m pip install Pillow".
dcim.DeviceType.rear_image: (fields.E210) Cannot use ImageField because Pillow is not installed.
        HINT: Get Pillow at https://pypi.org/project/Pillow/ or run command "python -m pip install Pillow".
extras.ImageAttachment.image: (fields.E210) Cannot use ImageField because Pillow is not installed.
        HINT: Get Pillow at https://pypi.org/project/Pillow/ or run command "python -m pip install Pillow".

I confirmed Pillow was installed, but it still wasn't liking it. It turns out that if you install Pillow on a Raspberry Pi (which is from piwheels, not pypi), there are a couple more system dependencies required.

sudo apt install libjbig0 liblcms2-2 libopenjp2-7 libtiff5 libwebp6 libwebpdemux2 libwebpmux3

Source: https://www.piwheels.org/project/pillow/

I couldn't find any reference to this when googling around, so I'm not sure if its a rare issue, or people don't tend to deploy Netbox to a Raspberry Pi.

If you're happy with my suggestion, I'll be glad to submit a PR with the changes.

Originally created by @BCurrell on GitHub (Nov 7, 2020). <!-- NOTE: IF YOUR ISSUE DOES NOT FOLLOW THIS TEMPLATE, IT WILL BE CLOSED. Please indicate the nature of the change by placing an X in one of the boxes below. --> ### Change Type [x] Addition [ ] Correction [ ] Deprecation [ ] Cleanup (formatting, typos, etc.) ### Area [x] Installation instructions [ ] Configuration parameters [ ] Functionality/features [ ] REST API [ ] Administration/development [ ] Other <!-- Describe the proposed change(s). --> ### Proposed Changes Whilst setting up Netbox on a Raspberry Pi for testing, I was running into an issue during the database migration part of upgrade.sh: ```none Applying database migrations (python3 netbox/manage.py migrate)... SystemCheckError: System check identified some issues: ERRORS: dcim.DeviceType.front_image: (fields.E210) Cannot use ImageField because Pillow is not installed. HINT: Get Pillow at https://pypi.org/project/Pillow/ or run command "python -m pip install Pillow". dcim.DeviceType.rear_image: (fields.E210) Cannot use ImageField because Pillow is not installed. HINT: Get Pillow at https://pypi.org/project/Pillow/ or run command "python -m pip install Pillow". extras.ImageAttachment.image: (fields.E210) Cannot use ImageField because Pillow is not installed. HINT: Get Pillow at https://pypi.org/project/Pillow/ or run command "python -m pip install Pillow". ``` I confirmed Pillow was installed, but it still wasn't liking it. It turns out that if you install Pillow on a Raspberry Pi (which is from piwheels, not pypi), there are a couple more system dependencies required. ```none sudo apt install libjbig0 liblcms2-2 libopenjp2-7 libtiff5 libwebp6 libwebpdemux2 libwebpmux3 ``` Source: [https://www.piwheels.org/project/pillow/](https://www.piwheels.org/project/pillow/) I couldn't find any reference to this when googling around, so I'm not sure if its a rare issue, or people don't tend to deploy Netbox to a Raspberry Pi. If you're happy with my suggestion, I'll be glad to submit a PR with the changes.
adam closed this issue 2025-12-29 18:34:15 +01:00
Author
Owner

@BCurrell commented on GitHub (Nov 7, 2020):

It looks like there were at least 2 references to this issue actually:

https://www.reddit.com/r/sysadmin/comments/evbpew/netbox_on_raspberry_pi_4/

https://www.techcoil.com/blog/how-to-setup-python-imaging-library-pillow-on-raspbian-stretch-lite-for-processing-images-on-your-raspberry-pi/

I would've seen this earlier but Reddit was down. Whoops.

@BCurrell commented on GitHub (Nov 7, 2020): It looks like there were at least 2 references to this issue actually: https://www.reddit.com/r/sysadmin/comments/evbpew/netbox_on_raspberry_pi_4/ https://www.techcoil.com/blog/how-to-setup-python-imaging-library-pillow-on-raspbian-stretch-lite-for-processing-images-on-your-raspberry-pi/ I would've seen this earlier but Reddit was down. Whoops.
Author
Owner

@jeremystretch commented on GitHub (Nov 9, 2020):

This would not belong in NetBox's documentation because the issue at hand appears to be specific to the Raspberry Pi platform and would affect any Python application which requires the Pillow library, not just NetBox.

@jeremystretch commented on GitHub (Nov 9, 2020): This would not belong in NetBox's documentation because the issue at hand appears to be specific to the Raspberry Pi platform and would affect _any_ Python application which requires the Pillow library, not just NetBox.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#4252